首页 理论教育 语音识别中声学模型的建立方法

语音识别中声学模型的建立方法

时间:2023-10-17 理论教育 版权反馈
【摘要】:语音识别是深度学习方法在工业界中的第一个成功应用。也源于不断深入探索深度学习能力以及研究语音识别的最新技术,其中包括引人瞩目的高效解码技术。长期以来,GMM-HMM的方法在语音识别中占据主导地位。他们的成果代表了语音识别的最新水平,这些公司的语音产品和服务近年来被媒体广泛地报道。这种同时学习分类器和特征表示的思想,其实在基于GMM-HMM的语音识别中早有研究,然而也只是近期应用深度学习的方法使得语音识别的识别率大大提升。

语音识别中声学模型的建立方法

语音识别是深度学习方法在工业界中的第一个成功应用。这是工业界和学术界紧密合作的成果,源于微软研究院研究员对大规模的工业需求前瞻性的预见以及积极地参与。也源于不断深入探索深度学习能力以及研究语音识别的最新技术,其中包括引人瞩目的高效解码技术。

长期以来,GMM-HMM的方法在语音识别中占据主导地位。该方法主要是基于上下文相关的浅层、扁平的GMM和HMM生成式模型。虽然神经网络的方法有一段时间非常流行,但效果还是远不如GMM-HMM。即便是具有深度隐藏动态(deep hidden dynamics)特征的生成式模型也难以与GMM-HMM的识别效果相比。

2010年,在学术界和工业界研究者的紧密合作下,深度学习和DNN开始对语音识别领域产生影响。合作从音素识别任务开始,在这个任务中,将混合DNN以及后续会述及的卷积(convolutional)和回归(recurrent)结构的新模型的建模能力体现得淋漓尽致。在特征方面,研究者从普遍使用的MFCC特征向更底层的特征进行研究,这也说明了原始语音频谱特征的重要性,尽管如此,截止撰写本书时,仍然没有使用原始语音波形作为特征的方法。工业界和语音界的合作也在大词汇量语音识别领域取得了很好的成果。类似GMMHMM的语音单元(Senones),DNN在大词汇量语音识别领域的成功应用很大程度上归功于大规模输出层结构的使用。语音研究者想继续保持业已证明在GMM-HMM框架中非常有效的上下文相关的音素建模技巧,同时对已有的高效的GMM-HMM解码器软件架构进行尽量小的改动来适应新的模型。同时,这项工作也表明,当拥有足够大的数据量时,可以不必使用基于DBN的预训练。以下三个因素,使得基于深度学习的语音识别从学术界到工业界取得了广泛的成功:(1)相比目前最好的GMM-HMM系统,识别错误率明显下降;(2)音素状态(senones)作为DNN输出层使得部署基干DNN的解码器对原解码器的改动很小;(3)DNN强大的建模能力降低了系统的复杂性。截至2013年ICASSP会议,全世界至少有15个主要的语音识别团队的实验证明了在大规模语音识别任务上使用DNN的有效性,以及用原始语音频谱特征(而不是MFCC)可以得到更好的结果。这些团队包括了著名的工业界语音实验室,如Microsoft、IBM、Google、讯飞和百度。他们的成果代表了语音识别的最新水平,这些公司的语音产品和服务近年来被媒体广泛地报道。

1.回归语音的原始频谱特征

深度学习,也称为表示学习或(无监督)特征学习,它要达到的一个重要目标是使其能够自动地从原始数据中提取有效的特征,这个目标与具体应用领域的种类是无关的。对于语音的特征学习和语音识别而言,这个目标可以归纳为对原始频谱特征的使用或是对波形特征的使用。过去30年以来,虽然对语音频谱进行变换丢失了原始语音数据的部分信息,但是多种“手工制作”(hand-crafted)的特征促进了GMM-HMM系统识别率的巨大提升。其中最成功的是非自适应余弦变换,它促进了Mel频率倒频谱系数(MFCC)特征的产生。余弦变换近似地去除了特征成分之间的相关性,这对于使用对角协方差阵的GMM来说是很重要的。然而,当深度学习模型(如DNN、DBN)、深度自编码器替代GMM模型以后,由于深度学习建模方法具有强大的相关性建模能力,使得去除特征之间的相关性变得无关紧要。较早的一篇研究论文说明了深度学习的这个优点,并且在使用非监督学习的自编码器对语音的瓶颈层(bottleneck)特征进行编码时,直接使用语谱比MFCC更有效。

