首页 > 乐器声学 专利正文
基于人工智能的语音识别方法、装置及存储介质与流程

时间:2022-02-13 阅读: 作者:专利查询

基于人工智能的语音识别方法、装置及存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种基于人工智能的语音识别方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.目前,端到端神经网络在自动语音识别(asr)任务中逐渐取得了显著的效果,在现有模型中,ctc、编码器

解码器和ctc

注意力混合架构引起了国内外研究人员的关注。然而,由于网络结构的复杂,这些端到端模型往往面临着计算效率低的问题,此外这些模型还需要大量被标注的语音数据进行训练。众所周知,标注语音数据是一个既昂贵又耗时的任务,一个音频往往需要十倍于音频的持续时间来进行标注。因此,优化训练效率对于提高端到端语音识别系统的性能是必要的。
3.现有针对语音识别的采样策略,主要可以分为两种方法:一种方法是基于概率的最低置信度方法。该方法认为数据集中具有最低解码路径概率的数据包含了最大的信息量。然而,最低置信度方法只考虑了音频样例中最可能的解码路径的概率,而没有考虑所有解码路径的概率。另一种流行的方法是预期梯度长度。预期梯度长度选择预计具有最大梯度长度的样例,并使用神经网络逼近真实的梯度长度。但是,因为异常值通常具有很大的梯度,这种方法存在对异常值很敏感的问题。此外,梯度预测网络与语音识别网络分开训练,使得整个网络为非端到端的结构。


技术实现要素:

4.本发明提供一种基于人工智能的语音识别方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高语音识别的效率和精度。
5.为实现上述目的,本发明提供的一种基于人工智能的语音识别方法,包括:将获取的训练数据输入预设联合识别模型的语音识别模块中,获取所述语音识别模块的输出数据以及第一目标任务损失;
6.将所述输出数据输入所述联合识别模型的损失预测模块中,以获取所述损失预测模块的第二目标任务损失;
7.基于所述第一目标任务损失和所述第二目标任务损失,获取所述联合识别模型的总任务损失;
8.基于所述训练数据对所述联合识别模型进行迭代训练,直至所述总任务损失收敛在预设范围内,形成联合识别模型;
9.基于所述联合识别模型中的语音识别模块对待检测语音信号进行识别,并获取对应的识别结果。
10.此外,可选的技术方案是,所述获取所述语音识别模块的输出数据以及第一目标任务损失的步骤包括:
11.基于所述语音识别模块中的编码器网络对所述训练数据进行编码处理,以获取与
所述训练数据对应的隐藏特征,作为编码器输出;
12.基于所述编码器输出,通过所述语音识别模块中的解码器网络输出与所述编码器输出相对应的文本标签序列,作为解码器输出;
13.获取所述隐藏特征下的所述训练数据的真实文本序列的负对数似然,作为所述语音识别模块的ctc损失,并基于所述文本标签序列和所述真实文本序列的交叉熵损失,确定所述语音识别模块的注意力损失;
14.基于所述ctc损失和所述注意力损失,确定所述语音识别模块的第一目标任务损失。
15.此外,可选的技术方案是,所述语音识别模块的ctc损失的表达公式如下:
[0016][0017]
其中,y表示所述真实文本序列,h表示所述隐藏特征,t表示第t个隐藏特征,p(y|h
t
)表示所述真实文本序列在第t个隐藏特征处的概率;
[0018]
所述注意力损失的表达公式如下:
[0019][0020]
其中,y表示所述真实文本序列,g=(g1,g2,...,g
s
)表示所述解码器网络输出的隐藏特征,s表示所述真实文本序列的长度,表示所述真实文本序列中的目标标签y
s
在所述解码器网络输出的步骤s处出现的频率,表示在步骤s

