zh

姓名格式错误

公司名称格式错误

数据堂严格遵守用户隐私条款,您所填写的信息我们会严格保密,请放心填写~

智能语音识别技术的探究

来源: 数据堂

当下,语音识别在各类移动终端上的应用最为火爆,语音助手、语音对话机器人、互动工具等层出不穷,许多互联网公司纷纷加入,展开智能语音识别技术的研究和应用,期待通过语音交互的新颖和便利迅速获取和占领客户群。


语音识别技术模型在中深度神经网络的应用

深度学习是指利用多层的非线性信号和信息处理技术,通过有监督或者无监督的方法,进行信号转换、特征提取以及模式分类等任务的机器学习类方法的总称。因为采用深层结构模型对信号和信息进行处理,所以这里称为“深度”学习。传统的机器学习模型很多属于浅层结构模型,例如支持向量机、GMMHMM、条件随机场、线性或者非线性动态系统、单隐层的神经网络等。


原始的输入信号只经过比较少的层次(通常是一层)的线性或者非线性处理以达到信号与信息处理,是这些结构模型的共同特点。浅层模型的优点在于在数学上有比较完善的算法,并且结构简单、易于学习。但是浅层模型使用的线性或者非线性变换组合比较少,对于信号中复杂的结构信息并不能有效地学习,对于复杂信号的表达能力有局限性。而深层结构的模型则更适合于处理复杂类型的信号,原因在于深层结构具备多层非线性变换,具有更强的表达与建模能力。


人类语音信号产生和感知就是这样一个极其复杂的过程,并且在生物学上被证明具有明显的多层次甚至深层次的处理结构,所以,对于语音识别任务,采用浅层结构模型明显有很大的局限性。利用深层次结构中的多层非线性变换进行语音信号中的结构化信息和更高层信息的提取,是更加合理的选择。


DNN在语音识别系统中的应用和局限性

2011年之后,基于DNN-HMM声学模型在多种语言、多种任务的语音识别上取得了比传统 GMM-HMM 声学模型大幅度且一致性的效果提升。基于DNN-HMM语音识别系统的基本框架如图所示,采用DNN替换GMM模型来建模语音观察概率,是其和传统的 GMM-HMM 语音识别系统最大的不同。前馈型深度神经网络由于比较简单,是最初主流的深层神经网络。



语音识别的特征提取需要首先对波形进行加窗和分帧,然后再提取特征。训练 GMM 模型的输入是单帧特征,DNN则一般采用多个相邻帧拼接在一起作为输入,这种方法使得语音信号更长的结构信息得以描述,研究表明,特征拼接输入是DNN相比于GMM可以获得大幅度性能提升的关键因素。由于说话时的协同发音的影响,语音是一种各帧之间相关性很强的复杂时变信号,正要说的字的发音和前后好几个字都有影响,并且影响的长度随着说话内容的不同而时变。虽然采用拼接帧的方式可以学到一定程度的上下文信息,但是由于DNN输入的窗长(即拼接的帧数)是事先固定的,因此DNN的结构只能学习到固定的输入到输入的映射关系,导致其对时序信息的更长时相关性的建模灵活性不足。


递归神经网络在声学模型中的应用

语音信号具有明显的协同发音现象,因此必须考虑长时相关性。由于循环神经网络具有更强的长时建模能力,使得 RNN也逐渐替代 DNN成为语音识别主流的建模方案。DNN RNN 的网络结构如图所示,RNN在隐层上增加了一个反馈连接,是其和DNN最大的不同。这意味着RNN 的隐层当前时刻的输入不但包括了来自上一层的输出,还包括前一时刻的隐层输出,这种循环反馈连接使得RNN原则上可以看到前面所有时刻的信息,这相当于RNN具备了历史记忆功能。对于语音这种时序信号来说,使用RNN建模显得更加适合。



但是,传统的 RNN 在训练过程中存在梯度消失的问题,导致该模型难以训练。为了克服梯度消失问题,有研究人员提出了长短时记忆RNNLSTM-RNN 使用输入门、输出门和遗忘门来控制信息流,使得梯度能在相对更长的时间跨度内稳定地传播。双向LSTM-RNN BLSTM-RNN)对当前帧进行处理时,可以利用历史的语音信息和未来的语音信息,从而容易进行更加准确的决策,因此也能取得比单向LSTM更好的性能提升。


