锯床厂家
免费服务热线

Free service

hotline

010-00000000
锯床厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

百度ICML论文端对端中英文语音识别_[#第一枪]

发布时间:2021-06-07 17:38:15 阅读: 来源:锯床厂家

论文作者:Dario Amodei, Rishita Anubhai, Eric Battenberg, Carl Case, Jared Casper, Bryan Catanzaro, JingDong Chen, Mike ChrzanowskiBaidu USA, Inc., Adam Coates, Greg DiamosBaidu USA, Inc., Erich ElsenBaidu USA, Inc., Jesse Engel, Linxi Fan, Christopher Fougner, Awni HannunBaidu USA, Inc., Billy Jun, Tony Han, Patrick LeGresley, Xiangang LiBaidu, Libby Lin, Sharan Narang, Andrew Ng, Sherjil Ozair, Ryan Prenger, Sheng QianBaidu, Jonathan Raiman, Sanjeev SatheeshBaidu SVAIL, David Seetapun, Shubho Sengupta, Chong Wang, Yi Wang, Zhiqian Wang, Bo Xiao, Yan XieBaidu, Dani Yogatama, Jun Zhan, zhenyao Zhu

摘要

我们展示了一种可用于识别英文和中文语音的端至端深度学习方法,尽管它们是两个截然不同的语言。因为这种方法用神经网络取代整个了手动设计的管道状网络,并让我们得以适应的多种多样的语音,包括噪音,口音和不同的语言。方法的关键是HPC技术的应用,使得以前要花几个星期运行的实验,现在只用几天就得以运行。这使得我们更快地迭代以识别更好的架构和算法。其结果是,在一些的情况下,当以标准资料组作为测试基准时,我们的系统足以和人工录音进行竞争。最后,在数据中心使用一种称为GPU批次调度(Batch Dispatch with GPUs)的技术,我们的系统可以经济价廉地在网络的设置中部署,并在给大规模的用户提供服务时,提供较低的延迟。

1. 简介

几十年来手工设计领域积累的知识已经进入最先进的自动语音识别(ASR)等的管道。一个简单但有效的替代解决方案是训练出端对端语音自动识别模式,使用深度学习的方法用一个模型来代替大多数模式。如同Hannun et al., 2014aand Graves & Jaitly, 2014b在他们的论文所提及一样。这种端到端的训练方法简化了训练过程,因为它省去了人工引导/校准/集群/ HMM 机械装置,而这些用于建立先进的自动语音识别(ASR)模式。在这样的系统中,建立端对端的深度学习,我们可以使用一系列的深度学习技巧:捕捉大的训练集,训练较大的模型与高性能计算,并且有条不紊地探索神经网络的空间工作架构。

本文详细介绍了我们对于语音识别的贡献,如模型架构,标记的大规模训练数据集和计算规模。这其中还包括模型架构进行的广泛调查,并且我们的数据采集管道使我们能够创建比通常用于训练语音识别系统更大的数据集。

我们用了几个公开可用的测试集测试我们的系统,并期待最终达到人类表现水平。为此,我们还基于这个比较标准,测试工人们的表现。发现我们最好的普通话语音系统录制简短的语音查询类的言论比一个典型的中国人做的还好。

在本文的其余部分如下。我们在开始的部分复习有关深度学习内容,端到端语音识别和在第二部分提到的可扩展性。.第三部分描述了建筑和算法的改进模型,第四部分介绍了如何高效地计算它们。第五部分我们讨论进一步采取的数据和步骤加强培训。第六部分会呈现英语和普通话系统分析的结果。第七部分,我们以描述如何调配我们的系统以适应真正的用户结尾。

2. 相关工作

这项研究的灵感来源于深度学习和语音识别的前期研究。经网络的声学模型进行的探讨超过了20年(Bourlard & Morgan, 1993; Renals et al., 1994)。周期性的神经网络和网络的卷积几乎同时用于语音识别(Robinson et al., 1996; Waibel et al., 1989)。 最近DNNs已成为ASR管线一个网络连接夹具与几乎所有先进的语音工作都含有某种形式的深神经网络的现有技术Mohamed et al., 2011; Hinton et al., 2012; Dahl et al., 2011; N. Jaitly & Vanhoucke,2012; Seide et al., 2011)。卷积网络也被发现对声学模式有利(Abdel-Hamidet al., 2012; Sainath et al., 2013)。

