一种基于神经网络模型的语音识别方法转让专利
申请号 : CN202011125376.7
文献号 : CN112259080B
文献日 : 2021-06-22
发明人 : 张航 , 祝怀垠
申请人 : 北京讯众通信技术股份有限公司
摘要 :
权利要求 :
1.一种基于神经网络模型的语音识别方法,其特征在于,包括:获取训练样本合集,对训练样本合集进行预处理,并将训练样本合集转换为MFCC特征参数矩阵;
提取训练样本合集的第一特征参数,将第一特征参数输入神经网络进行训练,比较神经网络的输出值与原信号标签的误差;
不断更新神经网络内部的权重和偏置从而获得可以用于识别的神经网络模型,并建立模板库,所述模板库包括不同语音的第一特征参数;
获取预测样本合集,对预测样本合集进行预处理,将预测样本合集转换为MFCC特征参数矩阵,并输入所述神经网络模型,通过神经网络模型对预测样本合集进行特征提取获得第二特征参数,将第二特征参数与模板库中的第一特征参数进行匹配预测,选择匹配相似度高的,获得在模板库中与第二特征参数对应的第一特征参数,获得识别结果;
其中,所述神经网络包括依序设置的卷积神经网络和循环神经网络,卷积神经网络对输入的数据进行卷积,提取特征参数中的局部特征,同时减少频域变化,再将特征图送入循环神经网络中;
所述循环神经网络还包括一层隐藏层,所述隐藏层与卷积神经网络的隐藏层结构相同,但在时序上传播方向相反,每一个神经元的输入包括了输入层的输出和下一时刻该神经元的输出。
2.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,采用次词序列作为标签来源,对训练样本的翻译文件进行处理,使其成为神经网络训练的标签,具体为:将所有翻译文件中的文字集合,去除重复的词,最后根据词重复出现的次数进行排序,每个词对应的序列即为该词的对应字向量,该字向量将作为神经网络训练的标签参与训练;将字向量转换为文字获得识别结果。
3.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,将预测样本合集分批次输入神经网络模型,每批样本数为1。
4.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,所述卷积神经网络包括依序连接的第一卷积层、池化层和第二卷积层:第一卷积层为256个大小为1×9的过滤器,横向步长设置为2,通道设置为1;池化层为大小为1×3的最大池化层,步长设置为1;第二卷积层为512个大小为1×4的过滤器,横向步长设置为1,通道设置为128。
5.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,在循环神经网络中,对每一层网络均设置Droptout参数,且Dropout=5%。
6.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,所有使用激活函数的节点均采用Relu函数,截断值设置为20,其数学表达式如下:。
7.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,在数据输入循环神经网络后拆分输入数据:将一段时长为t的数据,扩充为从tx‑9到tx+9个时刻的MFCC特征参数,从tx‑9到tx时刻的MFCC特征参数封装为一个输入矩阵,设其为input1,同时将tx时刻到tx+9时刻的MFCC特征参数封装为另一个输入矩阵,设其为input2。
8.如权利要求7所述的一种基于神经网络模型的语音识别方法,其特征在于,所述循环神经网络的网络层含有2048个LSTM节点,其中1024个用于正向传播,另外1024个用于反向传播;循环神经网络的全连接层的节点数为2048,其中1024个只连接input1,另外1024个只连接input2;最后一层全连接层作为输出层用于分类,其节点数对应标签个数用于分类。
9.如权利要求1所述的一种基于神经网络模型的语音识别方法,其特征在于,对输入的第二特征参数数隔行进行一次取样,使得输入数据减小一半。
说明书 :
一种基于神经网络模型的语音识别方法
技术领域
背景技术
采取声音传播的形式,直接控制机器来帮助自己完成想要做的事情,会使很多事情事半功
倍,于是语音识别技术运营而生。语音识别技术其本质就是对声音中蕴含的信息进行处理
和分类,人们可以通过语音识别,令机器获得声音中蕴含的信息。该项技术的诞生使得一些
对机器的操作命令得到了简化,使得人的双手得到解放,极大地便利了我们的生活和工作。
神经网络是属于机器学习的一个重要分支,它在与传统的机器学习相比,有着更深的自我
学习深度。机器学习的过程,本身就是模仿人脑中神经元之间信息的传递过程,深度学习提
高了机器模仿脑神经工作的相似度,大大加深了机器学习的能力。
息的处理,导致卷积神经网络在该领域并未体现出较高的识别正确率;使用具有时序处理
能力的循环神经网络具有较好的识别正确率上,但是,由于其循环计算方式较复杂,导致训
练时间普遍较长,从学习效率来看该网络存在一定的不足。
发明内容
能够在保证语音识别正确率的同时,增加网络整体的学习效率和鲁棒性,提高语音识别性
能。
征参数,将第一特征参数输入神经网络进行训练,比较神经网络的输出值与原信号标签的
误差;不断更新神经网络内部的权重和偏置从而获得可以用于识别的神经网络模型,并建
立模板库,所述模板库包括不同语音的第一特征参数;获取预测样本合集,对预测样本合集
进行预处理,将预测样本合集转换为MFCC特征参数矩阵,并输入所述神经网络模型,通过神
经网络模型对预测样本合集进行特征提取获得第二特征参数,将第二特征参数与模板库中
的第一特征参数进行匹配预测,选择匹配相似度高的,获得在模板库中与第二特征参数对
应的第一特征参数,获得识别结果;其中,所述神经网络包括依序设置的卷积神经网络和循
环神经网络,卷积神经网络对输入的数据进行卷积,提取特征参数中的局部特征,同时减少
频域变化,再将特征图送入循环神经网络中。
建组合网络,先利用卷积神经网络进行特征总结、简化数据,再用循环神经网络网络处理时
序信息,最后再进行分类,可以在保证识别正确率的同时提高学习效率和鲁棒性。优选的,
训练样本合集分批输入神经网络,神经网络训练训练样本合集100次,每经历一次完整训练
保存一次神经网络模型,并记录损失值绘画损失曲线,以最后一次训练获得的神经网络模
型为最终的神经网络模型。本技术方案中对训练样本合集和预测样本合集进行预处理过程
包括预加重、分帧、加窗和短时傅里叶变换等处理,并根据MFCC特征参数计算原理,利用
python下的第三方库将语音信号转换为26维的MFCC特征参数矩阵。需要说明的是,本技术
方案的MFCC是指梅尔频率倒谱系数,梅尔频率是基于人耳听觉特性提出来的,它与Hz频率
成非线性对应关系。本技术方案中进行匹配预测,选择匹配相似度高的,获得在模板库中与
第二特征参数对应的第一特征参数,所述选择匹配相似度高的指达到预设的匹配度的,即
将模板库中与第二特征参数达到预设的匹配度的第一特征参数作为识别结果,本技术方案
中将模板库中达到预设的匹配度的第一特征参数转化为识别结果为现有常规技术手段。
词重复出现的次数进行排序,每个词对应的序列即为该词的对应字向量,该字向量将作为
神经网络训练的标签参与训练;将字向量转换为文字获得识别结果。
提供了两种来源,分别是音素和词序列,本技术方案采用次词序列作为标签来源。转换的基
本思路是将所有翻译文件中的文字集合,去除重复的词,翻译文件内已将句子拆分为词,最
后根据词重复出现的次数进行排序,每个词对应的序列即为该词的对应向量,该向量将作
为神经网络训练的标签参与训练。为了使得标签更加简洁,字向量采用了稀疏表示的方式。
同时,在最后的测试阶段,也需要将字向量转换为文字获得测试结果。
高,所花的时间就越少。但正是这样的方式导致了最后识别结果出现了多字问题:假设所有
样本均时长为t,梅尔频率倒谱系数为26,每批次进入网络训练的样本数为4,那么每批输入
数据在形式上是一个(4,t,26)的三维输入矩阵,由于三维数据与全连接层是无法直接连接
的,所以要将其转化为(4×t,26)的二维矩阵,这样的转换相当于将4段语音连接为1段语音
进行训练,中为了控制每批数据进入网络训练时的时序长度相同,对于较短的数据进行了
补零处理,这导致连接后的语音之间存在一定时长的0序列,而对神经网络来说,它在训练
时是无法自主分割这四段语音的,所以在训练时这些0序列也被当做语音内容进行训练,并
导致最后测试阶段4段语音之间出现了多字现象。为了解决这一问题,发明人尝试了两种方
法,第一种是直接缩减训练时每批样本数为1,也就是将语音分别进行网络训练,这从本质
上杜绝了多字现象的发生,但是这样的方式大大降低了学习效率,需要消耗更多的训练时
间;第二种方式是不改变训练过程,而是缩减预测时每批样本数为1,虽然这种方式令多字
的情况仍然保留在模型里,但是预测时可以巧妙的避开:在预测时,主要借助的是CTC解码
器,该解码器配合CTC损失函数可以解决语音序列与文字序列对齐的问题;倘若预测时每批
样本数仍为4,当解码进行到第一段语与第二段语音的连接处时,对第一段语音的解码已经
完成但是由于语音序列还未结束,继续解码会出现模型中保存的多字现象;但是若把预测
时的每批样本数改为1,第一段语音解码完成后语音序列也结束了,解码随即结束,多字现
象就被隐藏在模型中无法显示,这样就能巧妙的解决这个问题。发明人发现对循环神经网
络缩减测试时的batch size可以避免多字情况的发生,对卷积神经网络缩减训练时的
batch size,可以在保证学习效率的同时提高正确率。
为1×3的最大池化层,步长设置为1;第二卷积层为512个大小为1×4的过滤器,横向步长设
置为1,通道设置为128。
成一个特征图。特征图可以理解为过滤器从原始数据中提取的特征分类,所以特征图的个
数越多,代表特征分类越细致,那么该网络的拟合能力就会越好。本技术方案将卷积神经网
络中两层卷积的过滤器个数从128和256扩充为256和512,通过增加过滤器个数的方式从而
增强特征分类能力,其他参数均不改变。通过这一改进,发明人发现,现改进后的卷积神经
网络在性能指标上有着明显的提升,模型已经基本可以对句子原意进行复现,在WER和SER
两项上甚至接近了现有的循环神经网络,这说明增加卷积神经网络的特征分类能够有效的
提高语音识别的识别率,逐渐克服其无法关注时序信息的缺点。另外,虽然增加了卷积神经
网络的网络复杂度,但是运算时间并未增加多少,这再次证明了卷积神经网络的局部特征
总结方式有着更高的效率,倘若能够获得有效的卷积参数设置,该类网络一定能大大提升
模型的学习效率。
就是某一层网络在训练过程中随机的丢弃部分节点,丢弃的部分神经元在本次训练中将不
参与计算,本技术方案每一层网络均设置Dropout=5%,并且对每一层网络均设置Droptout。
下一时刻该神经元的输出。
26个MFCC参数扩充为从tx‑9到tx+9共19个时刻494个MFCC参数的总和,即输入矩阵扩充为[t/
2,494]
矩阵,设其为input1,同时将tx时刻到tx+9时刻的MFCC特征参数封装为另一个输入矩阵,设
其为input2。
环神经网络的前向传播只处理时刻前的数据,后向传播只处理时刻后的信息。本技术方案
中的时长为t的数据,是指时长为t的语音。需要说明的是,本技术方案中数据扩充具体如
下:以一段时长为t,Mel系数为26的语音信号为例,其原本的特征参数矩阵为[t,26],但是
为了综合考虑时刻前后中的有利信息,将tx时刻26个MFCC参数扩充为从tx‑9到tx+9共19个时
刻494个MFCC参数的总和;本技术方案中input1=[t/2,260x‑9x],input2=[t/2,260xx+9]。
~ ~
只连接input1,另外1024个只连接input2;最后一层全连接层作为输出层用于分类,其节点
数对应标签个数用于分类。
从而增大识别成功率。本技术方案设置2048个节点,其中1024个用于正向传播,另外1024个
用于反向传播,分别模拟前向和后向传播过程:将上半层的结果输入一个含有1024个LSTM
的循环神经网络,只进行前向传播;现要求下半层的结果只进行后向传播,由于传统的循环
神经网络层均是前向传播的方式,所以不能直接输入数据。解决方式是在输入前将下半层
的结果反转,以倒序的形式输入含有1024个LSTM的循环神经网络中,用倒序的输入数据进
行前向传播,模拟了循环网络中后向传播的过程,之后将后向传播的结果再反转,恢复其本
来的时间序列顺序,再将该结果与前向传播的结果直接连接,输入全连接层进行分类。通过
这一设置,使循环神经网络在WER和编辑距离上只有微弱的提升,但是在SER上有着较大提
升,这说明模型整体确实得到了优化。此外,根据实验结果分析,虽然卷积循环网络受时刻
前后信息的相互影响,但是鉴于双循环的优势,这种影响已经被极大的降低,这证明模型从
时序中获取信息带来的效益远大于受到的影响。新的网络搭建策略通过拆分输入数据,再
拆分双向循环的网络结构,使得前向传播和后向传播分别独立地处理“过去”和“未来”的信
息,这有效地去除了“未来”信息对前向传播的影响,同理也去除了“过去”信息对后向传播
的影响。实验证明这样的搭建方式提高了识别的正确率,但是由于全连接层节点数翻倍,增
加了网络复杂度和计算量,使得训练时间加长。不过由于全连接层计算方式较简单,训练时
间只是略微增加。综合来看,这样的改进是值得的。需要说明的是,本技术方案中的LSTM指
长短期记忆人工神经网络。
进行一次取样,使得输入数据减小一半,这样被忽略的那个序列可以用反向RNN生成的输出
来代替,维持了序列的总长度不变。
同时提高学习效率和鲁棒性。
经网络的特征分类能够有效的提高语音识别的识别率,逐渐克服其无法关注时序信息的缺
点,大大提升模型的学习效率。
识别性能,使循环神经网络的前向传播只处理时刻前的数据,后向传播只处理时刻后的信
息。
率。
附图说明
具体实施方式
为对本发明的限定。
参数输入神经网络进行训练,比较神经网络的输出值与原信号标签的误差;不断更新神经
网络内部的权重和偏置从而获得可以用于识别的神经网络模型,并建立模板库,所述模板
库包括不同语音的第一特征参数;获取预测样本合集,对预测样本合集进行预处理,将预测
样本合集转换为MFCC特征参数矩阵,并输入所述神经网络模型,通过神经网络模型对预测
样本合集进行特征提取获得第二特征参数,将第二特征参数与模板库中的第一特征参数进
行匹配预测,选择匹配相似度高的,获得在模板库中与第二特征参数对应的第一特征参数,
获得识别结果;其中,所述神经网络包括依序设置的卷积神经网络和循环神经网络,卷积神
经网络对输入的数据进行卷积,提取特征参数中的局部特征,同时减少频域变化,再将特征
图送入循环神经网络中。本发明将两种网络结合搭建组合网络,先利用卷积神经网络进行
特征总结、简化数据,再用循环神经网络网络处理时序信息,最后再进行分类,可以在保证
识别正确率的同时提高学习效率和鲁棒性。优选的,训练样本合集分批输入神经网络,神经
网络训练训练样本合集100次,每经历一次完整训练保存一次神经网络模型,并记录损失值
绘画损失曲线,以最后一次训练获得的神经网络模型为最终的神经网络模型。本技术方案
中对训练样本合集和预测样本合集进行预处理过程包括预加重、分帧、加窗和短时傅里叶
变换等处理,并根据MFCC特征参数计算原理,利用python下的第三方库将语音信号转换为
26维的MFCC特征参数矩阵。
重复出现的次数进行排序,每个词对应的序列即为该词的对应字向量,该字向量将作为神
经网络训练的标签参与训练;将字向量转换为文字获得识别结果。
况,在卷积神经网络中保证学习效率的同时提高正确率。
×3的最大池化层,步长设置为1;第二卷积层为512个大小为1×4的过滤器,横向步长设置
为1,通道设置为128。将卷积神经网络中两层卷积的过滤器个数从128和256扩充为256和
512,通过增加过滤器个数的方式从而增强特征分类能力,其他参数均不改变。
一时刻该神经元的输出。在循环神经网络设置隐藏层,使循环神经网络具有拆分双循环结
构,通过拆分双循环的结构,独立计算可以避免时序前后信息相互矛盾的影响。
阵,设其为input1,同时将tx时刻到tx+9时刻的MFCC特征参数封装为另一个输入矩阵,设其
为input2。通过扩充和拆分输入数据,使得输入数据在进入网络前就包含了来自“记忆”和
“未来”的有效信息,进一步配合前向传播和后向传播从而提升了识别性能,使循环神经网
络的前向传播只处理时刻前的数据,后向传播只处理时刻后的信息。
连接input1,另外1024个只连接input2;最后一层全连接层作为输出层用于分类,其节点数
对应标签个数用于分类。
用反向RNN生成的输出来代替,维持了序列的总长度不变。
增加卷积神经网络的特征分类能够有效的提高语音识别的识别率,逐渐克服其无法关注时
序信息的缺点。
80%的提高,从宏观上观察,Bi‑RNN网络对于大多数句子基本已经可以完整复现。
有2048的循环神经网络(具有隐藏层)。
高了识别的正确率。虽然由于全连接层节点数翻倍,增加了网络复杂度和计算量,使得训练
时间加长;不过由于全连接层计算方式较简单,训练时间只是略微增加,对网络性能影响几
乎可以忽略不计。
的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含
在本发明的保护范围之内。