1中预测出的文本序列中的字符;
[0021]
所述第一目标任务损失的表达公式如下:
[0022][0023]
其中,表示所述语音识别模块的ctc损失,表示所述注意力损失,λ表示缩放因子,0≤λ≤1。
[0024]
此外,可选的技术方案是,所述获取所述损失预测模块的第二目标任务损失的步骤包括:
[0025]
将所述输出数据的编码器输出输入所述损失预测模块的ctc损失预测模块中,获取与所述训练数据对应的ctc预测损失;
[0026]
将所述输出数据的解码器输出输入所述损失预测模块的注意力损失预测模块中,获取与所述训练数据对应的注意力预测损失;
[0027]
基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失。
[0028]
此外,可选的技术方案是,所述基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失的步骤包括:
[0029]
基于所述ctc预测损失获取与所述ctc预测损失相对应的第一误差损失函数;
[0030]
基于所述注意力预测损失获取与所述注意力预测损失相对应的第二误差损失函数;
[0031]
基于所述第一误差损失函数和所述第二误差损失函数,确定所述损失预测模块的第二目标任务损失。
[0032]
此外,可选的技术方案是,所述第一误差损失函数的表达公式如下:
[0033][0034]
所述第二误差损失函数的表达公式如下:
[0035][0036]
所述第二目标任务损失的表达公式如下:
[0037]
ε=λε
ctc
+(1

λ)ε
attention
[0038]
其中,表示所述语音识别模块的ctc损失,表示所述ctc预测损失,表示所述注意力损失,表示所述注意力预测损失,β表示阈值因子,λ表示缩放因子,0≤λ≤1。
[0039]
此外,可选的技术方案是,所述总任务损失的表达公式如下:
[0040][0041]
其中,表示所述第一目标任务损失,ε表示所述第二目标任务损失,表示所述语音识别模块的ctc损失,表示所述注意力损失,ε
ctc
表示所述第一误差损失函数,ε
attention
表示所述第二误差损失函数,μ表示超参数,λ表示缩放因子,0≤λ≤1。
[0042]
为了解决上述问题,本发明还提供一种基于人工智能的语音识别装置,所述装置包括:
[0043]
第一目标任务损失获取单元,用于将获取的训练数据输入预设联合识别模型的语音识别模块中,获取所述语音识别模块的输出数据以及第一目标任务损失;
[0044]
第二目标任务损失获取单元,用于将所述输出数据输入所述联合识别模型的损失预测模块中,以获取所述损失预测模块的第二目标任务损失;
[0045]
总任务损失获取单元,用于基于所述第一目标任务损失和所述第二目标任务损失,获取所述联合识别模型的总任务损失;
[0046]
联合识别模型形成单元,用于基于所述训练数据对所述联合识别模型进行迭代训练,直至所述总任务损失收敛在预设范围内,形成联合识别模型;
[0047]
识别结果获取单元,用于基于所述联合识别模型中的语音识别模块对待检测语音信号进行识别,并获取对应的识别结果。
[0048]
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
[0049]
存储器,存储至少一个指令;及
[0050]
处理器,执行所述存储器中存储的指令以实现上述所述的基于人工智能的语音识别方法。
[0051]
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的基于人工智能的语音识别方法。
[0052]
本发明实施例使用损失预测的主动学习方法在联合识别联合模型上进行语音识别,通过语音识别模块asr进行语音识别任务,通过损失预测模块lp模块预测ctc和注意力损失,能够根据样例的损失预测结果作为样例排序准测,可以应用于需要从未标注样例中寻找最有价值的样例的语音识别任务中,还可以和未标注数据的半监督学习相结合,从而进一步提高语音识别模块的训练效率和识别精度。
附图说明
[0053]
图1为本发明一实施例的基于人工智能的语音识别方法的流程示意图;
[0054]
图2为本发明一实施例的语音识别模块和损失预测模块的结构示意图;
[0055]
图3为本发明一实施例提供的基于人工智能的根据本发明实施例的联合识别模型的训练结构示意图;
[0056]
图4为本发明一实施例提供的实现基于人工智能的语音识别装置的单元模块示意图;
[0057]
图5为本发明一实施例提供的实现基于人工智能的语音识别方法的电子设备的内部结构示意图;
[0058]
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0059]
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0060]
为解决现有语音识别方案所存在的只考虑音频样例中最可能的解码路径的概率,而没有考虑所有解码路径的概率,以及存在对异常值很敏感等问题,本发明提供一种基于人工智能的语音识别方法,待检测语音信号可包括各种长度的音频数据,通过语音识别模块的处理后,能够获取对应的概率最高的文本信息,进而实现语音信号至文本信号的识别转换,识别准确度高,且模型训练所需要的样本量少,标注成本也低,适用于多种语音识别场景中。
[0061]
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0062]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0063]
本发明提供一种基于人工智能的语音识别方法。参照图1所示,为本发明一实施例提供的基于人工智能的语音识别方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
[0064]
在本实施例中,基于人工智能的语音识别方法包括:
[0065]
s100:将获取的训练数据输入预设联合识别模型的语音识别模块中,获取所述语音识别模块的输出数据以及第一目标任务损失;
[0066]
s200:将所述输出数据输入所述联合识别模型的损失预测模块中,以获取所述损失预测模块的第二目标任务损失;
[0067]
s300:基于所述第一目标任务损失和所述第二目标任务损失,获取所述联合识别模型的总任务损失;
[0068]
s400:基于所述训练数据对所述联合识别模型进行迭代训练,直至所述总任务损失收敛在预设范围内,形成联合识别模型;
[0069]
s500:基于所述联合识别模型中的语音识别模块对待检测语音信号进行识别,并获取对应的识别结果。
[0070]
具体地,联合识别模型可采用asr(automatic speech recognition,自动语音识别)与lp(loss predict,损失预测)相结合的模型形式,即本发明的联合识别模型也可理解为asr/lp联合模型,进一步地,预设的联合识别模型包括语音识别模块和损失预测模块,语音识别模块包括编码器网络和解码器网络,损失预测模块进一步包括ctc损失预测模块和注意力损失预测模块,语音识别模块的任务是通过编码器网络和解码器网络,获取与训练数据对应的预测的文本句子,损失预测模块则根据语音识别模块中提取的隐藏特征,对预测的文本句子进行损失计算。在上述步骤s100中,所述获取所述语音识别模块的输出数据以及第一目标任务损失的步骤可进一步包括:
[0071]
s110:基于所述语音识别模块中的编码器网络对所述训练数据进行编码处理,以获取与所述训练数据对应的隐藏特征,作为编码器输出;
[0072]
s120:基于所述编码器输出,通过所述语音识别模块中的解码器网络输出与所述编码器输出相对应的文本标签序列,作为解码器输出;其中,语音识别模块的输出数据包括上述编码输出和解码器输出。
[0073]
s130:获取所述隐藏特征下的所述训练数据的真实文本序列的负对数似然,作为所述语音识别模块的ctc损失,并基于所述文本标签序列和所述真实文本序列的交叉熵损失,确定所述语音识别模块的注意力损失;
[0074]
s140:基于所述ctc损失和所述注意力损失,确定所述语音识别模块的第一目标任务损失。
[0075]
作为具体示例,图2示出了根据本发明实施例的语音识别模块和损失预测模块的示意结构。
[0076]
如图2所示,将未标注的数据以及部分标注后的数据作为训练数据输入音识别模块处理,然后通过损失预测模型获取对应的文本标签序列的损失排序,并基于排序选取前k个作为人工标注的目标数据,标注后在此输入语音识别模块进行迭代训练。其中,编码器网络和解码器网络是分别对应训练数据的输入序列和输出序列的两个循环神经网络,可应用过程中,可以在输入序列和输入序列的最后附加特殊字符,表示序列的终止,即当输出预设的特殊字符时,例如,<eso>(end of sequence)即可终止当前的输出序列。
[0077]
具体地,对于给定的训练数据的音频样例x和真实文本序列y,可通过语音识别模块获取ctc损失和注意力损失,语音识别模块主要包括两部分:θ
asr
=[θ
encoder

decoder
],其中
θ
encoder
表示编码器网络,θ
decoder
表示解码器网络,编码器网络将输入的训练数据的语音特征序列x=(x1,x2,...,x
t
)转换为隐藏特征h=(h1,h2,...,h
t
),进而解码器网络根据该隐藏特征输出一个文本标签序列中的一个字符,其中t表示语音特征的音频帧长度,s表示文本标签序列的长度。
[0078]
此外,语音识别模块的ctc损失可定义为在隐藏特征h,h=θ
encoder
(x)的条件下的训练数据的真实文本序列的负对数似然。
[0079]
具体地,所述语音识别模块的ctc损失的表达公式如下:
[0080][0081]
其中,y表示所述真实文本序列,h表示所述隐藏特征,t表示第t个隐藏特征,p(y|h
t
)表示所述真实文本序列在第t个隐藏特征处的概率。
[0082]
此外,注意力损失可定义为在解码器网络的输出隐藏特征g条件下预测的文本标签序列和真实文本序列之间的交叉熵损失,其中解码器网络中的隐藏特征g,g=(g1,g2,...,g
s
)是与编码器网络中的隐藏特征h相对应的,所述注意力损失的表达公式如下:
[0083][0084]
其中,y表示所述真实文本序列,g=(g1,g2,...,g
s
)表示所述解码器网络输出的隐藏特征/状态,s表示所述真实文本序列的长度,表示所述真实文本序列中的目标标签y
s
在所述解码器网络输出的步骤s处出现的频率,表示在步骤s