周期性神经网络在先进的识别器中开始运用(Graves et al., 2013; H. Sak et al., 2014),并与卷积层一起合作做特征提取(Sainath et al., 2015)。

端至端语音识别是的一个重要研究领域,在它被用于恢复DNN-HMM的结果和独立输出时,表现出来令人信服的结果。RNN 的编码器和解码器在关注和预测音素和字素方面表现突出。CTC功能漏洞加上RNN去处理数据同样配合的很好在端对端的语音识别的字母输出中。CTC-RNN模式通过词汇表预测音素表现很好。

到目前为止在深度学习中探索大规模已成此领域成功的关键。单个GPU训练导致显着的性能增益,且随后被线性缩放到两个或多个GPU。我们利用增加个别GPU的工作效率为了低水平的深度学习基元。我们基于过去使用模式平行和数据平行或者两者的结合,去创建一个快速高效的系统,为了加深RNN在语音识别中的训练。

数据已成端对端语音识别的关键,并且超过7000小时被标示的语音已被运用。增强的数据在提高深度学习计算机视觉和语音识别性能非常有效。因此现有的语音系统可以用来引导新的数据收集。例如,现有的语音引擎可以用来排序和过滤的数千小时的有声读物。我们从过去和加强数据的方法中汲取灵感,并用于加强本身数据的标注。

3.模型体系结构

图1显示了我们的体系结构,并提出了我们在本文中详细探讨了可交换组件。我们的系统是与一个或多个输入卷积层的递归神经网络(RNN),紧随着的是多次复发(单向或双向)层和一层完全连接层。该网络采用CTC损失函数,这使我们能够直接从输入音频预测字符序列。

到该网络的输入是动力标准化音频剪辑,计算上20毫秒窗口的序列。输出是每种语言的字母。在每一个输入的步骤,RNN会做一个预测,在p(Lt/x)中,Lt是一个字母表中的字母或者一个没用的符号。在英语中,我们有字母a,b,c…..,省略,空格;我们用空格暗示词与词之间的界限。对中文系统来说,中文的输出系统简化了。

在推理时间,CTC模式搭配的语言模式是基于更大语料库。我们使用特殊的搜索方法去发现y的最大值。Q(y) = log(pRNN(yjx)) + log(pLM(y)) + wc(y) (1)。在这个公式中,wc(y)是英文和中文在转录的单词数。α的重量决定着相关的语言模式和CTC网络。β的重量中则鼓励转录更多的单词。这些参数则基于发展调整。

3.1批量标准化的深层RNNs

在处理训练集时,为更高效吸收理数据, 必须增加网络的深度通过加入更多的周期层。但是却变得更具挑战性,因为网络的梯度随着体积和深度在变化。我们用规范一批的方法进行试验去训练更深更快的网络。最近的研究表明,规范一派能加速RNNs训练的融合,尽管在改善泛化错误方面不如意。相比较之下,发现使用RNN的深度网络并基于大数据集,规范一派的变体能改善泛化错误和加快速度。

反复出现的层可以被实现为:

在ι层在被激活的地方,t可以从先前的层的激活中被联合计算出来,以此同时t可以从先前的层激活。

图2:从两条模式的训练曲线,有的有被BN(BatchNorm)训练,有的则没有。我们能在9-7网络线上看到更大的分割距离,而此训练线一共有9条,7条是双向RNNs模式。5-1网络线的差距更小,而5条中只有1条是双向RNN。我们从训练的第一个阶段就开始划分,但是随着曲线的变化越来越难预测,因为在3.2部分提到的SortaGrad课程方法。

如在(Laurent et al., 2015)中提到一样,有两种运用BatchNorm的方法去实施重复操作。自然延伸是为了插入BatchNorm转换——B(·)于每一个非线性之前:

在这种情况下,平均值和方差的统计信息被累积在minibatch的单个时间步。 我们发现这个技术并没有给优化的程度带来显著的提高。