尽管双向LSTM-RNN的性能更好,但它并不适合实时系统,由于要利用较长时刻的未来信息,会使得该系统具有很大时延,主要用于一些离线语音识别任务。基于此,研究人员提出了延迟受控 BLSTM和行卷积 BLSTM 等模型结构,这些模型试图构建单向LSTMBLSTM之间的折中:即前向LSTM保持不变,针对用来看未来信息的反向LSTM做了优化。在LC-BLSTM结构中,标准的反向LSTM被带有最多N帧前瞻量的反向LSTM替代,而在行卷积模型中被集成了N帧前瞻量的行卷积替代。


基于FSMN的语音识别系统

目前国际上已经有不少学术或工业机构在进行 RNN 架构下的研究。目前效果最好的基于BLSTM-RNN 的语音识别系统存在时延过大的问题,这对于实时的语音交互系统(如语音输入法),并不合适。尽管可以通过 LC-BLSTM 和行卷积BLSTMBLSTM做到实时语音交互系统,由于RNN具有比DNN更加复杂的结构,海量数据下的RNN模型训练需要耗费大量的时间。最后,由于RNN对上下文相关性的拟合较强,相对于DNN更容易陷入过拟合的问题,容易因为训练数据的局部问题而带来额外的异常识别错误。



FSMN 的结构示意如图所示,其主要是基于传统DNN结构的改进,在DNN的隐层旁增加了一个“记忆模块”,这个记忆模块用来存储对判断当前语音帧有用的语音信号的历史信息和未来信息。FSMN 记忆块的记忆功能是使用前馈结构实现的,这点有别于传统的基于循环反馈的 RNN 模型。采用这种前馈结构存储信息有两大好处:首先,传统双向RNN必须等待语音输入结束才能对当前语音帧进行判断,双向FSMN对未来信息进行记忆时只需要等待有限长度的未来语音帧即可,这个优点使得FSMN的时延是可控的。实验证明,使用双向FSMN结构,时延控制在180 ms时就能取得和传统双向RNN相当的效果;其次,传统简单的 RNN 实际并不能记住无穷长的历史信息,而是只能记住有限长的历史信息,原因是其训练过程中存在梯度消失的问题。然而 FSMN的记忆网络完全基于前馈展开,在模型训练过程中,梯度则沿着记忆块与隐层的连接权重往回传给各个时刻,对判断当前语音帧的影响的信息通过这些连接权重来决定,而且这种梯度传播是可训练的,并且在任何时刻都是常数衰减,以上的实现方式使得FSMN也具有了类似LSTM 的长时记忆能力,这相当于使用了一种更为简单的方式解决了传统 RNN 中的梯度消失问题。另外,由于FSMN完全基于前馈神经网络结构,也使得它的并行度更高,GPU计算能力可利用得更加充分,从而获得效率更高的模型训练过程,并且FSMN结构在稳定性方面也表现得更加出色。


基于卷积神经网络的语音识别系统

卷积神经网络的核心是卷积运算(或卷积层),是另一种可以有效利用长时上下文语境信息的模型。继 DNN 在大词汇量连续语音识别上的成功应用之后,CNN 又在 DNN-HMM 混合模型架构下被重新引入。重新引入CNN最初只是为了解决频率轴的多变性来提升模型的稳定性,因为该混合模型中的 HMM 已经有很强的处理语音识别中可变长度话语问题的能力。早期CNN-HMM模型仅使用了 12 个卷积层,然后和全连接 DNN层堆叠在一起。后来,LSTM 等其他 RNN 层也被集成到了该模型中,从而形成了所谓的CNN-LSTM-DNNCLDNN)架构。