1中预测出的文本序列中的字符。
[0085]
最终的,所述第一目标任务损失的表达公式如下:
[0086][0087]
其中,表示所述语音识别模块的ctc损失,表示所述注意力损失,λ表示缩放因子,0≤λ≤1。
[0088]
在上述步骤s200中,所述获取所述损失预测模块的第二目标任务损失的步骤可会进一步包括:
[0089]
s210:将所述输出数据的编码器输出输入所述损失预测模块的ctc损失预测模块中,获取与所述训练数据对应的ctc预测损失;
[0090]
s220:将所述输出数据的解码器输出输入所述损失预测模块的注意力损失预测模块中,获取与所述训练数据对应的注意力预测损失;
[0091]
s230:基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失。
[0092]
在实例性的实施例中,可基于所述编码器输出的隐藏特征h的最后一层的隐藏特征,确定所述ctc预测损失;以及,基于解码器的隐藏特征g,确定所述注意力预测损失。
[0093]
具体地,损失预测模块也由两部分组成,其中,θ
ctc
表示损失预测模块,对应的ctc预测损失可定义为给定训练数据的音频样例x来预测ctc损失(即ctc预测损失),可首先通过语音识别模块的编码器网络θ
encoder
获取隐藏特征,之后将θ
encoder
的最后一层隐藏特征作为θ
ctc
的输入,进而ctc预测损失可表示为:
[0094][0095]
同理,注意力损失预测模块θ
attention
的注意力预测损失可基于解码器的隐藏特征g计算获取,即注意力预测损失可表示为:
[0096][0097]
最后,根据ctc预测损失和注意力预测损失可确定所述损失预测模块的目标任务损失。
[0098]
作为具体示例,在本方案的一个优选实施方式中,为了衡量真实损失和预测损失之间的差异,可使用带有阈值因子β的smoothl1loss误差函数(l1误差和mse误差之间的平滑版本)对各损失进行优化处理,具体的步骤s230可进一步包括:
[0099]
s231:基于所述ctc预测损失获取与所述ctc预测损失相对应的第一误差损失函数;
[0100]
s232:基于所述注意力预测损失获取与所述注意力预测损失相对应的第二误差损失函数;
[0101]
s233:基于所述第一误差损失函数和所述第二误差损失函数,确定所述损失预测模块的第二目标任务损失。
[0102]
具体地,所述第一误差损失函数的表达公式如下:
[0103][0104]
所述第二误差损失函数的表达公式如下:
[0105][0106]
所述第二目标任务损失的表达公式如下:
[0107]
ε=λε
ctc
+(1

λ)ε
attention
[0108]
其中,表示所述语音识别模块的ctc损失,表示所述ctc预测损失,表示所述注意力损失,表示所述注意力预测损失,β表示阈值因子,λ表示缩放因子,0≤λ≤1。
[0109]
最终,所述总任务损失的表达公式如下:
[0110]
[0111]
其中,表示所述第一目标任务损失,ε表示所述第二目标任务损失,表示所述语音识别模块的ctc损失,表示所述注意力损失,ε
ctc
表示所述第一误差损失函数,ε
attention
表示所述第二误差损失函数,μ表示超参数,λ表示缩放因子,0≤λ≤1。
[0112]
在上述步骤s300中,总任务损失主要包括四部分组成:ctc损失注意力损失ctc预测损失ε
ctc
、注意力预测损失ε
attention
,总任务损失的公式可表示为:
[0113][0114]
其中,λ表示缩放因子,0≤λ≤1,μ表示超参数,联合识别模型的语音识别模块和损失预测模块在总任务损失上进行联合训练。
[0115]
作为具体示例,图3示出了根据本发明实施例的联合识别模型的训练结构。
[0116]
如图3所示,训练数据的声学特征输入编码器网络后,通过多头自注意力的处理后输入add&norm层,其中add表示残差连接(residual connection)用于防止网络退化,norm表示layer normalization,用于对每一层的激活值进行归一化,最后通过前馈模块和另一add&norm层输出至ctc损失预测模块以及解码器网络中的多头自注意力层,解码器网络中的文本嵌入,在模型训练过程中可采用通过排序准则推荐出的部分样例进行人工标注后输入解码器网络,在应用过程中可设置为词表等文本形式,最终通过解码器网路的add&norm层输出至全连接层,获取预测文本的概率,并选取概率最高的结果作为最终的预测结果。
[0117]
其中,真实的ctc损失以及真实的注意力损失可理解为上述内容中阐述到的ctc损失和注意力损失,预测的ctc损失以及预测的注意力损失可理解为上述内容中阐述到的ctc预测损失以及注意力预测损失,下文中不再进行一一赘述。
[0118]
进而在步骤s400中,训练数据包括未标注的数据集du和已标注的数据集dl,在迭代训练的每次迭代中,均可从du中选择前预设个数排序评价值最高的样例数据进行人工标注,进而可通过训练数据的音频帧长度t对进行归一化,通过文本标签序列的长度s对进行归一化,以将二者转换为相同的尺度,可避免联合识别模型总是选择较长的音频样例来进行训练(较长的音频样例具有较大的损失值,其对应的排序评级值也较高),进而可通过人工对数据集du中的排序靠前的k个样例集da进行标注,在下一次迭代训练中,联合识别模型可在d
l
∪d
a
的数据上再次进行训练,直至所述语音识别模块θ
asr
收敛或达到所需的性能为止。
[0119]
最后,通过训练完成的联合识别模型中的语音识别模块对嗲检测语音信号进行识别,并获取对应的识别结果。其中,待检测语音信号可包括各种长度的音频数据,通过语音识别模块的处理后,能够获取对应的概率最高的文本信息,进而实现语音信号至文本信号的识别转换,识别准确度高,且模型训练所需要的样本量少,标注成本也低,适用于多种语音识别场景中。
[0120]
如图4所示,是本发明基于人工智能的语音识别装置的功能模块图。
[0121]
本发明所述基于人工智能的语音识别装置200可以安装于电子设备中。根据实现的功能,所述基于人工智能的语音识别装置可以包括第一目标任务损失获取单元210、第二目标任务损失获取单元220、总任务损失获取单元230、联合识别模型形成单元240和识别结果获取单元250。本发所述单元也可以称之为模块,是指一种能够被电子设备处理器所执
行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
[0122]
在本实施例中,关于各模块/单元的功能如下:
[0123]
第一目标任务损失获取单元210,用于将获取的训练数据输入预设联合识别模型的语音识别模块中,获取所述语音识别模块的输出数据以及第一目标任务损失;
[0124]
第二目标任务损失获取单元220,用于将所述输出数据输入所述联合识别模型的损失预测模块中,以获取所述损失预测模块的第二目标任务损失;
[0125]
总任务损失获取单元230,用于基于所述第一目标任务损失和所述第二目标任务损失,获取所述联合识别模型的总任务损失;
[0126]
联合识别模型形成单元240,用于基于所述训练数据对所述联合识别模型进行迭代训练,直至所述总任务损失收敛在预设范围内,形成联合识别模型;
[0127]
识别结果获取单元250,用于基于所述联合识别模型中的语音识别模块对待检测语音信号进行识别,并获取对应的识别结果。
[0128]
具体地,联合识别模型可采用asr(automatic speech recognition,自动语音识别)与lp(loss predict,损失预测)相结合的模型形式,即本发明的联合识别模型也可理解为asr/lp联合模型,进一步地,预设的联合识别模型包括语音识别模块和损失预测模块,语音识别模块包括编码器网络和解码器网络,损失预测模块进一步包括ctc损失预测模块和注意力损失预测模块,语音识别模块的任务是通过编码器网络和解码器网络,获取与训练数据对应的预测的文本句子,损失预测模块则根据语音识别模块中提取的隐藏特征,对预测的文本句子进行损失计算。在上述步骤第一目标任务损失获取单元210中,所述获取所述语音识别模块的输出数据以及第一目标任务损失的单元可进一步包括:
[0129]
隐藏特征获取单元,用于基于所述语音识别模块中的编码器网络对所述训练数据进行编码处理,以获取与所述训练数据对应的隐藏特征,作为编码器输出;
[0130]
解码器输出获取单元,用于基于所述编码器输出,通过所述语音识别模块中的解码器网络输出与所述编码器输出相对应的文本标签序列,作为解码器输出;其中,语音识别模块的输出数据包括上述编码输出和解码器输出。
[0131]
注意力损失确定单元,用于获取所述隐藏特征下的所述训练数据的真实文本序列的负对数似然,作为所述语音识别模块的ctc损失,并基于所述文本标签序列和所述真实文本序列的交叉熵损失,确定所述语音识别模块的注意力损失;
[0132]
第一目标任务损失确定单元,用于基于所述ctc损失和所述注意力损失,确定所述语音识别模块的第一目标任务损失。
[0133]
具体地,将未标注的数据以及部分标注后的数据作为训练数据输入音识别模块处理,然后通过损失预测模型获取对应的文本标签序列的损失排序,并基于排序选取前k个作为人工标注的目标数据,标注后在此输入语音识别模块进行迭代训练。其中,编码器网络和解码器网络是分别对应训练数据的输入序列和输出序列的两个循环神经网络,可应用过程中,可以在输入序列和输入序列的最后附加特殊字符,表示序列的终止,即当输出预设的特殊字符时,例如,<eso>(end of sequence)即可终止当前的输出序列。
[0134]
其中,对于给定的训练数据的音频样例x和真实文本序列y,可通过语音识别模块获取ctc损失和注意力损失,语音识别模块主要包括两部分:θ
asr
=[θ
encoder

decoder
],其中θ
encoder
表示编码器网络,θ
decoder
表示解码器网络,编码器网络将输入的训练数据的语音特征
序列x=(x1,x2,...,x
t
)转换为隐藏特征h=(h1,h2,...,h
t
),进而解码器网络根据该隐藏特征输出一个文本标签序列中的一个字符,其中t表示语音特征的音频帧长度,s表示文本标签序列的长度。
[0135]
此外,语音识别模块的ctc损失可定义为在隐藏特征h,h=θ
encoder
(x)的条件下的训练数据的真实文本序列的负对数似然。
[0136]
具体地,所述语音识别模块的ctc损失的表达公式如下:
[0137][0138]
其中,y表示所述真实文本序列,h表示所述隐藏特征,t表示第t个隐藏特征,p(y|h
t
)表示所述真实文本序列在第t个隐藏特征处的概率。
[0139]
此外,注意力损失可定义为在解码器网络的输出隐藏特征g条件下预测的文本标签序列和真实文本序列之间的交叉熵损失,其中解码器网络中的隐藏特征g,g=(g1,g2,...,g
s
)是与编码器网络中的隐藏特征h相对应的,所述注意力损失的表达公式如下:
[0140][0141]
其中,y表示所述真实文本序列,g=(g1,g2,...,g
s
)表示所述解码器网络输出的隐藏特征/状态,s表示所述真实文本序列的长度,表示所述真实文本序列中的目标标签y
s
在所述解码器网络输出的步骤s处出现的频率,表示在步骤s