另一种(序列明智正常化)是正常化批量处理垂直连接。周期性计算如下列公式:

对于每个隐藏单元我们都会在minibatch计算超过项目序列的长度和所有项目的平均值和方差的统计信息。图2示出深网络与明智序列正常化融合地更快。表1显示出了从明智序列正常化的性能改善随着网络的深度增加,与最深的网络有12%的性能差异。我们存储训练过程中收集的神经元均值和方差的运行平均值,并使用这些用于评价。

3.2 SortaGrad

即使使用批量标准化,我们发现与CTC一起训练偶尔会不稳定,特别是在早期阶段。为了使培训更加稳定,我们用培训课程(Bengio et al., 2009; Zaremba & Sutskever, 2014)进行试验,加速训练和也达到更好的泛化结果。

从开始培训阶段就使用深网络(或者是使用步数很多的RNNs模式)会在训练初期失败,因为结果和梯度必须通过权重许多较差的层传播。除了变化梯度,CTC最终不太可能转录长句,因为变化梯度不稳定。这一观察激发一个学习策略课程,LUM学习策略。我们的标题SortaGrad:我们用话语的长度作为难度的提示,并先从短话语开始训练。

具体来说,在第一个训练时期,我们会在训练集中重复minibatches为在minibatch中逐渐增加句子长度。在训练的第一个时期将minibatches随机重复。表1显示出了使用和不使用SortaGrad的训练成本,在9个模式层的7个周期层。 SortaGrad提高培训的稳定性,并且这种作用是在网络中且无BatchNorm的状态下特别明显,因为这些是在数值上很少稳定。

3.2RNNs和GRUs的比较

到目前为止所用模型是RNNs模型且是由方程3 ReLU激活建模。更复杂的隐藏单位,如长短期记忆(LSTM)单位和the Gated Recurrent Units(GRU)单位已经被证明是对类似的任务非常有效。我们考察GRUs, 因为在较小的数据集实验表明的GRU和LSTM在相同数目的参数下,可达到类似的精度,但GRUs却运行更快很少出错。

无论GRU还是RNN模式都从BatchNorm收益,并在深度网络中结果良好。在表中的最后两列1显示,在固定的数量的参数和深度网络下,GRU模式能比WER实现更好结果。

3.4卷积频率

即时卷积常用于语音识别,为有效地即时固定翻译建模为可变长句。把的EF为可变长度话语音响ciently模型时空平移不变性。卷积频率试图把光谱方差建模由于扬声器的变异更大型连接网络模型更准确。

我们用新加的1或3层卷积进行试验。这些都是在时间和频率域(2D)和时间唯一的域(1D)。在任何情况下,我们使用了“相同的”卷积。在某些情况下,我们指定一步(二次抽样)在任一领域,只要能减少输出的规模。

图3:在2句文本下的卷积结构

我们报告两个数据集的结果,2048句话的发展集(“常规开发”)和2048句话比较吵闹数据集(“吵闹开发”),从CHIME 2015年发展的数据集随机抽取。我们发现1D卷积的多个层效果不明显。2D卷积对噪声数据的结果有较大提升,但对正常数据贡献不大。从一维卷积一层到二维卷积三层WER模式对噪声数据集改善了23.9%。

3.5 前瞻卷积和单向模式

双向RNN模型正挑战在网上运用,低延迟的设置,因为他们不能从使用者处追溯录音过程。然而,只有循环前进模型比同类双向模型表现差,使用一些未来结构对好表现是至关重要的。一个可能的解决方案是从延迟系统发射标示单位,当它有较多上下文时,,但我们发现在我们的模型中很难实现这一行为。为了建立一个单向模式并没有任何失误,我们开发了一个特殊的层,我们呼叫超前卷积,如图3中所示。这层试着学习并联合每一个激活神经元,让我们能控制未来需要的文本数量。超前层是由参数矩阵决定,并与前面层神经元的数目相匹配。为激活在时间步数t上,如下列公式:

我们把超前卷积置于所有周期层之上。在超前卷积下和更好的颗粒,这让我们能追溯所有的计算。