从语音波形(原始语音特征)到MFCC以及它们的时间差分,这个流程经历了多个中间步骤:对数谱、Mel域滤波器组,参数是从数据中学习得到的。深度学习的一个重要特性是:不用单独设计特征表示器和分类器。这种同时学习分类器和特征表示的思想,其实在基于GMM-HMM的语音识别中早有研究,然而也只是近期应用深度学习的方法使得语音识别的识别率大大提升。Mohamed等人,Li等人和Deng等人均指出,在大规模的DNN中使用原始Mel域的滤波器组特征替代MFCC可以使错误率显著降低。这些结果说明,DNN可以从Mel域的滤波器组特征中学习到比固定余弦变换更好的变换。

相比于MFCC,原始频域特征不仅保留了更多的信息,而且可以使用卷积和池化(pooling)操作来表达和处理一些典型的语音多变性一一例如,说话人的声带长度差异,不同发音风格引起的共振峰位置差异等,而这些多样性都隐含在频域中。例如,只有用频域特征替换MFCC特征之后,卷积神经网络(Convolutional Neural Network,CNN)方可有意义并有效地应用在语音识别中。

最近,Sainath等人通过学习定义在能量谱上的滤波器组参数,向原始特征又迈进一步。也就是说,与Mel域的滤波器组特征作为输入不同的是,Mel域滤波器的权值仅用于初始化参数,再和其余的深度神经网络层参数一起进行学习,得到分类器。上述同时学习特征产生器和分类器的架构如图8-1所示。结果表明,这种方法使得识别错误率大大降低。

图8-1 滤波器参数和其他深度网络参数同时学习

图中词语翻译对照表

事实证明,学习频域特征和时域特征对语音识别都是十分有益的。最近,Yu等人通过对网络进行逐层分析,来揭示原始滤波器组特征作为输入时DNN不同层的性质。他们指出使用DNN所带来的语音识别准确率的提升,部分归功于DNN能够提取区分性内部表示的特性,这一特性对于多种来源的语音信号可变性是鲁棒的。他们也发现:网络高层获得的区分性的内部表示对输入层的微小扰动不敏感,这一特点帮助了语音识别率的提高。

最后,深度学习将促进更底层原始语音特征(如语音波形)的使用来进行语音识别,并自动学习特征变换。Jaitly和Hinton对上述目标进行了最初的尝试,他们将原始语音波形作为具有卷积结构的RBM的输入来训练分类器。在隐层使用整流线性单元(rectified linear units),可在一定程度上自动地对语音波形幅度变化进行归一化。虽然最终实验结果并不是很好,但是这项工作说明在使用原始特征方向上有待更深入的研究。例如,Sainath等人的研究表明,使用原始语谱作为特征输入相比于MFCC,需要在归一化上额外注意,而使用语音波形在归一化方面则更需注意。无论是在GMM还是深度学习的方法中,这一点均得到验证。

2.DNN-HMM架构和使用DNN生成特征的对比

近来另一个研究热点是在使用深度学习方法的语音识别中两种迥然不同的方式:(1)直接使用DNN-HMM架构进行语音识别;(2)首先使用DNN提取特征,然后将其作为一个独立的序列分类器的输入。在语音识别领域,神经网络的输出直接用于估计HMM的发射概率的系统称为ANN/HMM混合系统。为了学习DNN的参数,将无监督的预训练和有监督的精调相混合,ANN/HMM混合系统中所说的“混合”和这种“混合”是不一样的。

(1)DNN-HMM架构作为识别器

早期的DNN-HMM架构是在NIPS研讨会上提出的,该架构由多伦多大学和微软研究院的语音研究者建立。在这项工作中,使用5层DNN(在论文中称为DBN)替换GMMHMM系统中的混合高斯模型(GMM),并以单音素(monophone)状态作为建模单元。尽管单音素比三音素(triphone)的表征能力差一些,但使用单音素DNN-HMM架构的方法却比当时最先进的三音素GMM-HMM系统识别率更高。此外,DNN的结果还略优于当时最好的隐生成轨迹模型(Hidden Trajectory Model,HTM)系统。这些实验都是在研究者熟知的TIMIT数据上得到的结果,并且采用相同的评测方法。在雷德蒙德的微软研究院,通过对这两个相互独立的系统(DNN和HTM)的仔细分析,发现它们产生的错误类型大相径庭,这反映了两种方法的核心能力不同,引发了对DNN-HMM方法更多更深入的研究,下面将对这些研究进行描述。

