2020-11-23 16:26

[机翻]Deep Neural Networks for Acoustic Modeling in Speech Recognition

Geoffrey Hinton, Li Deng, Dong Yu, George E. Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patrick Nguyen, Tara N. Sainath, and Brian Kingsbury

当前的语音识别系统使用隐马尔可夫模型(HMM)来处理语音的时间可变性,而高斯混合模型(GMM)则确定每个HMM的每个状态与一帧或一帧短窗口系数的匹配程度其代表声学输入。评估拟合的另一种方法是使用前馈神经网络,该神经网络将若干帧系数作为输入,并在HMM状态上产生后验概率作为输出。深度神经网络( DNN )具有许多隐藏层并使用新方法训练,已被证明在各种语音识别基准上优于GMM ,有时甚至有很大的差距。本文概述了这一进展,并代表了四个最近在语音识别中使用DNN进行声学建模方面取得的成功研究小组的共同看法。

INTRODUCTION

新的机器学习算法可以带来语音识别(ASR)的显著进步,最大的一次进步发生在近40年前,引入了期望最大化(EM)算法来训练HMM(参见[1]和[2]了解HMM的引入情况的历史回顾)。利用EM算法,可以开发语音识别系统用于现实任务,使用GMM的丰富度【3】来表示HMM状态和声学输入之间的关系。在这些系统中,声学输入通常由从原始波形及其一阶和二阶时间差【5】计算的梅尔频率倒谱系数(MFCCs)或感知线性预测系数(PLPs) [4]串联表示。这种非自适应但高度工程化的波形预处理旨在丢弃被认为与鉴别无关的波形中的大量信息,并以有利于使用GMM-HMM进行鉴别的形式表示剩余信息。

GMM具有许多优点,使得它们适合于建模与HMM的每个状态相关的输入特征向量上的概率分布。有了足够的组件,它们就可以将概率分布建模到任何要求的精度级别,并且使用EM算法很容易适应数据。大量的研究正在寻找限制GMM以提高其评估速度的方法,并优化其灵活性与所需训练数据数量之间的权衡以避免严重过拟合【6】。

GMM-HMM系统在经过使其产生观测数据的可能性最大化的训练后,如果进行微调,可以进一步提高识别精度,特别是如果用于训练的区别性目标函数与音调、单词或句子的错误率密切相关【7】。

尽管GMM具有各种优点,但却存在严重的缺陷,在统计学上,对于数据空间中位于或接近非线性流形的数据,其建模效率低下。例如,使用适当的模型类对离球面很近的点集进行建模只需要几个参数,但是它需要大量的对角高斯或相当大量的全协方差高斯。语音是通过调制动态系统[10]、[11]的相对较少的参数而产生的,这意味着它真正的底层结构比直接呈现的包含数百个系数的窗口更低维。因此我们认为,如果其他类型的模型能够更有效地利用嵌入在大窗口的帧信息,那么它们在声学建模方面可能比GMM更有效。

由逆向传播误差导数训练的人工神经网络有潜力学习位于非线性流形或附近的数据模型。事实上,20年前,研究人员利用带有单层非线性隐单元的人工神经网络从声系数窗口预测HMM状态取得了一些成功【9】。但当时的硬件和学习算法都不足以在大量数据训练上具有许多隐藏层的神经网络,并且使用单层隐藏层的神经网络的性能益处不足以挑战GMM。因此,当时神经网络的主要实际贡献是在串联或瓶颈系统中提供额外的特征。

在过去的几年中,机器学习算法和计算机硬件的进步使DNN有了更有效的训练方法,这些DNN包含许多非线性隐藏单元和非常大的输出层。The large output layer is required to accommodate the large number of HMM states that arise when each phone is modeled by a number of different “triphone” HMMs that take into account the phones on either side. (大型输出层是需要适应大量的HMM状态,当每个电话被许多不同的三通HMM建模时,这些HMM考虑到了电话的任一侧。)Even when many of the states of these triphone HMMs are tied together, there can be thousands of tied states. (即使这些三音腔HMM的很多状态是捆绑在一起的,也可能有成千上万个捆绑状态。)使用新的学习方法,几个不同的研究小组已经表明,DNN在语音识别的声学建模方面优于GMM,包括具有大词汇表的大型数据集。

本文旨在代表多伦多大学、微软研究公司、谷歌和IBM研究公司在使用DNN进行声学建模方面取得的成功的共同观点。本文首先描述了用于拟合DNN的两阶段训练过程。在第一阶段,初始化特征检测器层,每次一层,通过拟合生成模型堆栈,每个模型都具有一层潜在变量。这些生成模型是训练没有使用任何需要声学模型区分的关于HMM状态的信息。在第二阶段,生成模型堆栈中的每个层用于初始化DNN中的一层隐藏单元,然后对整个网络进行有区别的微调以预测目标HMM状态。这些目标通过使用基线GMM-HMM系统产生强制对准而获得。

