第三课:语音识别技术的研究进展
小欣:这节课,温老师会为我们讲解语音识别技术的研究进展。
温正棋:有了前端处理以后,反馈回来的信息会加到训练语音识别模型。语音识别主要是建立一个声学参数到发音单元的映射模型或者叫判别模型,现在的方法从传统的GMM-HMM模型到DNN-HMM混合模型,再到最新的端到端的CTC相关的。
语音信号经过特征提取得到声学特征再通过声学特征训练得到声学模型,声学模型结合语言模型以及发音辞典构建声码器以后,最终识别出文本。
GMM用来对每个状态进行建模,HMM描述每个状态之间的转移概率,这样就构建了一个音素或三因子的HMM模型建模单元。
GMM训练速度相对较快,而且GMM声学模型可以做得比较小可以移植到嵌入式平台上,其缺点是GMM没有利用上下文信息同时GMM不能学习深层的非线性特征变换,建模能力有限。
随着深度神经网络的兴起,深度神经网络也应用到了语音识别里面声学建模,主要是替换了GMM-HMM模型里的GMM模型,上端仍然是HMM模型加状态转移。
而下端比如说在GMM模型里面可能有接近1万个状态,这个状态可以通过DNN模型预测出每个的概率,输出的就是一个三因子。我们两者结合起来构建基于DNN-HMM的声学模型。
DNN有本身的优点。比如DNN能利用的上下文系统在输入端进行扩帧同时又非线性变换可以学习到,但DNN不能利用历史信息捕捉当前的任务,因为扩帧是有限的不可能无限扩下去,所以他输入的历史信息还是有限的。
因此自然而然的有了基于RNN的混合声学模型将DNN模块替换成RNN模块,RNN能够有效的对历史信息进行建模并且能够将更多的历史信息保存下来,可于将来的预测。
但是在RNN训练过程中会存在梯度消失和梯度膨胀的问题。梯度膨胀可以在训练过程中加一些约束来实现,当梯度超过一定值以后设定一个固定值,但是梯度消失很难去把握。
因此有很多方法解决这种问题,比较简单的一个方法是将里面的RNN单元变成长短时记忆模型LSTM,这样长短时记忆模型能够将记忆消失问题给很好的解决但这样会使计算量显著增加,这也是在构建声学模型中需要考虑的问题。
CNN用于声学模型建模。有一个比较老的方法是在DNN的前端加两层的CNN变换这样只对参数做了一定的非线性变换,变化完后输入DNN和LSTM里面。但是随着非常深的CNN在图象识别里面成功应用这些也被运用到了声学模型中,比如说谷歌、微软、IBM均在2016年发表成果证明非常深的CNN模型已经超越其他深度神经网络的模型,其词错率是最低的。
CTC本身是一个训练准则并不算声学模型。在DNN输出中每个phone占用的帧数可能有十帧二十帧因为它不是一个尖峰,但CTC会把它变成一个尖峰。
CTC可以将每一帧变成一个senones或者对应一个因数,但每个因数只需几帧就可以了。在解码的时候可以把一些blank帧给去掉,这样可以显著的增加解码速度。
减少解码帧有两种方法:一种是通过减帧、跳帧的方法,另一种在解码过程中有一个beam。特别是遇到beam的时候把并值减少,我们的实验结果跳帧会比较好。
在NLP中应用较多的Attention端对端的声学模型能够从RNN历史信息中挑选出比较重要的信息对词学进行建模,目前的准确率比较低这应该是一种趋势,至少在NLP中证明了它是比较成功的。
总结起来现在的语音识别模型更新特别快,最重要的核心内容就是数据。如果数据量足够大做出一个好的结果还是比较容易的,而且我们现在语音识别核心模块主要是在一些解码模块上、调优上,这相当于是一种艺术。
小欣:下节课,温老师会为我们讲解语音合成技术的研究进展。
【版权归钛媒体所有,未经许可不得转载】
账号合并
经检测,你是“钛媒体”和“商业价值”的注册用户。现在,我们对两个产品因进行整合,需要您选择一个账号用来登录。无论您选择哪个账号,两个账号的原有信息都会合并在一起。对于给您造成的不便,我们深感歉意。
Oh! no
您是否确认要删除该条评论吗?