微软研究院和多伦多大学的研究者将DNN-HMM系统从单音素表示扩展到三音素表示或上下文相关的表示,从音素识别扩展到大词汇量语音识别。微软研究院在24小时和48小时的Bing语音搜索的录音数据上的实验结果表明,上下文相关的DNN-HMM性能明显优于主流的GMM-HMM系统。除了使用DNN之外,还有三个因素促进了这项研究的成功:使用绑定三音素作为DNN建模单元;状态对齐结果由最好的三音素GMM-HMM系统给出;很好地利用长窗输入特征。实验还表明,使用5层DNN-HMM系统的解码时间几乎与最先进的GMM-HMM系统相同。

这些成功迅速扩展到具有几百甚至几千小时的训练数据,具有几千个三音素状态的大词汇量语音识别任务,包括Switchboard和广播新闻数据集、Google语音搜索和YouTube等任务。以SwitchBoard为例,与最先进的GMM-HMM系统相比,上下文相关的DNN-HMM(context-dependent DNN-HMM,CD-DNN-HMM)使识别错误下降了三分之一。表8-1总结了一些早期基于最基本的DNN-HMM结构的文献和之前最先进的生成式模型的语音识别错误率对比(有更好结果的高级系统没有在这个表中列出)。应该注意的是,表格中从A到D,即从一个任务到下一个,数据量增加了近一个数量级。随着数据集的增大,任务的计算量也随之(几乎线性)上升,最重要的是相对错误率下降幅度非常明显——从大约10%到20%,再到30%。尽管DNN-HMM整体架构的概念简单,并有一些公认的缺点,但是这些实验已经足够证明DNN方法强大的描述能力。

表8-1展示了DNN-HMM架构和生成式模型(如GMM-HMM)就音素或词错误率的对比。从A到D,数据集的增长接近三个数量级。

表8-1

表中词语翻译对照表

(2)在独立的识别器中使用DNN提取的特征

对于语音识别而言,上述DNN-HMM架构的一个明显缺点是,在过去20年间提出的很多针对GMM-HMM行之有效的技术,如区分性训练(特征空间和模型空间)、无监督说话人自适应算法、噪声鲁棒算法和在大数据集下可伸缩的批训练工具可能无法直接应用到新的系统中,尽管近来DNN-HMM架构也采用了类似的技术。利用Hermansky等人最初提出的“串联”(tandem)方法可以有效地解决这个问题,这个方法将神经网络的音素后验概率输出和声学特征相结合,从而生成新的扩展特征来作为独立GMM-HMM系统的输入。

Vinyal和Ravuri使用这个串联方法将DNN的输出作为不匹配的带噪语音的特征。他们的研究表明:在无噪声的情况下DNN是优于单层神经网络的,但是随着噪声加太,这个优势逐渐消失。此外,在低噪或中等噪声情况下的串联结构,使用MFCC和DNN后验结合的特征是优于只用DNN特征的。Tüske和Imseng比较了这种串联方法和直接使用DNNHMM方法的效果。

另一种提取DNN特征的方法是使用“瓶颈”(bottleneck)层,它比DNN的其他层节点数都少,目的是为了限制网络的容积。这种瓶颈层特征,通常和原始声学特征相结合并加以其他降维技术,作为GMM-HMM系统的输入。一般认为UNN生成的瓶颈层特征,可以当作从短时频谱中提取的声学特征的一个补充。Yu和Seltzer基干上述瓶颈层特征构建了语音识别器,其结构如图8-2所示。一些基于DNN瓶颈层特征的若干变种方法参见文献。

图8-2 使用DNN瓶颈提取的特征作为GMM-HMM输入的识别器

图中词语翻译对照表

还有另一种由DNN生成特征的方法,是将网络最后一个隐层的输出作为新的独立识别器的输入。使用的GMM-HMM识别器中,其输入来自DNN的高维输出经过降维后得到的特征。在最新的研究中,递归神经网络(Recurrent Neural Network,RNN)充当后端识别器,DNN的高维输出不经过降维而直接将其作为特征输入给该识别器。这些研究也表明,从RNN序列识别器的识别精度来看,使用DNN最高隐层作为特征相比其他隐层或输出层的效果更好。

3.深度学习对噪声的鲁棒性

关于语音识别噪声鲁棒性的研究已经有很长的历史,比深度学习的出现都要早的多。一个主要原因是基于GMM-HMM的声学模型对于不同加噪测试数据的脆弱性,这是由于带噪的测试数据在特性上与训练数据(可能带噪或不带噪)不同所导致的。按以下5个不同准则对过去30年中的噪声鲁棒技术进行分析及分类:(1)特征域与模型域的处理;(2)使用声学环境失真的先验知识;(3)显式地使用环境失真模型;(4)确定与不确定的处理方式;(5)使用与测试阶段相同的特征增强或者模型自适应技术训练的声学模型。