在本文中,我们回顾了在TIMIT数据库[12], [13]上的探索性实验,这些实验被用来演示声学建模的两阶段训练过程的力量。然后,三个不同研究小组将TIMIT的DNN应用于5个不同的大词汇连续语音识别( LVCSR )任务,并总结了结果。与高度调整的GMM-HMM系统相比, DNN在所有这些任务上都很好地工作,而且在某些任务上,它们大大超过了现有技术水平。我们还描述了DNN用于声学建模的一些其他用途,以及训练过程的一些变化。

TRAINING DEEP NEURAL NETWORKS

(略)介绍隐藏层公式、激活函数、softmax、minibatch

隐藏层较多的DNNs难以优化。从靠近原点的一个随机起点开始梯度下降并不是找到一组好的权重的最好方法,除非权重的初始尺度[15]被仔细选择,否则反向传播的梯度在不同的层中会有非常不同的大小。除了优化问题外,DNNs还可能无法很好地推广到不完整的测试数据。具有许多隐含层和每层许多单位的DNNs是具有大量参数的非常灵活的模型。这使得他们能够建模输入和输出之间非常复杂和高度非线性的关系。这种能力对于高质量的声学建模很重要,但它也允许他们对伪正则进行建模,这些假正则是训练集中特定示例的偶然性质,这可能导致严重的过拟合。L1 L2损失进行权重惩罚或early stop可以减少过拟合,但也减少了建模能力。非常大的训练集[16]可以在保持建模能力的同时减少过拟合,但使训练的计算成本非常高。我们需要的是可以在训练中更好地使用这些信息的方法。

GENERATIVE PRETRAINING

我们从更好的建模输入数据的结构开始设计,而不是设计能更好区分类别的特征检测器。其思想是一次训练一层特征检测器,这一层特征检测器的状态作为训练下一层的数据。在这种生成式的“预训练”之后,多层特征检测器可以作为判别“微调”阶段的更好起点,在此阶段,通过DNN的反向传播可以轻微调整预训练[17]中的权重。生成性预训练所创造的某些高级特征对于分类没有什么用处,但其他特征将远远比原始输入有用。生成预训练找到允许判别微调快速进展的权重空间区域,并且它还显着地减少了过拟合【18】。

单层特征检测器可以通过具有一层隐变量的输入数据拟合生成模型进行学习。有两种广泛的生成模型可供选择。有向模型通过先验分布选择隐变量的状态,然后根据潜在状态从可观测变量的条件分布选择状态来生成数据,具有一层隐变量的有向模型的例子有:因子分析,其隐变量来自各向同性高斯,和GMM,其隐变量来自离散分布。无向模型有非常不同的数据生成方式,不是使用一组参数来定义在隐变量上的先验分布,以及一组单独的参数来定义给定隐变量可观察变量的值的条件分布,而是使用一组参数W,以通过能量函数E定义可观察变量的值向量v和隐变量的值向量h的联合概率,其中Z称为分区函数。

图-公式5

如果许多不同的隐变量非线性相互作用以生成每个数据向量,则很难从有向模型中的观测数据中推断潜在变量的状态,这种现象称为“explaining away”【19】。然而,在无向模型中,只要隐变量没有连接它们的边,推理就很容易。这种受限的无向模型类是分层预训练的理想选择,因为每层都有一个简单的推理过程。

首先,我们描述一个受限的Boltzmann机器(RBM)的近似学习算法,该算法由一组随机二进制可见单元组成,表示与一组随机二进制隐含单元相连的二进制输入数据,该随机二进制隐含单元学习对显着非函数进行建模可见单元【20】之间的依赖关系。可见和隐藏单元之间有无指向的连接,但没有可见-可见或隐藏-隐藏的连接。RBM是马尔可夫随机域的一种,但与大多数MRF有几方面不同:它有一个二部连通图,不同单元之间不共享权重,变量的子集即使是训练期间也不能被观测。

AN EFFICIENT LEARNING PROCEDURE FOR RBMs

(略)

MODELING REAL-VALUED DATA

(略)对真实数据使用归一化,归一化不会引入新的噪声,同时能正确评估噪声等级

STACKING RBMs TO MAKE A DEEP BELIEF NETWORK

(略)玻尔兹曼机-->深度置信网络->DNN

INTERFACING A DNN WITH AN HMM

p(HMMstate|AcousticInput)

p(AcousticInput|HMMstate)

p(AcousticInput)