图3:WER的卷积层的不同配置简单比较。在所有情况下,卷积后跟7复发层和1完全连接层。对于2D卷积的第一维是频率和第二维是时间。每个模型都与BatchNorm,SortaGrad进行训练, 并拥有35M的参数。

3.6 普通话适应

为把传统的语音识别管道转向另一个语言通常需要一定数量的重要语言指定开发。例如,经常需要手工设计的发音模型。我们可能还需要明确特定语言的发音特征,如普通话中的声调。由于我们的端到端系统能直接预测字符,因此可以省去一些步骤。这使得我们能快速创建一个端到端的汉语语音识别系统(中文汉字的输出只需使用上述的一些方法,且不用多做改变)。

我们对网络结构做出的变化是基于中国汉字的特点。网络输出的概率为大约6000个字符,它包括罗马字母,因为中英文转录是常见的。我们在评估时间整理了词汇错误,如果输入的字符不在这一套之中。这不是一个大问题,因为我们的测试集只有0.74%超出词汇字符。

我们使用的字符等级是以中文为语言模型因为词语常在文本中通常分割。在6.2部分,我们展示了我们的汉语语音模式是和英语语音模式一样有结构改进,同时也给一种语言转化成另一种语言提供了相关建模知识。

4.系统优化

我们的网络有几千万的参数,和一个训练实验涉及几十个单精度exaFLOPs。由于我们评估数据和模型假设能力取决于训练速度,我们基于高性能的计算设施(HPC)创建了一个高度优化的培训体系。虽然诸多的框架都是为深度网络中平行机器而存在,我们发现处理能力经常被不优化的路线所阻碍,而这些阻碍一直被认为是理所当然。因此,我们重心放在优化用于训练的路径。具体来说,我们为打开MPI创建了定制的All-Reduce码,并跨越GPU的多个节点上总结梯度,为GPU的快速实现开发了CTC,并使用自定义的内存分配器。总之,这些技术使我们能够在每个节点上的把理论峰值性能值维持在45%。

我们的培训在多个GPU分布工作以并行方式与SGD同步,每个GPU使用本地副本去作用到当前的Minibatch, 接着与其他的GPUs交换计算梯度。我们更倾向于同步SGD因为它是可重复生产的,这可以促进发现和修护后退。在此设置中,然而,GPU必须在每一次重复迅速交流(使用“All-Reduce(全减少)”操作),以避免浪费计算周期。在此之前的工作使用了异步更新,以缓解此问题。相反,我们侧重于优化All-Reduce操作,实现4X-21X加速,利用技术为特定网络工作减少CPU-GPU交流。同样,要提高整体的计算,我们使用来自Nervana系统高度优化核心,并且NVIDIA用于深度学习应用。我们同样发现,当降低GPU和CPU之间的同步次数,自定义的内存分配例程在优化性能至关重要。

我们还发现,CTC成本计算占运行时间的一个显着的部分。由于没有高度优化的CTC编码存在,我们开发了一个快速的GPU实施方法,从而减少了10-20%的总训练时间。

5. 训练数据

大规模的深度学习系统需要丰富的标记训练数据。为训练我们的英语模式,我们用11940小时含800万标注的言论,以及普通话系统采用9400小时含1100万话语标记的讲话语音。

5.1 训练集结构

英语和普通话的部分数据集是从嘈杂音频剪辑的原始数据创建的。为了把音频段分成若干秒长的片段,我们依照转录副本校准。对于给定的音频转录对(x,y)的,最可能的校准被计算为:

这是一个基本的ViterBi校对,且是在使用RNN模型培养CTC中发现的。由于CTC损失函数集和所有校准,这并不能保证校准的精确。然而,我们发现,这种方法在采用双向RNN时能产生一个精确的对准。

为了过滤质量较差的录音,我们建立具有以下功能的简单分类器:始料CTC花费,由于始料CTC花费是基于序列长度,CTC花费则基于录音长度进行标准化,句子长度和转录长度的比率,转录中单词数和字符数。我们收集源标签建立这个数据集。对于英语数据集,我们发现过滤管可以把WER从17%减少到5%,同时保留50%以上的例子。

此外,在每一阶段我们动态地通过添加特有噪声从0dB到30dB之间的SNR,去增强数据集。

5.2 缩放数据