许多在模型层面提出的GMM-HMM抗噪技术(如Li等人和Gales关于模型域的噪声鲁棒性研究)并不可以直接应用到深度学习的语音识别中,而特征层面的技术则可以直接应用到DNN系统中。Seltzer等人对特征层面语音识别噪声鲁棒性进行了深入的研究,他们在DNN的输入特征层应用了C-MMSE特征增强算法。通过对训练数据和测试数据使用相同的算法,DNN-HMM识别器可以学习到增强算法引入的一致性错误和失真。这项研究也成功地探索了噪声察觉(noise-aware)的DNN训练模式,其中将对噪声的估计拼接到每个观测上,在Aurora4任务中取得了很突出的效果。最近,Kashiwagi等人在DNN识别器使用SPUCE特征增强技术,DNN输出层由没有噪声的数据决定,而在Seltzer等人的工作中,DNN输出层是由加噪数据决定的。

除了DNN,研究者们也提出了其他用于特征增强和噪声鲁棒性语音识别的深度网络架构。例如,Mass等人使用深度回归自动编码器网络来消除输入特征中的噪声。模型是由加噪和无噪并行的语音特征训练,用来在有噪输入的条件下预测无噪声特征,实验设置与SPLICE相似,不同之处是使用深度模型替代GMM。Vinyals和Ravuri研究了噪声鲁棒性语音识别的串联(tandem)方法,其中DNN用噪声数据直接训练并生成后验特征。最后Rennie等人探索使用一种RBM来做噪声鲁棒性识别,称为因子化隐RBM。

4.DNN的输出表示

在语音识别和其他信息处理应用中,大多数深度学习方法在没有过多考虑输出表示的情况下,着眼于从输入声学特征来学习表示上。例如,深度视觉语义向量模型(Deep Visual-Semantic Embedding Model),利用从文本向量中得到的连续值输出表示,来帮助深度网络对图像进行分类。强调了在语音识别中为神经网络输出层设计有效的语言表示的重要性。

现在,大多数的DNN系统使用高维的输出层表示,来匹配HMM中上下文相关的音素状态。由于这个原因,输出层的计算会消耗总计算时间的1/3。为了提高解码速度,通常将低秩近似(low-rank approximation)应用到输出层。首先训练高维输出层的DNN。然后应用奇异值分解(Singular Value Decomposition,SVD)对输出层矩阵进行降维。输出矩阵进一步合并,用两个小矩阵乘积作为原始大权值矩阵的近似结果。这种技巧实质上将原始高维输出层转换为两层个瓶颈线性层和一个非线性输出层——两者都具有很小的权重矩阵。降维转换后的DNN被进一步优化。实验结果表明,即使输出层大小减少一半,识别率也不会降低,同时也会大幅度减少计算时间。

语音识别的输出表示可以从符号或音系单位结构化的设计中获益。众所周知,人类语音具有丰富的符号本质音素结构。同样的,长久以来,在工程应用的语音识别系统中,使用音素或更精细的状态序列,即使上下文相关,也不足以表示这种丰富的结构。因此,符号或音系单位的设计也是提高语音识别系统性能的有价值的研究方向。综述了语音内部结构的基本理论和语音识别技术的相关性,例如语音模型输出表示的确定、设计与学习。(www.xing528.com)

在语音识别中,着眼于设计与语言结构相关的输出表示,成为基于深度学习的语音识别中越来越热的研究方向。论证了基于上下文相关的音素单元的局限并提供了一种解决方案。这种限制的根本原因是,由决策树创建的一个类中所有的上下文相关音素状态共享一套参数,这就降低了解码阶段更细粒度状态的分辨能力。提出的解决方案是:上下文相关DNN的输出表示,作为标准状态建模(canonical state modeling)技术的一个实例,其中采用了更广泛的音素类。首先,使用更广的上下文将三音素聚类为多个更小的两音素集合。然后,训练DNN以区分这些两音素集合。使用逻辑回归将标准状态转

换为三音素状态输出概率。也就是说,上下文相关DNN输出层表示的总体设计是自然的分层结构,同时解决了数据稀疏性问题和低分辨率问题。

语音识别中,设计输出层语言表示的相关工作可以参考一些资料,这些设计是在GMM-HMM语音识别系统中,但同样可以扩展到深度学习模型中。

5.基于DNN的语音识别器自适应