1中预测出的文本序列中的字符。
[0142]
最终的,所述第一目标任务损失的表达公式如下:
[0143][0144]
其中,表示所述语音识别模块的ctc损失,表示所述注意力损失,λ表示缩放因子,0≤λ≤1。
[0145]
在上述第二目标任务损失获取单元220中,所述获取所述损失预测模块的第二目标任务损失可会进一步包括:
[0146]
ctc预测损失获取模块,用于将输出数据的编码器输出输入所述损失预测模块的ctc损失预测模块中,获取与所述训练数据对应的ctc预测损失;
[0147]
注意力预测损失获取模块,用于将所述输出数据的解码器输出输入所述损失预测模块的注意力损失预测模块中,获取与所述训练数据对应的注意力预测损失;
[0148]
第二目标任务损失确定模块,用于基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失。
[0149]
在实例性的实施例中,可基于所述编码器输出的隐藏特征h的最后一层的隐藏特
征,确定所述ctc预测损失;以及,基于解码器的隐藏特征g,确定所述注意力预测损失。
[0150]
具体地,损失预测模块也由两部分组成,其中,θ
ctc
表示损失预测模块,对应的ctc预测损失可定义为给定训练数据的音频样例x来预测ctc损失(即ctc预测损失),可首先通过语音识别模块的编码器网络θ
encoder
获取隐藏特征,之后将θ
encoder
的最后一层隐藏特征作为θ
ctc
的输入,进而ctc预测损失可表示为:
[0151][0152]
同理,注意力损失预测模块θ
attention
的注意力预测损失可基于解码器的隐藏特征g计算获取,即注意力预测损失可表示为:
[0153][0154]
最后,根据ctc预测损失和注意力预测损失可确定所述损失预测模块的目标任务损失。
[0155]
作为具体示例,在本方案的一个优选实施方式中,为了衡量真实损失和预测损失之间的差异,可使用带有阈值因子β的smoothl1loss误差函数(l1误差和mse误差之间的平滑版本)对各损失进行优化处理,具体的第二目标任务损失确定模块可进一步包括:
[0156]
第一误差损失函数获取子模块,用于基于所述ctc预测损失获取与所述ctc预测损失相对应的第一误差损失函数;
[0157]
第二误差损失函数获取子模块,用于基于所述注意力预测损失获取与所述注意力预测损失相对应的第二误差损失函数;
[0158]
第二目标任务损失确定子模块,用于基于所述第一误差损失函数和所述第二误差损失函数,确定所述损失预测模块的第二目标任务损失。
[0159]
具体地,所述第一误差损失函数的表达公式如下:
[0160][0161]
所述第二误差损失函数的表达公式如下:
[0162][0163]
所述第二目标任务损失的表达公式如下:
[0164]
ε=λε
ctc
+(1

λ)ε
attention
[0165]
其中,表示所述语音识别模块的ctc损失,表示所述ctc预测损失,表示所述注意力损失,表示所述注意力预测损失,β表示阈值因子,λ表示缩放因子,0≤λ≤1。
[0166]
最终,所述总任务损失的表达公式如下:
[0167][0168]
其中,表示所述第一目标任务损失,ε表示所述第二目标任务损失,表示所
述语音识别模块的ctc损失,表示所述注意力损失,ε
ctc
表示所述第一误差损失函数,ε
attention
表示所述第二误差损失函数,μ表示超参数,λ表示缩放因子,0≤λ≤1。
[0169]
在上述总任务损失获取单元230中,总任务损失主要包括四部分组成:ctc损失注意力损失ctc预测损失ε
ctc
、注意力预测损失ε
attention
,总任务损失的公式可表示为:
[0170][0171]
其中,λ表示缩放因子,0≤λ≤1,μ表示超参数,联合识别模型的语音识别模块和损失预测模块在总任务损失上进行联合训练。
[0172]
作为具体示例,训练数据的声学特征输入编码器网络后,通过多头自注意力的处理后输入add&norm层,其中add表示残差连接(residual connection)用于防止网络退化,norm表示layer normalization,用于对每一层的激活值进行归一化,最后通过前馈模块和另一add&norm层输出至ctc损失预测模块以及解码器网络中的多头自注意力层,解码器网络中的文本嵌入,在模型训练过程中可采用通过排序准则推荐出的部分样例进行人工标注后输入解码器网络,在应用过程中可设置为词表等文本形式,最终通过解码器网路的add&norm层输出至全连接层,获取预测文本的概率,并选取概率最高的结果作为最终的预测结果。
[0173]
其中,真实的ctc损失以及真实的注意力损失可理解为上述内容中阐述到的ctc损失和注意力损失,预测的ctc损失以及预测的注意力损失可理解为上述内容中阐述到的ctc预测损失以及注意力预测损失,下文中不再进行一一赘述。
[0174]
进而在联合识别模型形成单元240中,训练数据包括未标注的数据集du和已标注的数据集dl,在迭代训练的每次迭代中,均可从du中选择前预设个数排序评价值最高的样例数据进行人工标注,进而可通过训练数据的音频帧长度t对进行归一化,通过文本标签序列的长度s对进行归一化,以将二者转换为相同的尺度,可避免联合识别模型总是选择较长的音频样例来进行训练(较长的音频样例具有较大的损失值,其对应的排序评级值也较高),进而可通过人工对数据集du中的排序靠前的k个样例集da进行标注,在下一次迭代训练中,联合识别模型可在d
l
∪d
a
的数据上再次进行训练,直至所述语音识别模块θ
asr
收敛或达到所需的性能为止。
[0175]
最后,通过识别结果获取单元250训练完成的联合识别模型中的语音识别模块对嗲检测语音信号进行识别,并获取对应的识别结果。其中,待检测语音信号可包括各种长度的音频数据,通过语音识别模块的处理后,能够获取对应的概率最高的文本信息,进而实现语音信号至文本信号的识别转换,识别准确度高,且模型训练所需要的样本量少,标注成本也低,适用于多种语音识别场景中。
[0176]
如图5所示,是本发明实现基于人工智能的语音识别方法的电子设备的结构示意图。
[0177]
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如基于人工智能的语音识别程序12。
[0178]
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括
闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的语音识别程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0179]
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如基于人工智能的语音识别程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
[0180]
所述总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
[0181]
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
[0182]
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi

fi模块等,在此不再赘述。
[0183]
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi

fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
[0184]
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light

emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
[0185]
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0186]
所述电子设备1中的所述存储器11存储的基于人工智能的语音识别程序12是多个
指令的组合,在所述处理器10中运行时,可以实现:
[0187]
将获取的训练数据输入预设联合识别模型的语音识别模块中,获取所述语音识别模块的输出数据以及第一目标任务损失;
[0188]
将所述输出数据输入所述联合识别模型的损失预测模块中,以获取所述损失预测模块的第二目标任务损失;
[0189]
基于所述第一目标任务损失和所述第二目标任务损失,获取所述联合识别模型的总任务损失;
[0190]
基于所述训练数据对所述联合识别模型进行迭代训练,直至所述总任务损失收敛在预设范围内,形成联合识别模型;
[0191]
基于所述联合识别模型中的语音识别模块对待检测语音信号进行识别,并获取对应的识别结果。
[0192]
此外,可选的技术方案是,所述获取所述语音识别模块的输出数据以及第一目标任务损失的步骤包括:
[0193]
基于所述语音识别模块中的编码器网络对所述训练数据进行编码处理,以获取与所述训练数据对应的隐藏特征,作为编码器输出;
[0194]
基于所述编码器输出,通过所述语音识别模块中的解码器网络输出与所述编码器输出相对应的文本标签序列,作为解码器输出;
[0195]
获取所述隐藏特征下的所述训练数据的真实文本序列的负对数似然,作为所述语音识别模块的ctc损失,并基于所述文本标签序列和所述真实文本序列的交叉熵损失,确定所述语音识别模块的注意力损失;
[0196]
基于所述ctc损失和所述注意力损失,确定所述语音识别模块的第一目标任务损失。
[0197]
此外,可选的技术方案是,所述语音识别模块的ctc损失的表达公式如下:
[0198][0199]
其中,y表示所述真实文本序列,h表示所述隐藏特征,t表示第t个隐藏特征,p(y|h
t
)表示所述真实文本序列在第t个隐藏特征处的概率;
[0200]
所述注意力损失的表达公式如下:
[0201][0202]
其中,y表示所述真实文本序列,g=(g1,g2,...,g
s
)表示所述解码器网络输出的隐藏特征,s表示所述真实文本序列的长度,表示所述真实文本序列中的目标标签y
s
在所述解码器网络输出的步骤s处出现的频率,表示在步骤s