我们在表3中展示了在WER增加标注训练数据集的效果。这些都是在训练之前从数据集中随机取样的。对于每个数据集,模型被训练长达20阶段,并且早期就会停止于错误,伸展开发的一套以防止过度拟合。在训练集增加10个因素,WER则会下降到40%。我们同时也关注WER(60%相似)常规和嘈杂的数据集之间的差距,这意味着更多的数据在这两种情况下也同样适宜。

表3:英语WER在普通和嘈杂发展集在增加训练集的比较。模式有9层(2层是2D卷积和7层周期)具有68M参数。

6. 结果

为了评估我们的语音系统对现实世界的适用性,我们基于大量测试集进行评估。我们使用多种公开可用的基准和几个测试套内部收集。所有模式都被训练了20阶段,而这些阶段都是用于全英文或全中文的数据集,如第5节所述。我们和Nesterov动力一起使用随机梯度下降,同时有一个minibatch带有512句话。如果梯度的范围超过400的阈值,则重新调整为400。选择培训期间,从执行最好的一套模型进行评估。在每一个阶段都有1.2持续的因素时,学习率是从[1×10-4, 6×10-4]中选择的,为得出更快的集合和锻炼。

6.1 英语

最好的英语模型有两层2D卷积,紧随着的是3层不定向的周期层,在每一层都附有2560GRU,紧随的还有卷积层预期层τ=80, 且都是由BatchNorm和SortaGrad训练。我们模型在测试集中不会适应所有语音的条件。语言模型解码参数上持有了一次集开发设置。

我们报告几个为系统和人类准确评估所用的测试集的结果。我们通过询问工作人员从亚马逊Mechanical Turk手工抄写了我们所有的测试装置获得的人类表现水平。大众不如专业的,训练有素的转录员准确。例如,(李普曼,1997)发现,人类抄写达到接近1%WER在WSJ-Eval92集上,接近1%的WER,当他们被额外的奖励激励时,得到则是一个较低的WER,以及自动错字动机和拼写更正,并在错误率进一步减少通过使用转录委员会会员时。

我们采用无奖励机制和自动改正的,因为一个有效竞争的“ASR wizard-of-Oz”我们力争胜利。两个随机工人抄写。

表4:系统和人类在WER表现对比

每一个音频剪辑,平均约5秒之久每个。然后,我们取这两个转录教好做最终WER计算。大多数工人都在美国,允许多次收听音频剪辑,转录一次平均花费27秒。手动转录的结果进行比较,以现有的事实为基础,以产生一个WER估计。而现有的实况转录确实有一些标签误差,在大多数集小于1%。

6.1.1 基准测试结果

具有高信噪比阅读演讲可以说是在大词汇量连续语音识别的最简单的任务。我们系统的基准是两个测试集,一个是读取新闻文章的华尔街日报(WSJ)语料库,另一个是有声读物LibriSpeech语料库。从表4可看出每4个测试集,3个是系统比人类表现更好。