DNN-HMM是20世纪90年代人工神经网络和HMM混合系统的升级版本,这期间出现了很多自适应技术,其中大部分是基于对输入层或输出层的网络权值的线性变换。许多基于DNN的自适应探索性研究使用和上面相同或相近的线性变换方法。然而,与早期的窄层和浅层神经网络系统相比,DNIN-HMM的参数个数明显变多,这是因为DNN-HMM需要更深更宽的隐层结构和更多的上下文相关的音素和状态输出。这种不同给DNN-HMM系统的自适应提出了新挑战,尤其是在自适应中数据较少的情况下。这里我们将讨论在大规模DNN系统下最新的几个具有代表性的研究,这些研究旨在克服上述的挑战。

Yu等人提出了DNN正则化(regularized)自适应技术。通过强制自适应模型估计出来的分布与自适应前的接近,来适当地修正权值。这个约束通过对自适应规则增加Kullback-Leiblers散度(Kullback-Leibler Divergence,KLD)正则化来实现。这种正则化方法与传统误差反向传播算法修正目标分布是等价的,因此DNN模型训练过程几乎不用做改动。新的目标分布由自适应之前的模型分布的插值和真实数据与自适应数据的对齐得到。这种插值通过防止自适应模型远离说话人无关模型,从而避免过训练(overtraining)。这种正则化的自适应方法与L2正则化不同,L2正则化限制模型参数本身而非输出概率。

DNN自适应不在传统的网络权值上,而是在隐层激活函数上进行。因为这种方法仅需要对一定数量的隐层激活函数进行自适应,所以有效地克服了现有基于线性变换自适应方法依赖于输入或输出层权值的弱点。

我们注意到,一些无监督或半监督的自适应DNN声学模型的方法也取得了成功。

最近,Saon等人探索了一种对语音识别自适应十分有效的新方法。这种方法将I-vectors特征和特征域最大似然线性回归(feature-domain max-likeli-hood linear regression,fMLLR)特征进行组合作为DNN的输入。I-vectors(I-dentity vectors)通常用于说话人确认和说话人识别,该方法可以将说话人的相关信息封装为一个低维特征。而fMLLR是GMM-HMM系统自适应的一种非常有效的技术。由于I-vector不服从频率的局部性,因此必须与服从频率局部性的fMLLR特征进行组合才能发挥效力。多尺度的CNN-DNN架构拥有组合不同类型特征的特性。因此在解码阶段和训练阶段,特定说话人的I-vector特征都附加到帧级的fMLLR特征之后。

6.更好的架构和非线性单元

最近几年中,自从全连接(fully-connected)DNN-HMM混合系统的巨大成功之后,研究者们提出了许多新架构和非线性单元,并评估了它们在语音识别中的功效。这里,我们将对这些工作的发展进行综述,作为对文献综述的扩充。

Yu等人介绍了DNN的张量(tensor)版本,对传统的DNN进行了扩展,使用双投影层和张量层替代DNN中的一层或多层。在双投影层,任一输入向量投影到两个非线性的子空间。在张量层,两个子空间投影相互作用,在整个深度架构中共同预测下一层。一种方法是将张量层映射到传统的sigmoid函数层,因此前者就可以像后者一样进行处理和训练。由于这种映射,张量型的DNN可以看成是对DNN使用双投影层进行扩充,这样后向传播学习算法便可以清晰地推导,也相对容易实现。

和上述相关的一个架构是张量型DSN,它可以有效地应用到语音分类和识别领域。采用同样的方法将张量层(即DSN上下文的许多模块的顶层)映射到传统的sigmoid函数层。这种映射再一次简化了训练算法,使其并不偏离DSN。

时域卷积的概念源于延时神经网络(time-delay neural network,TDNN),并作为一种浅层神经网络在早期语音识别中得到了发展。最近,研究者发现应用深层架构(如深度卷积神经网络CNN)后,在高性能音素识别任务中,当HMM用来处理时间可变性时,频率域权值共享比之前类似TDNN中的时域权值共享更为有效(TDNN不使用HMM)。这些研究也说明合理的设计池化(pooling)策略,并结合“dropout”正则化技术,可以对声道长度不变性和语音发音之间的区分性进行有效折中,从而达到更好的识别结果。这些工作进一步指出:使用池化和卷积在混合的时域和频域里,对贯穿整个语音动态特性的轨迹区分性和不变性进行折中,是一个重要的研究方向。此外,最近的研究报告也显示,大词汇量连续语音识别也可以从CNN中受益。这些研究进一步说明:使用多个卷积层,且卷积层使用大量卷积核或特征映射时,会有更大的性能提升。Sainath广泛探索了许多深度CNN的变种。在和许多新方法的结合下,深度CNN在一些大词汇量语音识别任务上取得了领先的结果。

