一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种DNN模型训练方法及语音识别方法、装置与流程

2022-04-09 10:45:29 来源:中国专利 TAG:

一种dnn模型训练方法及语音识别方法、装置
技术领域
1.本发明涉及语音识别技术领域,具体涉及一种dnn模型训练方法及语音识别方法、装置。


背景技术:

2.随着人工智能的不断发展,语音识别逐渐成为各种智能设备所具备的必不可少的功能之一。为保证语音识别的准确性,通常需要将输入的声音序列与输出的标签序列的长度进行对齐,但将声音序列的长度与输出的标签序列的长度进行对齐的过程需要耗费大量的时间和人力。为了解决此问题,ctc(connectionist temporal classification)时序分类算法被提出,基于深度神经网络(deep neural networks,dnn)模型,通过ctc时序分类算法可以计算每一帧音频所对应的标签并在输出时将静音帧对应的空白标签去掉,得到最终的标签序列,实现将音频序列与标签序列的直接对齐。但由于ctc时序分类算法中会对静音帧赋予空白标签,在包含ctc时序分类算法的dnn模型训练的过程中,由开始标签到结束标签的路径不止一条,在不同标签路径中,空白标签的数量和位置都不相同,而ctc时序分类算法对于概率最高的标签出现的位置并不在意,导致均方根即peak值出现的位置不固定,不一定会出现在对应的帧的位置,就会导致对齐延迟,进而造成解码速度慢、识别速度慢的问题。


技术实现要素:

3.因此,本发明要解决的技术问题在于克服现有技术中语音识别过程中由于训练的dnn模型存在对齐延迟,导致解码速度慢、识别速度慢的缺陷,从而提供一种dnn模型训练方法及语音识别方法、装置。
4.根据第一方面,本发明实施例提供了一种dnn模型训练方法,所述方法包括:
5.获取训练音频样本对应的语音特征数据及标签序列;
6.将所述语音特征数据输入dnn模型进行标签预测,确定标签预测路径;
7.基于所述标签预测路径的概率计算所述dnn模型的模型损失函数值;
8.基于所述标签预测路径分别计算所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离;
9.基于所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算所述dnn模型的峰值损失函数值;
10.基于所述模型损失函数值和所述峰值损失函数值,确定所述dnn模型的总损失函数;
11.基于所述总损失函数对所述dnn模型进行训练,直至所述dnn模型满足预设训练要求。
12.可选地,所述基于所述标签预测路径的概率计算所述dnn模型的模型损失函数值,包括:
13.获取当前音频帧对应的各标签预测路径的概率;
14.基于每条标签预测路径的概率,确定所述当前音频帧对应的总路径的概率;
15.基于每个音频帧对应的总路径的概率,计算所述dnn模型的模型损失函数值。
16.可选地,所述基于所述标签预测路径分别计算所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,包括:
17.基于当前音频帧的语音特征数据计算当前音频帧的峰值并获取所述峰值的位置;
18.计算与当前音频帧对应的标签序列的中心点位置;
19.基于所述峰值的位置和所述标签序列的中心点位置,计算所述当前音频帧对应的峰值位置与其对应的标签序列中心点的距离。
20.可选地,所述基于所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算所述dnn模型的峰值损失函数值,包括:
21.基于所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算每条标签路径的平均距离;
22.基于所述每条标签路径的平均距离,计算所有路径距离损失的平均值;
23.基于所有路径距离损失的平均值确定所述dnn模型的峰值损失函数值。
24.可选地,所述基于所述峰值损失函数值和所述模型损失函数值确定所述dnn模型的总损失函数,包括:
25.分别设置所述峰值损失函数和所述模型损失函数的损失影响参数;
26.基于所述损失影响参数、所述峰值损失函数值和所述模型损失函数值确定所述dnn模型的总损失函数。
27.可选地,所述方法还包括:
28.基于所述语音特征数据中每个音频帧对应的第一语音特征在标签序列中对应的标签与所述dnn模型进行标签预测的预测标签的关系,计算在有空标签的情况下输出非空标签的概率;
29.基于在有空标签的情况下输出非空标签的概率,计算所述dnn模型的交叉熵损失。
30.可选地,所述基于所述峰值损失函数值和所述模型损失函数值确定所述dnn模型的总损失函数,还包括:
31.设置所述dnn模型的交叉熵损失函数、所述峰值损失函数和所述模型损失函数的损失影响参数;
32.基于所述损失影响参数、所述dnn模型的交叉熵损失函数值、所述峰值损失函数值和所述模型损失函数值确定所述dnn模型的总损失函数。
33.根据第二方面,本发明实施例提供了一种语音识别方法,所述方法包括:
34.获取待识别音频数据;
35.采用如第一方面,或者第一方面任意一种可选实施方式中所述的dnn模型训练方法进行dnn模型训练,得到训练好的dnn模型;
36.将所述待识别音频数据输入所述训练好的dnn模型进行识别,得到所述待识别音频数据的识别结果。
37.根据第三方面,本发明实施例提供了一种dnn模型训练装置,所述装置包括:
38.第一获取模块,用于获取训练音频样本对应的语音特征数据及标签序列;
39.第一处理模块,用于将所述语音特征数据输入dnn模型进行标签预测,确定标签预测路径;
40.第二处理模块,用于基于所述标签预测路径的概率计算所述dnn模型的模型损失函数值;
41.第三处理模块,用于基于所述标签预测路径分别计算所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离;
42.第四处理模块,用于基于所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算所述dnn模型的峰值损失函数值;
43.计算模块,用于基于所述模型损失函数值和所述峰值损失函数值,确定所述dnn模型的总损失函数;
44.训练模块,用于基于所述总损失函数对所述dnn模型进行训练,直至所述dnn模型满足预设训练要求。
45.根据第四方面,本发明实施例提供了一种语音识别装置,所述装置包括:
46.第二获取模块,用于获取待识别音频数据;
47.执行模块,用于采用如第三方面所述的dnn模型训练装置进行dnn模型训练,得到训练好的dnn模型;
48.识别模块,用于将所述待识别音频数据输入所述训练好的dnn模型进行识别,得到所述待识别音频数据的识别结果。
49.根据第五方面,本发明实施例提供了一种电子设备,包括:
50.存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一\二方面,或者第一\二方面任意一种可选实施方式中所述的方法。
51.根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一\二方面,或者第一\二方面任意一种可选实施方式中所述的方法。
52.本发明技术方案,具有如下优点:
53.本发明实施例提供的一种dnn模型训练方法及装置,通过获取训练音频样本对应的语音特征数据及标签序列;将所述语音特征数据输入dnn模型进行标签预测,确定标签预测路径;基于所述标签预测路径的概率计算所述dnn模型的模型损失函数值;基于所述标签预测路径分别计算所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离;基于所述训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算所述dnn模型的峰值损失函数值;基于所述模型损失函数值和所述峰值损失函数值,确定所述dnn模型的总损失函数;基于所述总损失函数对所述dnn模型进行训练,直至所述dnn模型满足预设训练要求。通过对dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
54.本发明实施例提供的一种语音识别方法及装置,通过获取待识别音频数据;采用本发明另一实施例提供的dnn模型训练方法进行dnn模型训练,得到训练好的dnn模型;将待识别音频数据输入训练好的dnn模型进行识别,得到待识别音频数据的识别结果。通过对
dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
附图说明
55.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
56.图1为本发明实施例的一种dnn模型训练方法的流程图;
57.图2为本发明实施例的一种dnn模型训练方法的路径计算示例图;
58.图3为本发明实施例的一种dnn模型训练方法的音频帧概率峰值示例图;
59.图4为本发明实施例的一种dnn模型训练方法的音频标签示例图;
60.图5为本发明实施例的一种dnn模型训练方法的训练模型结构图;
61.图6为本发明实施例的一种dnn模型训练方法的音频帧对齐示例图;
62.图7为本发明实施例的一种语音识别方法的流程图;
63.图8为本发明实施例的一种dnn模型训练装置的结构示意图;
64.图9为本发明实施例的一种语音识别装置的结构示意图;
65.图10为本发明实施例的一种电子设备的结构示意图。
具体实施方式
66.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
67.在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
68.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
69.此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
70.本发明实施例提供了一种dnn模型训练方法,如图1所示,该dnn模型训练方法具体包括如下步骤:
71.步骤s101:获取训练音频样本对应的语音特征数据及标签序列。
72.具体地,在实际应用中,本发明实施例首先将音频数据得到的filterbank特征作为整个训练模型的输入,其中,filterbank特征由对音频数据进行预加重、分帧、加窗等计算得到,进一步地,本发明实施例基于dnn模型对75维的filterbank特征进行计算,得到深层语音特征,但实际情况不限于此,为得到准确的深层语音特征而进行特征类型或音频特征维数的变化也在本发明提供的一种dnn模型训练方法的保护范围之内。
73.步骤s102:将语音特征数据输入dnn模型进行标签预测,确定标签预测路径。
74.具体地,在实际应用中,本发明实施例的dnn模型中包含ctc算法,基于ctc算法进行标签预测并对标签预测路径进行确定。ctc算法模型作为一个端到端模型,可以将音频序列与标签序列直接对齐,但ctc算法也存在一些缺陷,因此在dnn模型训练的过程中,需要针对ctc算法进行优化。ctc算法常见的问题有两个:(1)训练易发散;(2)有对齐延迟,导致这两个问题的原因是在ctc运算过程中,会为无意义的帧赋予“blank”空白标签,记为《b》。空白标签不具有任何含义,但是由于音频序列中,空白标签的占比非常大,如果单独进行ctc优化训练,会导致ctc学习过多的空白标签导致dnn模型训练易发散。另外,在基于ctc算法的计算过程中,会出现由开始标签到结束标签的路径不止一条的情况,例如对于序列“退出导航”的路径可以是“《b》退《b》《b》出出出出《b》《b》《b》《b》导《b》《b》航《b》”,也可以是“《b》退退退《b》《b》出出《b》《b》导导《b》《b》航航《b》”,由于“blank”标签的数量和位置都不相同,导致标签预测路径也有多条。
75.步骤s103:基于标签预测路径的概率计算dnn模型的模型损失函数值。在实际应用中,通过ctc算法对dnn模型输入的数据特征进行计算,预测每一帧音频对应的标签,模型损失函数可表示为ctc loss。
76.具体地,在一实施例中,上述步骤s103具体包括如下步骤:
77.步骤s301:获取当前音频帧对应的各标签预测路径的概率。
78.步骤s302:基于每条标签预测路径的概率,确定当前音频帧对应的总路径的概率。
79.步骤s303:基于每个音频帧对应的总路径的概率,计算dnn模型的模型损失函数值。
80.具体地,在实际应用中,dnn模型的模型损失函数(ctc loss)值的计算过程如公式(1)~(3)所示。
[0081][0082][0083]
l
ctc
(x)=-log(p(l|x))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0084]
首先对每一帧的音频进行标签预测,计算过程如公式(1),其中p(π|x)表示对于输入音频序列x,得到标签序列π。标签序列π由在每个t时刻的音频帧y得到的π
t
组成,一条标签路径的概率为每一帧标签概率的连乘。其中l