PHONETIC CLASSIFICATION AND RECOGNITION ON TIMIT

TIMIT数据集为测试语音识别的新方法提供了一种简单方便的方法。

图-TABLE1

PREPROCESSING THE WAVEFORM FOR DEEP NEURAL NETWORKS

当前最先进的ASR系统需要完全协方差高斯或大量的对角高斯来完成很好的建模,而不使用filter-bank系数作为输入表示,因为它们是强相关的。MFCC提供了一个更合适的选择,因为它们的单个组件大致独立,所以使用对角协方差高斯混合模型更容易。DBN-DNN不需要不相关的数据,在TIMIT数据库中,【13】所报告的工作表明,使用filter-bank特性训练的效果最好的DBN-DNN的语音错误率比表现最好的DBN低1.7% 。

FINE-TUNING DBN-DNNs TO OPTIMIZE MUTUAL INFORMATION

(略)

CONVOLUTIONAL DNNs FOR PHONE CLASSIFICATION AND RECOGNITION

(略)语音分类和检测,使用DBN-DNN,在时序上进行卷积+池化

A SUMMARY OF THE DIFFERENCES BETWEEN DNNs AND GMMs

在这里,我们总结了DNN和GMM在TIMIT实验中使用的主要区别。首先,DBN-DNN的一个主要要素,RBMs作为预培训的基石,是"product of experts"的实例,而混合模型是“sum of experts”。Product models只是最近才在语音处理中得到探索,例如[41],含有大量参数的混合模型使用其参数的效率低下,因为每个参数只适用于极小一部分数据,而Product models的每个参数与很大一部分数据的相关。其次, DNN和GMM都是非线性模型,其非线性性质有很大不同。DNN对一个帧或窗口中的多个同时发生的事件建模没有问题,因为它可以使用隐藏单元的不同子集来建模不同的事件。相反, GMM假定每个数据点都是由混合的单个组件生成的,因此它没有有效的方法来建模多个同时发生的事件。第三,DNN擅长于利用多帧输入系数,而使用对角协方差矩阵的GMM由于需要与装饰相关的输入而受益较小。最后,使用随机梯度下降学习DNN,而使用EM算法或其扩展【35】学习GMM,这使得GMM学习在集群机器上更容易并行化。

COMPARING DBN-DNNs WITH GMMs FOR LARGE-VOCABULARY SPEECH RECOGNITION

比较五种不同的DBN-DNN声学模型与两种分别训练的强GMM-HMM模型。

图-WER

  1. BING-VOICE-SEARCH SPEECH RECOGNITION TASK
  2. SWITCHBOARD SPEECH RECOGNITION TASK
  3. GOOGLE VOICE INPUT SPEECH RECOGNITION TASK
  4. YOUTUBE SPEECH RECOGNITION TASK
  5. ENGLISH BROADCAST NEWS SPEECH RECOGNITION TASK

图-TABLE3

SPEEDING UP DNNs AT RECOGNITION TIME

状态剪枝或高斯选择方法可用于使GMM-HMM系统在识别时具有计算效率。然而, DNN几乎在每一帧都使用它的所有参数来计算状态似然,因此它可能比具有相当数量参数的GMM慢得多。幸运的是,DNN-HMM系统识别1s语音所需的时间可以从1.6 s减少到210 ms,且识别精度不下降。通过将权重量化到8b,并使用由现代x86中央处理器【49】提供的用于定点计算的非常快速SIMD原语。或者,可以通过使用图形处理器(Graphic Processing Unit,GPU)将其降低到66 ms。

ALTERNATIVE PRETRAINING METHODS FOR DNNs

(略)

在视觉任务中,可以通过使用“去噪”自动编码器【54】进行预训练来实现与RBM类似的性能,该自动编码器通过将输入的子集设置为零或规则的“收缩”自动编码器【55】而进行正则化通过惩罚隐藏单元的活动相对于输入的梯度。对于语音识别,通过使用一种尝试查找稀疏代码的自动编码器进行预训练,提高了TIMIT和Broadcast News任务的性能【56】。

OTHER WAYS OF USING DEEP NEURAL NETWORKS FOR SPEECH RECOGNITION

上一节回顾了用DBN-DNN声学模型代替GMM的实验,给出了混合DNN-HMM系统,其中DBN-DNN产生的HMM状态后验概率取代了GMM输出模型。在本节中,我们将介绍另外两种使用DNNs进行语音识别的方法。

USING DBN-DNNs TO PROVIDE INPUT FEATURES FOR GMM-HMM SYSTEMS

(略)

图-TABLE4

USING DNNs TO ESTIMATE ARTICULATORY FEATURES FOR DETECTION-BASED SPEECH RECOGNITION