除了DNN、CNN、DSN和它们对应的张量版,许多其他深度模型在语音识别领域也得到了应用和发展。比如,深度结构的CRF,它具有很多堆叠的CRF层,也有效地应用到了语种识别、音素识别、自然语言处理中的序列标注、语音识别中的置信度校正等许多任务。最近,Demuynck和Triefenbach发展了深度GMM(deepGMM)架构,DNN强大的性能得到借鉴并应用到构建分层的GMM。他们的研究表明,结构“变深与变宽”,同时将底层GMM的加窗概率输入到高层GMM中,深度GMM系统的性能足以与DNN相比。GMM空间的一个优点是:数年以来在GMM上的自适应和判别式学习方法仍然适用。

或许最值得注意的深度结构是回归神经网络(RNN)及其堆叠或深度版本。尽管RNN最早在音素识别中取得成功,但由于其训练的错综复杂性,很难推广,更不用说应用在大规模的语音识别任务上了。此后,RNN的学习算法得到很大的提升,也获得了更好的结果,特别是双向长短时记忆(Bi-directional Long Short-Term Memory,BLSTM)单元的使用。双向RNN的信息流和LSTM的基本单元分别如图8-3和8-4所示。

图8-3 双向RNN的信息流,给出了示意图和数学公式

图中词语翻译对照表

图8-4 RNN中LSTM单元的信息流,给出了示意图和数学公式

图中词语翻译对照表

众所周知,由于梯度消失或者爆炸的问题,学习RNN的参数十分困难。Chen和Deng开发了一种原始-对偶(primal-dual)的训练方法,它将RNN的学习问题抽象为标准的优化问题,通过最大化交叉熵,限制RNN的循环矩阵小于固定的值,从而保证动态RNN的稳定性。在音素识别的实验结果如下:(1)原始-对偶技术对训练RNN非常有效,优于早先限制梯度的启发式方法。(2)使用DNN计算的高层语音特征作为RNN的输入,相比没有使用DNN,其识别精度更高。(3)当从高层到低层提取DNN特征时,识别精度逐渐下降。

RNN的一种特殊形式是储藏模型(reservoir models)或回响状态网络(echo state network),其中将普通RNN中的输出层非线性单元改为固定的线性单元,权值矩阵是精心设计而非训练学习所得。由于参数学习的困难性,输入矩阵也是固定的,并非学习而来。只有隐层和输出层之间的权值矩阵是通过学习而来。由于输出是线性的,全局优化有封闭形式的解,所以参数学习非常高效。但是因为许多参数并非学习得到,所以隐层必须足够大才能获得足够好的结果。Triefenbach将这种模型应用到音素识别,获得了不错的识别精度。

Palangi等人提出了一个上述储藏模型的改进版。在该模型中,之前固定的输入和回归矩阵都是通过学习得到的。之前模型使用线性输出(或“读出”readout)去简化RNN输出矩阵的学习。而且,他们提出了一种利用储藏模型的线性输出学习输入矩阵和回归矩阵的特殊技术。与训练一般RNN的时间误差反向传播算法(backpropagation through time,BPTT)相比,这个技术给利用线性输出单元特性给RNN中不同的矩阵增加了限制,替换BPTT的递归梯度,以可分析的形式学习信号来计算梯度。

除了上面介绍的最近用于语音识别的深度学习模型之外,近来在设计和实现更好的非线性单元上也不断涌现出新的研究工作。尽管sigmoid和tanh是DNN最常用的非线性单元,但它们的缺点也很明显。例如,当网络单元在两个方向都接近饱和时,梯度变化很小,整个网络的学习变得很慢。Jaitly和Hinton为了克服sigmoid单元的缺点,最先在DNN语音识别中使用整流线性单元(Rectified Linear Units,ReLU)。ReLU是指在网络中使用形如f(x)=max(0,x)的激活函数。Dahl和Mass成功地在大词汇量语音识别上应用ReLU,当结合ReLU和正则化技术dropout时获得最好的识别精度。

最近提出的另一种在语音识别上有用的DNN单元是“最大输出”(maxout)单元,它用于构建深度最大输出网络。一个深度最大输出网络由多层以maxout为激活函数的单元组成,在一组固定输入权值上进行最大化(或称maxout)操作。这与之前讨论的语音识别和计算机视觉中的最大池化(maxpooling)类似。每一组最大值作为前一层的输出。最近,Zhang等人将maxout单元推广为两类,第一种soft-maxout将原来的最大化操作替换为soft-max函数;第二种p-norm单元使用非线性的y=‖x‖p。实验表明,p-norm单元使用p=2时,比maxout、tanh和ReLU单元效果都好。Gulcehre等人提出了自动学习p-norm的方法。