为包含空标签的所有标签的集合。p(π|x)为一条标签路径的概率,所有路径的概率为每一条标签路径概率的累加,计算过程如公式(2),其中π表示去掉blank的标签集合b-1
(l)中的元素。最后通过取对数得到ctc loss的最终结果。
[0085]
示例性地,如图2所示,对于一条音频序列的每一帧,ctc算法首先预测其标签,图中为两条不同的ctc路径,第一条路径结果为《b》《b》《b》《t-w-ey4》《b》《ch-u1》《ch-u1》《b》《d-aw3》《h-a2ng》,第二条路径结果为《b》《t-w-ey4》《b》《ch-u1》《b》《d-aw3》《b》《h-a2ng》《h-a2ng》《b》,其中一条路径的概率为路径中所有标签概率的乘积,如果只有两条路径,则最终的概率为两条路径的概率之和,为保证最终语音识别的准确性,则需要进行概率最大化训练,同时,由于在ctc loss损失函数中取负,所以训练过程中要使损失最小。此外,图中第三条路径为错误路径,ctc算法不会寻找这样错误的路径,该路径存在三个错误点:(1)路径中有一帧标签向右上行走,与只能向右下行走法则相违背;(2)跳过非空标签,与不能跳过非空标签法则相违背;(3)路径的结尾为重复的发音标签,与结尾是最后一个空标签或者发音标签法则相违背。
[0086]
步骤s104:基于标签预测路径分别计算训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离。
[0087]
具体地,实际应用中,在降低ctc算法发散性同时,需要对ctc算法的对齐延迟问题进行处理,示例性地,如图3所示,“退出导航”对应的拼音序列为“t-w-ey4 ch-u1 d-aw3 h-a2ng”,编号1-4曲线分别对应为“t-w-ey4”、“ch-u1”、“d-aw3”和“h-a2ng”,编号5曲线表示空白标签,编号6曲线表示静音帧,拼音标签对应的音频帧的位置分别为坐标轴上对应的编号位置,通过曲线图可以直观观察到各拼音标签对应的音频帧位置以及概率峰值位置,如拼音“t-w-ey4”对应第9帧到13帧的位置,意为从9到13帧的音频对应的标签都为“t-w-ey4”,此时t-w-ey4的对齐区间(align区间)为[9,13],而在dnn模型训练过程中,为了概率最大化,ctc算法会寻找概率峰值,由图3可见t-w-ey4概率峰值出现在17帧的位置,相对于align区间的开始位置第9帧,相差8帧,此时的dnn延迟就会有80ms,最终会造成解码速度变慢。通过控制峰值出现的位置在对齐区间(align区间)内,能够有效解决对齐延迟导致的解码慢的问题。
[0088]
具体地,在一实施例中,上述步骤s104具体包括如下步骤:
[0089]
步骤s401:基于当前音频帧的语音特征数据计算当前音频帧的峰值并获取峰值的位置。
[0090]
步骤s402:计算与当前音频帧对应的标签序列的中心点位置。
[0091]
步骤s403:基于峰值的位置和标签序列的中心点位置,计算当前音频帧对应的峰值位置与其对应的标签序列中心点的距离。
[0092]
具体地,在实际应用中,一条音频序列存在很多帧,示例性地,图4示出了一个19帧的音频序列,对于每一帧音频,都有其所对应的标签,这个标签的单位可以是文字、拼音、音素等等。本专利中使用的单位为汉字的拼音。共有3015个拼音,所以标签序列为素等等。本专利中使用的单位为汉字的拼音。共有3015个拼音,所以标签序列为由图可见,在第1~3帧的音频对应空标签,4~8帧的数据对应2387代表的拼音,所谓的align区间,就是每一个标签对应的音频帧的位置构成的区间,图中音频的标签2387的align区间为[4,8],控制peak在音频align区间内,就是训练模型使模型的概率分布中峰值尽量出现在align区间内。
[0093]
具体地,在实际应用中,根据公式(4)进行当前音频帧对应的峰值位置与其对应的标签序列中心点的距离的计算,公式如下:
[0094]
dist=position(x
t
)-position(a
tm
)
ꢀꢀ
(4)
[0095]
当计算出t时刻音频帧的峰值后,将当前音频帧的位置作为概率峰值的位置,记为position(x
t
),其中x
t
表示在t时刻的音频特征,然后计算当前时刻对应的align标签序列的中心点的位置positon(a
tm
),其中a
tm
表示t时刻音频帧对应的align标签a的中心点m。然后通过公式(4)得到距离差值。通过增加距离损失可以更好地避免模型训练发散的问题,同时距离损失可以控制模型学习延迟低的标签路径概率最大化,有效缓解ctc的对齐延迟导致dnn模型的解码速度慢、识别速度慢的问题。
[0096]
步骤s105:基于训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算dnn模型的峰值损失函数值。
[0097]
具体地,在一实施例中,通过执行步骤s104和s105对dnn训练模型进行峰值损失(peak loss)计算,计算过程包括根据得到的ctc算法路径,首先计算出peak峰值,然后计算峰值位置与当前音频帧对应的标签序列中心点的距离,根据距离计算peak loss。此外,由于ctc计算出的对齐序列路径不同,最优路径可能在两个非空标签之间存在较多的空标签,空标签不对应任何内容,所以在解码阶段空标签不能解码出所对应的文字,这会使解码时间变长。在流式识别过程中,解码时间长导致识别时间长。比如对于车载语音系统,当用户发出“播放歌曲”的指令,dnn模型由于存在ctc算法对齐延迟导致用户在发出指令之后的一两秒后才执行播放音乐的指令,导致用户等待时间过长,体验感较差,通过peak loss训练模型缩短对齐延迟时间,可以有效减少对齐延迟带来的用户体验感较差的问题。
[0098]
具体地,在一实施例中,上述步骤s105具体包括如下步骤:
[0099]
步骤s501:基于训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算每条标签路径的平均距离。
[0100]
步骤s502:基于每条标签路径的平均距离,计算所有路径距离损失的平均值。
[0101]
步骤s503:基于所有路径距离损失的平均值确定dnn模型的峰值损失函数值。
[0102]
具体地,在实际应用中,峰值损失值通过公式(4)至公式(6)计算得到,公式(5)和公式(6)如下:
[0103][0104][0105]
其中,dist为通过公式(4)计算得到的距离差值;每条标签路径的损失通过公式(5)计算的平均距离表示,t表示当前音频序列的总帧数;最后取所有路径距离损失的平均值作为距离损失的计算结果,计算过程如公式(6),n表示所有标签路径的个数,但考虑计算所有路径的计算量太大,所以本发明实施例取概率最大的三条路径进行计算,即n=3,但实际情况不限于此,为减低训练模型的损失而进行路径数量的改变,也在本发明提供的一种dnn模型训练方法的保护范围之内。通过增加距离损失peak loss联合训练的方法相比于直接限制延迟时间将候选ctc路径删除的方法更柔和,能够在保证准确率的同时减少对齐延迟的情况出现,通过loss控制模型并对训练模型进行自动学习,找到识别准确率和延迟时间之间的临界点。
[0106]
步骤s106:基于模型损失函数值和峰值损失函数值,确定dnn模型的总损失函数。从而通过在总损失函数中加入峰值损失函数值,大大改善了dnn模型的延迟时间,进而解决
了语音识别过程中音频序列与标签序列对齐延迟的问题,提高了解码速度和识别速度。
[0107]
具体地,在一实施例中,为了进一步提高dnn模型的收敛速度,本发明实施例提供的dnn模型训练方法还包括:基于语音特征数据中每个音频帧对应的第一语音特征在标签序列中对应的标签与dnn模型进行标签预测的预测标签的关系,计算在有空标签的情况下输出非空标签的概率;基于在有空标签的情况下输出非空标签的概率,计算dnn模型的交叉熵损失。
[0108]
在实际应用中,为避免训练模型发散,本发明实施例将通过dnn网络模型的输出和align标签计算dnn模型的交叉熵损失函数(cross entropy loss,简称ce loss)值。
[0109]
具体地,ce loss的计算公式如下:
[0110][0111][0112]
其中,xi表示输入数据的第i帧,j表示总帧数,yi表示输入数据特征第i帧对应的标签为y,p(y1|x)表示空标签的概率,fi表示帧级别的非空目标标签,p(yi|x)表示在有空标签的情况下输出非空标签的概率,k表示标签类别数。
[0113]
进一步地,上述步骤s106包括:设置dnn模型的交叉熵损失函数、峰值损失函数和模型损失函数的损失影响参数;基于损失影响参数、dnn模型的交叉熵损失函数值、峰值损失函数值和模型损失函数值确定dnn模型的总损失函数。
[0114]
在实际应用中,由于三种损失的结果都是线性的,所以在联合训练中,将dnn loss、ce loss和peak loss通过参数做线性加和,将线性加和结果作为最后模型计算的损失。具体地,dnn模型的总损失函数的公式如下:
[0115]
loss=l
ctc
l
ce
βl
peak
ꢀꢀ
(9)
[0116]
其中,loss表示总损失函数;l
ctc
表示模型损失函数值;l
peak
表示峰值损失函数值;l
ce
表示交叉熵损失函数值;β表示损失影响参数。
[0117]
具体地,在实际应用中,β为控制交叉熵损失和距离损失对模型影响程度的参数,取值范围为[0,1],β取值越大表示损失(loss)对训练模型的影响程度越高。在本发明实施例中,为了模型较好的收敛,并且避免降低对齐延迟带来的错误率上升的问题,使l
ce
与l
ctc
以相同的比重进行训练、l
peak
占有相对较小的比重,所以取值为β=0.5,但实际情况不限于此,为保证训练模型更好收敛且避免对齐延迟带来的错误而进行损失影响参数取值的改变,也在本发明提供的一种dnn模型训练方法的保护范围之内。
[0118]
在实际应用中,本发明实施例采用ctc loss联合ce loss及peak loss的训练方法,通过peak loss控制模型根据peak loss学习控制概率的分布,使peak值出现的位置尽量在align区间内,在保证准确率的同时,减少ctc对齐延迟的时间。然后利用peak loss、ce loss和ctc loss联合训练,最终避免dnn模型训练发散。
[0119]
步骤s107:基于总损失函数对dnn模型进行训练,直至dnn模型满足预设训练要求。
[0120]
通过在训练语音识别模型的过程中,仅对ctc进行优化训练,会由于音频序列的空标签占比较大,很容易产生发散的问题,导致模型花费长时间训练却不能收敛,不能得到较
好的训练结果,时间消耗较大。通过peak loss、ce loss在训练过程中辅助ctc loss可以使dnn模型尽快收敛,减少训练所需的时间。
[0121]
通过执行上述步骤,本发明实施例提供的一种dnn模型训练方法,通过获取训练音频样本对应的语音特征数据及标签序列;将语音特征数据输入dnn模型进行标签预测,确定标签预测路径;基于标签预测路径的概率计算dnn模型的模型损失函数值;基于标签预测路径分别计算训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离;基于训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算dnn模型的峰值损失函数值;基于模型损失函数值和峰值损失函数值,确定dnn模型的总损失函数;基于总损失函数对dnn模型进行训练,直至dnn模型满足预设训练要求。通过对dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
[0122]
下面将结合具体应用示例,对本发明实施例提供的一种dnn模型训练方法进行详细的说明。
[0123]
结合图3和图5所示,在没有对peak位置进行限定的情况下,dnn解码存在明显的延迟,图中编号1曲线表示对应的align标签为t-w-ey4,其align区间为坐标横轴上的编号1的线段,为[9,13],而在dnn解码过程中,t-w-ey4的概率峰值peak出现在第17帧的位置,明显不在align区间[9,13]内。相比于区间开始端点,距离为8帧,每帧音频的时长为10ms,则此时解码的延迟有80ms。在本发明实施例的模型训练过程中,会计算peak峰值与align区间中点的距离。则此时差值为6,则在本音频帧的peak损失为6,至此完成一帧损失的计算,对于一条音频路径存在多帧,则每条路径的总损失为所有帧peak损失的加和求平均,所有路径的损失为n条路径损失的加和,最后根据路径数量求平均值得到最终的损失,当peak损失越大时,表示peak位置与align区间中点的距离越远,越不可能在align区间中,模型训练过程中,将通过不断缩小peak值与align区间中点的距离,降低延迟时间。但是,在缩小peak值与align区间中点的过程中,峰值对应的标签有可能发生变化,结合图5和图6所示,当迫使标签ch-u1在align区间内的时候,ch-u1的概率小于d-wa3的概率,此时峰值发生变化,导致解码会发生错误,所以在降低延迟的同时会伴随模型错误率的上升,本发明实施例的联合训练方法恰好能够避免这种情况,当peak在align区间内导致错误率上升的时候,ctc loss的值会变大,此时模型会学习找到解码正确率和降低延迟时间的均衡点,保证在错误率不会无限上升的同时,peak值尽可能的出现在align区间内,使模型在降低对齐延迟的同时能够具有高准确率。
[0124]
本发明实施例提供了一种语音识别方法,如图7所示,该语音识别方法具体包括如下步骤:
[0125]
步骤s201:获取待识别音频数据。在实际应用中,在获取待识别音频数据后首先需要对音频数据进行处理,通过对音频数据进行预加重、分帧、加窗等计算处理得到filterbank特征,该filterbank特征为75维,再基于dnn模型进行计算,得到待识别音频数据深层语音特征。
[0126]
步骤s202:采用如上述的dnn模型训练方法进行dnn模型训练,得到训练好的dnn模型。
[0127]
步骤s203:将待识别音频数据输入训练好的dnn模型进行识别,得到待识别音频数据的识别结果。
[0128]
通过执行上述步骤,本发明实施例提供的一种语音识别方法,通过获取待识别音频数据;采用本发明另一实施例提供的dnn模型训练方法进行dnn模型训练,得到训练好的dnn模型;将待识别音频数据输入训练好的dnn模型进行识别,得到待识别音频数据的识别结果。通过对dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
[0129]
本发明实施例提供了一种dnn模型训练装置,如图8所示,该dnn模型训练装置包括:
[0130]
第一获取模块101,用于获取训练音频样本对应的语音特征数据及标签序列。详细内容参见上述方法实施例中步骤s101的相关描述,在此不再进行赘述。
[0131]
第一处理模块102,用于将语音特征数据输入dnn模型进行标签预测,确定标签预测路径。详细内容参见上述方法实施例中步骤s102的相关描述,在此不再进行赘述。
[0132]
第二处理模块103,用于基于标签预测路径的概率计算dnn模型的模型损失函数值。详细内容参见上述方法实施例中步骤s103的相关描述,在此不再进行赘述。
[0133]
第三处理模块104,用于基于标签预测路径分别计算训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离。详细内容参见上述方法实施例中步骤s104的相关描述,在此不再进行赘述。
[0134]
第四处理模块105,用于基于训练音频样本中每个音频帧的位置与其对应的标签序列中心点的距离,计算dnn模型的峰值损失函数值。详细内容参见上述方法实施例中步骤s105的相关描述,在此不再进行赘述。
[0135]
计算模块106,用于基于模型损失函数值和峰值损失函数值,确定dnn模型的总损失函数。详细内容参见上述方法实施例中步骤s106的相关描述,在此不再进行赘述。
[0136]
训练模块107,用于基于总损失函数对dnn模型进行训练,直至dnn模型满足预设训练要求。详细内容参见上述方法实施例中步骤s107的相关描述,在此不再进行赘述。
[0137]
上述的dnn模型训练装置的更进一步描述参见上述dnn模型训练方法实施例的相关描述,在此不再进行赘述。
[0138]
通过上述各个组成部分的协同合作,本发明实施例提供的一种dnn模型训练装置,通过对dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
[0139]
本发明实施例提供了一种语音识别装置,如图9所示,该一种语音识别装置包括:
[0140]
第二获取模块201,用于获取待识别音频数据。详细内容参见上述方法实施例中步骤s201的相关描述,在此不再进行赘述。
[0141]
执行模块202,用于采用如上述的dnn模型训练装置进行dnn模型训练,得到训练好的dnn模型。详细内容参见上述方法实施例中步骤s202的相关描述,在此不再进行赘述。
[0142]
识别模块203,用于将待识别音频数据输入训练好的dnn模型进行识别,得到待识别音频数据的识别结果。详细内容参见上述方法实施例中步骤s203的相关描述,在此不再
进行赘述。
[0143]
上述的一种语音识别装置的更进一步描述参见上述一种语音识别方法实施例的相关描述,在此不再进行赘述。
[0144]
通过上述各个组成部分的协同合作,本发明实施例提供的一种语音识别装置,通过对dnn模型的模型损失函数、峰值损失函数以及联合得到的总损失函数进行收敛训练,最终得到训练好的dnn模型,通过解决语音识别过程中音频序列与标签序列对齐延迟的问题,大幅提高了解码速度和识别速度。
[0145]
本发明实施例提供了一种电子设备,如图10所示,该电子设备包括处理器901和存储器902,存储器902和处理器901之间互相通信连接,其中处理器901和存储器902可以通过总线或者其他方式连接,图10中以通过总线连接为例。
[0146]
处理器901可以为中央处理器(central processing unit,cpu)。处理器901还可以为其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
[0147]
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
[0148]
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0149]
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
[0150]
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
[0151]
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,实现的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)、随机存储记忆体(random access memory,ram)、快闪存储器(flash memory)、硬盘(hard disk drive,缩写:hdd)或固态硬盘(solid-state drive,ssd)等;存储介质还可以包括上述种类的存储器的组合。
[0152]
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献