我们还使用VoxForge(http://www.voxforge.org)测试了我们的系统对各种口音适应性。该测试组包含许多不同的口音人的朗读语音。我们将这些口音分为四类:美国,加拿大,印度,Commonwealth5和European6。我们构建了一个测试集从VoxForge数据组中每1024的例子作为一个口音组,总共4096的例子。人的水平表现仍明显高于我们的所有系统,但印度口音除外。

最后,我们使用从最近完成的第三个挑站试验台CHiME测试了嘈杂的讲话时我们的表现。该数据集中所含有的话语是从WSJ测试集中收集而来,而WSJ所含有的话语则是在实际环境中收集并且加上了人为的噪音。使用CHiME所有6个通道可以提供显着的性能改进。我们对我们所有的模式都使用单一渠道,由于获得多声道音频尚不普遍。当数据来自一个真实的嘈杂的环境,而不是人工合成将噪声添加到清晰的语音,我们的系统和人类级性能之间的差距较大。

6.2 普通话

在表5中我们比较一些结构受训中国普通话语音为开发的一套2000句语音以及测试集1882句噪音语音。该开发套件也被用来调整解码参数。我们发现最深的模型2D卷积和BatchNorm相对于优于浅层RNN 48%。

表5:不同RNN结构的比较。开发和测试集的内部语料库。每:表中的模型有8000万左右的参数。

表6:基于两个随机选择的测试集测试人类和系统。在第一个集有100个例子,由5位中国人标注。第二个有250实例由标注一个人的抄写。

表6显示了我们最好的中国普通话语音系统转录简短的语音查询类似的言论比一个典型的中国人和一个委员会5名中国人一起工作更好。

7.部署

双向模型即时转录设计不良:由于RNN有几个双向层,抄录话语需要整个发声的方式呈现给RNN;并且由于我们使用宽波束搜索用于搜索,波束搜索可能是昂贵的。

为了增加部署可扩展性,同时提供低延迟的转录,我们构建了一个批处理调度称为批处理调度(Batch Dispatch),在表现RNN用于宣传这些批次时,这些批次收集用户请求数据从而制成批次。有了这个调度器,我们可以增加贸易批量大小,从而提高了效率,从而增加延迟。

我们使用一个积极的批次方案,并且次方案会积极处理每一批次,只要前一批次完成后,无论多少工作要在此点准备。这种调度算法平衡效率和延迟,实现了相对较小的动态批量规模,高达每批次10个样品,其中中间批量大小与服务器负载成比例。

表7:延迟分布(毫秒)VS 负载

我们看到表7中,我们的系统达到了44毫秒的延迟时间,而第98百分位的延迟时间为70毫秒并带有10合流。此服务器使用一个的NVIDIA Quadro K1200 GPU对RNN进行评价。正如所设计,当服务器负载的增长,批量调度轮把工作转为更大的批次,保持低延迟。

我们的部署系统评估在半精度运算,它没有可衡量的精度影响RNNs,但显着提高效率。我们写我们自己的16位矩阵乘法程序完成此任务,大大提高了相对较小批次的吞吐量。

执行所述波束搜索过程包括在所述n-gram语言模型重复查找,其中大部分转化为未缓存中从存储器中读取。为了减少这些查找的成本,我们采用启发式:只考虑最少数量的字符的累积概率为至少在P。在实践中,我们发现p= 0.99效果很好,另外我们将搜索范围限制为40个字符。这加快了由150倍累计普通话语言模型查找时间,并且对CER(相对在0.1-0.3%)的影响可以忽略。

7.1 深度语音的生产环境

深度语音已经为用户应用集合了先进的语音生产管道。我们发现,一些关键挑战影响端到端的深度学习方法,比如说我们的。首先,我们发现,即使适量的特定应用程序的训练数据是无价的,尽管大量语音数据用于训练。例如,当我们能够训练上10000小时以上普通话演讲,我们发现只有500小时的使用时间数据可以显着提高应用程序的性能。同样,应用特定网络语言模型对实现最高精确度非常重要,我们充分利用现有的强n-gram模型与我们的深层语音系统。最后,我们注意到,由于我们的系统是从广泛标记的训练数据直接输出的字符,在每个应用程序转录必须在后处理进行处理(如数字格式)。因此,虽然我们的模型已经拆了很多的复杂性,更多的灵活性,并为端到端的深度学习方法的应用意识还有待进一步研究。

8.结论

终端到终端的深度学习提出了令人兴奋的前景,在数据和计算的增加不断提高语音识别系统。由于该方法是高度通用的,我们已经发现,它可以迅速地应用于新的语言。为两个非常不同的语言,创建高性能识别机器,英语和普通话,并且不要求关于该语言的专业知识。最后,我们还发现,这种方式是由GPU服务器和用户的请求一起高效实施,提供用户提供端到端的深度学习技术。

为了实现这些结果,我们已经探索了各种网络架构,发现几种有效的技术:通过SortaGrad和批次规范化(Batch Normalization)和前瞻卷积单向模式增强优化。这种探索是一个很好的优化,高性能计算体系,使我们在大型数据集里在短短的几天内培训全面的模式。

总体而言,我们相信我们的结果确定和例证端到端的深度学习方法用于语音识别的价值。我们相信,这些技术将会继续扩展。

医用敷料价格

料酒价格

黑色缠绕膜图片

其他挂件批发