最后,Srivastava等人提出另一类新的非线性单元,称作winner-take-all单元。他将临近的神经元之间的竞争纳入前向网络结构,之后使用不同的梯度进行反向传播训练。Wirmer-take-all是一种非常有趣的非线性单元的形式,它建立了神经元组(通常为2个),在一组之中,除了最大值神经元,其他所有神经元都为0值。实验表明,使用这种非线性单元的网络比标准的sigmoid非线性网络具有更好的记忆性。这种新型非线性单元还有待于在语音识别任务上评测。

7.更好的优化和正则化

近期深度学习应用到语音识别声学模型上取得了重大进步的另一个领域是优化准则和方法,及其相关的避免深度网络过拟合的正则化技术。

微软研究院在早期DNN语音识别的研究中,首先认识到了传统DNN训练过程中要求的错误率和交叉熵训练准则(cross-entropy training criterion)之间的不匹配问题。解决方法是:使用基于全序列的最大互信息(Maximum Mutual Information,MMI)为优化目标,代替帧级的交叉熵训练准则,在和HMM结合的浅层神经网络中也使用同样的方法定义训练目标。同样的,这等价于在DNN的顶层加上条件随机场(Conditional Random Field,CRF),代替原有DNN中的softmax层(注意这篇论文中将DNN称为DBN)。这个新的序列化判别式学习技术也用来联合优化DNN权值、CRF转移权值和二音素(biphone)的语言模型。这里要注意的是,该语音任务数据集为TIMIT,使用一个简单二元音素的类语言模型。二元语言模型的简单性在干,它允许全序列的训练而不需要网格(lattice),大幅度降低了训练的复杂度。

作为文献[260]中另外一个全序列训练方法(full-sequence training method)的动机,我们注意到,早期的DNN音素识别任务是使用交叉摘——静态分类任务的标准帧级0标函数,去优化DNN权值的。HMM中状态转移参数和语言模型的训练与DNN权值训练独立。但是,众所周知,在HMM的研究历史中,序列化分类准则对提高语音识别和音素识别率非常有帮助,因为序列化分类准则与性能评测方法(例如音素或同错误率)比帧级交叉熵准则的相关性更强。更确切地说,使用帧级交叉熵准则训练音素序列识别的DNN时,没有显式的考虑在给帧分配音素标注概率分布时相邻帧之间距离更小。为了克服这个缺点,在给定全部可见句子或等价的DNN提取的隐层特征序列时,可以优化整个标注序列的条件概率。为了优化训练数据对数域的条件概率,反向梯度可以由激活函数参数、转移参数和低层的网络权值获得,然后在句子级进行误差反向传播算法。我们注意到在更早的研究中,结合了CRF类似结构和神经网络,其数学形式把CRF作为一个特例。此外,使用全序列分类准则的优势在更早的浅层神经网络中已经得到证实。

在实现文献[260]中描述的上述DNN系统的全序列学习算法时,DNN网络权值使用帧级的交叉熵初始化。转移概率结合HMM转移矩阵和二元音素语言模型得分进行初始化,并在联合优化前通过固定DNN权值调节转移矩阵参数得到进一步优化。使用联合优化并加以细心的调度以减少过拟合,全序列训练比帧级训练的DNN性能相对提高5%。如果不采取减少过拟合的措施,MMI准则训练的DNN比帧级交叉熵准则更容易陷入过拟合。这是因为训练集、开发集和测试集数据帧级之间的相关性可能不同。更重要的是,这种不同在使用帧级目标函数训练时并未出现。