基于CNN-HMM框架的语音识别吸引了大量的研究者,但是始终鲜有重大突破,最基本的原因有两个:首先是他们仍然采用固定长度的语音帧拼接作为输入的传统前馈神经网络的思路,导致模型不能看到足够的上下文信息;其次是他们采用的卷积层数很少,一般只有12层,把CNN视作一种特征提取器来使用,这样的卷积网络结构表达能力十分有限。针对这些问题,科大讯飞在2016年提出了一种全新的语音识别框架,称为全序列卷积神经网络(deep fully convolutional neural networkDFCNN)。实验证明,DFCNN BLSTM 语音识别系统这个学术界和工业界最好的系统识别率提升了 15%以上。


大规模语音数据下神经网络声学模型的训练

相比于传统的 GMM-HMM 系统,基于DNN-HMM 语音识别系统取得了巨大的性能提升。但是DNN声学模型的训练却非常耗时。举个例子,在一个配置为E5-2697 v4CPU上进行 2 万小时规模的语音数据的声学模型训练,大概需要 116 天左右才能训练完。造成这种情况的潜在原因是将随机梯度下降算法作为神经网络训练中的基本算法,SGD算法收敛相对较慢,而且是一个串行算法,很难进行并行化训练。而目前工业界主流的语音识别系统涉及的训练数据一般为几千小时甚至几万小时级别,因此,提高在大规模语音数据下深度神经网络的训练速度和训练效率,也成为了研究热点和必须解决的问题。


由于深度神经网络的模型参数非常稀疏,利用这个特点,将深度神经网络模型中超过 80%的较小参数都设置为 0,几乎没有性能损失,同时模型尺寸大大减少,但是训练时间并没有明显减小,原因是参数稀疏性带来的高度随机内存访问并没有得到太多的优化。进一步地,在深度神经网络中,用两个低秩矩阵的乘积表示权重矩阵,实现了30%50%的效率提升。


为此,为了更好地实现神经网络并行训练,一种新的基于状态聚类的多深层神经网络建模方法被提出,该方法先将训练数据在状态层面进行聚类,在状态层面进行不相交的子集划分,使得不同计算单元神经网络之间的数据传递规模大幅度减小,从而实现每个神经网络完全独立的并行训练。使用4GPU,在聚类数为4类的情况下,在SWB SwitchBoard)数据集上的实验表明,这种状态聚类的多神经网络方法取得了约4倍的训练效率提升。


深度学习理论除了在声学模型建模上获得了广泛的应用外,在语音识别系统另外的重要组件——语言模型上也得到了应用。在深度神经网络普及之前,语音识别系统主要采用传统的统计语言模型N-gram模型进行建模。N-gram模型也具备明显的优点,其结构简单且训练效率很高,但是 N-gram 的模型参数会随着阶数和词表的增大而指数级增长,导致无法使用更高的阶数,性能容易碰到瓶颈,在训练语料处于相对稀疏的状态时,可以借助降权(discounting)和回溯(backing-off)等成熟的平滑算法解决低频词或不可见词的概率估计问题,以获得比较可靠的模型估计。


深度学习、大数据和云计算之间的关系

基于深度学习的语音识别技术在21世纪初走向舞台的中央,并不只是由于深度学习类机器学习算法的进步,而是大数据、云计算和深度学习这3个要素相互促进的结果。


不同于之前 GMM-HMM 语音识别框架表达能力有限、效果对于大规模数据易饱和的情况,深度学习框架所具备的多层非线性变换的深层结构,则具有更强的表达与建模能力,使得语音识别模型对复杂数据的挖掘和学习能力得到了空前的提升,使得更大规模的海量数据的作用得以充分的发挥。大数据就像奶粉一样,“哺育”了深度学习算法,让深度学习算法变得越来越强大。


随着移动互联网、物联网技术和产品的普及,更重要的是采用云计算的方式,使得多种类型的海量数据得以在云端汇集。而对大规模的数据的运算的要求则又显著提升了对于云计算方式的依赖,因此云计算成为了本次深度学习革命的关键推手之一。深度学习框架在云端的部署,则显著增强了云计算的能力。


正是由于深度学习、大数据和云计算三者的相互促进,才成就了语音技术的进步,成就了人工智能的浪潮。


( 部分内容摘自网络,如有侵权 ,请联系删除。)

18

251