利用DNNs估计语音特征用于基于检测的语音识别

最近的一项研究[65]证明了DBN-DNNs在广泛使用的华尔街日报语音数据库(5k-WSJ0)中检测次音标语音属性(也称为音位或发音特征[66])的有效性。采用13个MFCCs外加一、二阶导数作为语音信号的短时谱表示。语音标签是由一个用ML训练过的GMM-HMM系统生成的强制对齐产生的,而这个HMM系统有2,818个绑定状态的纵横字谜三分音,每个三分音都由8个高斯组合建模。将语音标签映射到属性,简化了发音特征的重叠特征,从而生成属性标签。正如在[65]中报道的,在最近的研究中使用的22个属性是[66]和[67]中探索的关节特征的一个子集。

DBN-DNNs的错误率不到单层浅层神经网络的一半。我们探索了具有5 - 7个隐藏层和每层多达2048个隐藏单元的DNN体系结构,在整个DNN系统中,对所有21个属性的测试产生了超过90%的帧级精度。在同样的数据上,DBN-DNNs也达到了86.6%的很高的每帧语音分类准确率。这种检测语音下基本语音单位的准确率可能允许一种新的灵活的语音识别和理解系统,这些系统在[65]中讨论的基于检测的完整框架中利用语音特征。

SUMMARY AND FUTURE DIRECTIONS

gmm首先用于声学建模时,他们被训练使用EM算法生成模型,这是一段时间的研究人员表明,显著的收益可以通过歧视培训的后续阶段使用一个目标函数更接近最终目标的ASR系统[7],[68]。当神经网络第一次被使用时,它们被有区别地训练。直到最近,研究人员才表明,通过添加一个完全忽略系统最终目标的生成前训练的初始阶段,可以取得显著的进展。预训练在深度神经网络中比在浅层神经网络中更有帮助,特别是在可用的标记训练数据有限的情况下。它减少了过拟合,也减少了使用反向传播进行鉴别微调所需的时间,这是20世纪90年代神经网络首次用于GMMs时使用神经网络的主要障碍之一。使用预训练取得的成功导致了对声学建模DNNs的兴趣的重新兴起。回顾一下,现在很清楚的是,大部分的收益来自使用DNNs来利用邻近fram中的信息,以及对关联上下文依赖状态的建模。预训练有助于减少过拟合,而且它确实减少了微调的时间,但通过谨慎地选择每一层初始随机权值的尺度,也可以用更少的努力实现类似的训练时间减少。

预训练神经网络的第一种方法是学习一堆RBMs,每个DNN的隐含层学习一个RBMs。RBM是一种使用二进制潜在变量的无定向生成模型,但使用ML对其进行训练代价高昂,因此使用了一种名为CD的更快的近似方法。这种方法与训练autoencod er网络(非线性版本的PCA)有很大的相似之处,后者将每个数据点转换为代码,从而很容易地重新构造数据点。后续的研究表明,带有一个逻辑隐藏单元的自编码器网络在预训练中也能很好地工作,特别是当它们通过在输入中添加噪声或约束编码以使其对输入中的微小变化不敏感来进行正则化时。RBMs不需要这样的正则化,因为随机二值隐单位引入的伯努利噪声是一种非常好的正则化器。

我们已经描述了三个主要的语音研究小组是如何通过用DNNs代替gmm,在各种先进的ASR系统上取得显著改进的,并且我们相信还有进一步改进的潜力。其他e没有理由相信我们目前使用的最佳类型的隐藏的单位和最佳的网络体系结构,它极有可能pretraining和微调算法可以被修改以减少过度拟合和计算的amou nt。因此,我们预计,在一定时间内,使用DNNs的声学模型和使用GMMs的声学模型之间的性能差距将继续增大。

目前,与GMMs相比,DNNs最大的缺点是难以充分利用大型cluster机器在海量数据集上进行训练。这被DNNs更有效地利用数据的事实所抵消,因此它们不需要太多的数据来实现同样的性能,但更好地对等地调节DNNs的微调仍然是一个主要问题。

volica

原创文章,欢迎转载。转载请注明:转载自 我家Ai智障,谢谢!
原文链接:http://www.mclover.cn/blog/index.php/archives/654.html

你可能还喜欢...

添加新评论

icon_question.gificon_razz.gificon_sad.gificon_evil.gificon_exclaim.gificon_smile.gificon_redface.gificon_biggrin.gificon_surprised.gificon_eek.gificon_confused.gificon_cool.gificon_lol.gificon_mad.gificon_twisted.gificon_rolleyes.gificon_wink.gificon_idea.gificon_arrow.gificon_neutral.gificon_cry.gificon_mrgreen.gif

captcha
请输入验证码