对于使用更复杂语言模型的大词汇量语音识别,优化全序列的DNN-HMM训练变得更加复杂。Kingsbury等人通过使用并行二阶的Hessian-free优化训练技术,使得上面的优化方法第一次在大词汇量语音识别中得以实现。Sain-ath通过减少Krylov子空间求解器的迭代次数对Hessian-free技术进行了提升和加速,Krylov子空间用于Hessian的隐式估计。他们还采用了采样的方法减少训练数据以加速训练。随着分批形式、二阶的Hessian-free技术成功用于训绨全序列的大规模的DNN-HMM系统,一阶随机梯度下降方法最近也被成功的应用。人们发现需要启发式搜索来处理网格(lattice)的稀疏性,即DNN必须通过基于帧的交叉熵训练额外的迭代进行调整,以更新之后的分子网格。而且,在分母网格中需要加入人工的静音弧,或者最大互信息的目标函数需要通过帧级交叉熵目标做平滑。该研究的结论是:尽管本质上目标函数和得到梯度算法相同,但对于使用稀疏网格的大词汇量连续语音识别,实现全序列的训练要比小任务需要更多的工程技巧。VeSely在大词汇量语音识别任务的全序列训练DNN-HMM实验中,也给出了同样的结论。但是,与之不同的启发式规则在训练中却相当有效。另外,Wiesler研究了训练具有交叉熵目标DNN的Hessian-free优化方法,并给出了这些方法的经验性性质。最后,Dognin和Goel在进行序列训练DNN时,结合了随机均匀梯度和Hessian-free优化方法,相比于单独的Hessian-free序列训练方法,该方法成功地将训练收敛时间减少一半。

对大规模DNN-HMM系统而言,无论是采用帧级还是序列优化目标,为了充分利用大量训练数据和大模型,训练加速是十分必要的。除上述方法外,Dean等人提出了在超大词汇量语音识别中使用异步随机梯度下降(Asynchronous Gradient Descent,ASGD)方法、自适应梯度下降(Adaptive Gradient Descent,Adgrad)和大规模受限存储BFGS(L-BFGS)方法。Sainath在文献[312]中,对一系列加速训练和DNN语音识别的优化方法进行了综述。

除了上述侧重于完全有监督的优化(即所有训练数据都有标注)外,也有研究DNNHMM语音识别系统中半监督的训练方法。Liao等人报告了一项非常有挑战的研究,在YouTube语音上使用半监督方法训练DNN-HMM,其主要技术是使用称为“置信岛(island of confidence)”的启发式过滤方法选择训练片段。另外,Vesely也探索了DNN的半监督训练,使用自训练(self-training)作为句子级和帧级置信选择的基本策略。由混淆网络生成每帧的置信度进行帧级选择是有益的。Huang汇报了半监督训练的另一种方法,使用多系统的组合和置信度重新校准(recalibration)来选择训练数据。此外,Thomas克服了在一系列少资源情景中缺乏声学模型所需的训练数据问题。他们采用带有抄本的多语种数据和半监督训练方法,训练一个特征提取前端,用于后续语音识别任务。

最后,我们看到了最初由Hinton等人提出的正则化方法“dropout”在基于深度学习的语音识别中新的发展。过拟合在DNN训练中很容易出现,DNN的多层激励也易于相互适应(coadaptation)去拟合输入声学数据。Dropout是限制相互适应的技术,它的具体操作如下:对每个训练实例,每个隐层单元都随机地以一定概率(如P=0.5)被忽略,随后除了简单的缩放DNN权重外(通过因子1-p)),解码正常完成。或者,DNN权值的缩放可以在训练阶段完成(缩放因子1/(1-p))。Dropout正则化的好处是,训练DNN的过程时使隐层单元仅受自身激励影响,而不依赖其他的单元,并提供了一种在不同网络中求其平均模型的方法。这些优点在训练数据有限时或者当DNN网络大小比训练数据要大的多时最为明显。Dahl等人将Dropout策略和ReLU单元一起使用,但仅在全连接的DNN的一些高层中应用dropout。Seltzer和Yu将dropout应用到噪声鲁棒的语音识别。Deng等人从另一方面人手,将dropout应用到卷积神经网络的所有层,包括高层的全连接层、低层局部连接的卷积层和池化(pooling)层,并发现在卷积神经网络中dropout率需要大幅降低。

后续关于dropout的应用包括Miao和Metze的工作,他们在少资源数据稀疏条件下使用DNN进行语音识别。最近,Sainath等人将dropout和一些新技术相结合,在一系列大词汇量语音识别任务上获得了领先的结果。这些新技术包括:深度CNN、Hessian-free序列化学习、ReLU单元、fMLLR和滤波器组特征等。

下面对本小节做简短总结。2010年左右,研究者对深度学习在语音分析和识别领域的成功进行了报告,自此以后,深度学习又取得了长足的发展。我们看到,在这个主题上的研究工作和论文发表的爆炸性增长,看到它在语音识别领域激动人心的巨大成功。我们预计基于深度学习的语音识别研究继续不断壮大,至少在近期将会快速成长。很公平的说,基于深度学习的大规模语音识别的不断成功(截止到ASRU-2013会议召开)是促使深度学习方法应用到其他领域的关键因素,我们会继续讨论深度学习在其他研究领域的成功应用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