1中预测出的文本序列中的字符;
[0203]
所述第一目标任务损失的表达公式如下:
[0204][0205]
其中,表示所述语音识别模块的ctc损失,表示所述注意力损失,λ表示缩放因子,0≤λ≤1。
[0206]
此外,可选的技术方案是,所述获取所述损失预测模块的第二目标任务损失的步骤包括:
[0207]
将所述输出数据的编码器输出输入所述损失预测模块的ctc损失预测模块中,获取与所述训练数据对应的ctc预测损失;
[0208]
将所述输出数据的解码器输出输入所述损失预测模块的注意力损失预测模块中,获取与所述训练数据对应的注意力预测损失;
[0209]
基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失。
[0210]
此外,可选的技术方案是,所述基于所述ctc预测损失和所述注意力预测损失,确定所述损失预测模块的第二目标任务损失的步骤包括:
[0211]
基于所述ctc预测损失获取与所述ctc预测损失相对应的第一误差损失函数;
[0212]
基于所述注意力预测损失获取与所述注意力预测损失相对应的第二误差损失函数;
[0213]
基于所述第一误差损失函数和所述第二误差损失函数,确定所述损失预测模块的第二目标任务损失。
[0214]
此外,可选的技术方案是,所述第一误差损失函数的表达公式如下:
[0215][0216]
所述第二误差损失函数的表达公式如下:
[0217][0218]
所述第二目标任务损失的表达公式如下:
[0219]
ε=λε
ctc
+(1

λ)ε
attention
[0220]
其中,表示所述语音识别模块的ctc损失,表示所述ctc预测损失,表示所述注意力损失,表示所述注意力预测损失,β表示阈值因子,λ表示缩放因子,0≤λ≤1。
[0221]
此外,可选的技术方案是,所述总任务损失的表达公式如下:
[0222][0223]
其中,表示所述第一目标任务损失,ε表示所述第二目标任务损失,表示所述语音识别模块的ctc损失,表示所述注意力损失,ε
ctc
表示所述第一误差损失函数,ε
attention
表示所述第二误差损失函数,μ表示超参数,λ表示缩放因子,0≤λ≤1。
[0224]
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关
步骤的描述,在此不赘述。进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)。
[0225]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0226]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0227]
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0228]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
[0229]
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
[0230]
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
[0231]
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。