用于减小生产语音模型中的原则性偏差的系统和方法与流程

文档序号:15391470发布日期:2018-09-08 01:12阅读:369来源:国知局

本申请根据35usc§119(e)要求于2017年2月24日提交的、题为“principledbiasreductioninproductionspeechmodels(减小生成语音模型中的原则性偏差)”的第62/463,547号(案卷号:28888-2108p)美国临时专利申请的优先权权益,其将adamcoates、jiajihuang、hairongliu、zhenyaozhu、rewonchild、ericbattenberg、heewoojun、anuroopsriram、vinayrao、sanjeevsatheesh和atulkumar列为发明人。上述专利文献通过引用以其整体并入本文。

本公开总体涉及用于计算机学习的系统和方法,该系统和方法可提供改进的计算机性能、特征和使用。



背景技术:

近来,端对端训练的语音模型已达到技术发展水平。然而,低延迟的转录对模型施加了限制,以高偏差范围妨碍端对端模型。期望的是识别和解决系统中的偏差源,并因此覆盖与非生产模型的大部分差距。

因此,需要具有降低的偏差的用于端对端语音模型的系统和方法。

背景技术

在本公开的一方面,用于自动语音识别的计算机实现的方法,包括:

接收包括多个话语的输入音频;

为每个话语生成一组谱图帧;

对于一组话语中的每个:

将所述话语划分为多个重叠的语块;在递归神经网络中以向前递归的方式依序地处理所述话语;

在所述递归神经网络中以向后递归的方式处理所述多个语块;以及

使用从每个语块获得的所述向后递归的隐藏状态来计算所述递归神经网络的最终输出。

在本公开的另一方面,用于训练用于语音转录的递归神经网络模型的计算机实现的方法,所述方法包括:

将来自训练集的多个话语输入至所述递归神经网络模型,所述递归神经网络模型包括一个或多个卷积层以及一个或多个双向递归层;

通过实施能够训练的每一通道能量归一化,为每一话语生成一组谱图帧;

以向前递归和向后递归的方式处理话语集中的每个,以获得所述递归神经网络的最终输出;

在联接时序分类成本层中使用所述最终输出训练所述递归神经网络。

在本公开的又一方面,用于以递归神经网络进行语音转录的计算机实现的方法,所述方法包括:

接收与话语相对应的一组谱图帧;

将所述话语划分为多个重叠的语块,每个语块与固定的上下文尺寸相对应;

在所述递归神经网络内的一个或多个门控递归单元层中以向前递归的方式依序地处理所述话语的所述一组谱图帧;在所述一个或多个门控递归单元层中以向后递归的方式处理所述多个语块中的每个,以获得多个隐藏状态;以及

使用所获得的隐藏状态计算所述递归神经网络的最终输出。

附图说明

将参考本发明的实施方式,它们的示例可示于附图中。这些附图旨在是说明性的而非限制性的。虽然本发明大体上在这些实施方式的上下文中描述,但应理解,本发明的范围并不旨在限于这些特定实施方式。附图中的项目未按比例绘制。

图1描绘根据本文件的实施方式的使用不同的方法进行后处理的相同音频段的谱图。

图2描绘根据本文件的实施方式的使用pecn归一化进行输入建模的过程。

图3描绘根据本文件的实施方式的不均匀的真实世界数据集上的对数压缩的归一化偏差,其中,该不均匀的真实世界数据集在不同的通道和声学效应下失真。

图4描绘根据本文件的实施方式的不同结构的上下文。

图5描绘根据本文件的实施方式的延迟受限的双向gru(lc-bgru)的详细的上下文图。

图6描绘根据本文件的实施方式的使用lc-bgru结构进行语音识别的过程。

图7分别描绘了根据本文件的实施方式的开发集上的字符误差率(cer)和服务延迟,字符误差率(cer)和服务延迟与预先准备和lc-bgru层的数量有关。

图8描绘根据本文件的实施方式的以延迟受限的bgru(lc-bgru)方法运行双向门控递归单元(bgru)的cer,其中,延迟受限的bgru(lc-bgru)方法具有不同的环境尺寸(c)和超前时间步。

图9描绘根据本文件的实施方式的标签‘cat’的向前-向后转换的状态。

图10描绘根据本文件的实施方式的用于期望-最大化(em)方法来训练gramctc模型的过程。

图11描绘根据本文件的实施方式的用于替代方法来训练gramctc模型的过程。

图12(a)描绘根据本文件的实施方式的由三个参考模型预估的对齐之间的互相关系,其中,三个参考模型为前向模型、lc-bgru模型和双向模型。

图12(b)描绘根据本文件的实施方式的具有对准的不同历元数处的开发集上的cer,其中,对准从双向模型应用于前向模型的预训练。

图12(c)描绘根据本文件的实施方式的不同历元数处的培训成本,该培训成本为通过从预训练开始使用不同的对准来热启动lc-bgru模型的成本。

图12(d)描绘根据本文件的实施方式的在图12(c)中的lc-bgru模型中训练的模型在开发集上的cer。

图13描绘根据本文件的实施方式的基线架构与所提议的模型架构之间的比较。

图14描绘根据本文件的实施方式的计算设备/信息处理系统的简化框图。

具体实施方式

在以下描述中,出于解释目的,阐明具体细节以便提供对本发明的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本发明。此外,本领域的技术人员将认识到,下文描述的本发明的实施方式可以以各种方式(例如过程、装置、系统、设备或方法)在有形的计算机可读介质上实施。

附图中示出的组件或是模块是本发明实施方式的示例性说明,并且意图避免使本发明不清楚。还应理解,在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应当关注,本文论述的功能或操作可实施为组件。组件可以以软件、硬件、或它们的组合实施。

此外,附图内的组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其他方式改变。另外,可以使用另外或更少的连接。还应关注,术语“联接”、“连接”、或“通信地联接”应理解为包括直接连接、通过一个或多个中间设备来进行的间接连接、和无线连接。

在本说明书中对“一个实施方式”、“优选实施方式”、“实施方式”、“多个实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本发明的至少一个实施方式中。另外,在本说明书的各个地方出现以上所提到的短语并不一定全都是指相同的实施方式或多个相同实施方式。

在本说明书的各个地方使用某些术语目的在于说明,并且不应被理解为限制。服务、功能或资源并不限于单个服务、单个功能或单个资源;这些术语的使用可指代相关服务、功能或资源的可分布或聚合的分组。

术语“包括”、“包括有”、“包含”、“包含有”应理解为开放性的术语,并且其后任何列出内容都是实例,而不旨在限于所列项目。本文所使用的任何标题仅是为了组织目的,并且不应被用于限制说明书或权利要求的范围。本专利文献中提到的每个参考文献以其全文通过引用并入本文。

此外,本领域的技术人员应认识到,(1)某些步骤可以可选地执行;(2)步骤可不限于本文所阐述的特定次序;(3)某些步骤可以以不同次序执行;以及(4)某些步骤可同时地进行。

应注意,本文中呈现的任何实验和结果以说明的方式提供,并且使用一个或多个特定实施方式在特定情况下执行;因此,这些实验或其结果均不应当用来限制当前专利文献的公开的范围。

a.介绍

深度学习已帮助语音系统在多语言的语音识别任务上获得非常强的结果。因此可以这么说,可认为自动语音识别(asr)任务“解决了”具有足够训练数据的任何领域。然而,诸如支持流推理的生产需求带来一定约束,使这种模型的性能显著地劣化—主要是由于在这种约束下训练的模型处于欠拟合状态,并且也可能不再适用于训练数据。欠拟合是具有高偏差的模型的第一症状。在本文中,旨在建立具有低偏差的可配置的模型架构:1)允许服务于最佳语音模型,以及2)通过添加更多的数据和参数来更好地识别架构,从而提高泛化性能。

通常,偏差是通过使用代理损失函数(或其所作假设)由手动设计的特征或工作流程中所作的假设引起的,其中,代理损失函数(或其所作假设)不同于最终度量标准、或者甚至可隐含在模型中所使用的层中。有时,优化问题也可防止模型适用于训练数据—该效果难以与欠拟合区分。在本文中,探讨了多种解决优化问题的方法。

生产语音模型中的偏差来源

由于端对端模型具有较少的手动设计特征,因而该端对端模型通常倾向于具有较低的偏差。因此,在本公开中使用类似的模型作为开始的基线。在实施方式中,该模型是递归神经网络,该递归神经网络具有两个2d卷积输入层,接着是多个双向递归层(用于低延迟asr的单向递归层)和在softmax层之前的一个完全连接层。在实施方式中,使用联接时序分类(connectionisttemporalclassification,ctc)损失函数来端对端地训练网络,以直接从音频的对数谱图预测字符的序列。以下假定是隐含的,这导致了模型的偏差:

1.输入建模:通常,使用能量归一化、谱图特征化、对数压缩以及最后的特征智能平均值和方差归一化来处理输入的音频。图1描绘了根据本文件的实施方式的使用不同方法进行后处理的相同音频段的谱图。在图1中,每行示出了使用两个不同方法进行后处理的相同音频段的谱图。横轴为时间(10ms/步)以及纵轴为频率区。左列通过应用对数而生成。右列以0.015和0.08的平滑系数使得每一通道能量归一化(pcen)。图1示出了对数谱图在频带上可具有高动态范围(图1(a)),或具有一些缺失的频带(图1(c))。在实施方式中,本公开研究了pcen层如何能够从这些变换中参数化并学习改进后的版本,这会简化随后的2d卷积层的任务。

2.用于流推理的架构:英语asr模型极大地受益于将来自几个时间帧的信息使用到将来。在实施方式中,在基线模型中,这是通过使用双向层而启用的,其中,双向层不可能以流形式进行部署,因为仅在整个输入生效之后才可计算后顾性递归。使得递归向前-不仅立即除去这个约束并使得这些模型可部署,并且还假定没有未来的上下文可使用。在实施方式中,本公开示出了延迟受限的双向rnn在控制延迟且同时仍然能够包括未来的上下文方面的有效性。

3.目标建模:输出字符的ctc模型假定在给出输入特征的所预测的字符之间的条件独立性,--虽然这种近似法使得最大似然训练易于处理,但这引起了英语asr模型上的偏差并在性能上强加了上限。虽然ctc可以容易地对通常共同出现的n-元(n-gram)一起建模,但在转录看不见的单词时,不可能对许多可能的拼写给出大致相等的概率,因为概率质量必须分布在多个时间步之间,同时假定条件的独立性。在实施方式中,本公开示出了gramctc如何找到标签空间,在该标签空间中,条件的独立性更易于管理。

4.优化问题:另外,尽管ctc损失使得系列标签易于处理,但ctc损失是众所周知的不稳定,这是由于它迫使模型对齐输入和输出序列,以及识别输出的标签。使优化稳定可帮助学习具有相同数量参数的更好的模型。在实施方式中,本公开示出了使用对齐信息以提高这些模型的收敛速度的两种有效方式。

本文的其余部分概括如下:b小节介绍解决上文所概述的每一问题的一些相关工作。c小节、d小节、e小节和f小节研究用于解决相应问题的解决方案,并研究其应用中的权衡问题。在g小节中,本公开呈现了示出每一独立部件的影响以及它们所有的组合的影响的实验。g小节中也对一些结果进行了讨论。

b.一些相关工作

如2015年interspeech中的由sainath等所著的“learningthespeechfront-endwithrawwaveformcldnns(学习具有原始波形cldnn的语音前端)”以及2016年interspeech中的由zhu等所著的“leaningmultiscalefeaturesdirectlyfromwaveforms(直接从波形学习多尺度特征)”中所公开的那样,去除输入模型中的所有偏差的最直接的方法很可能是通过学习这些变换并参数化,以从原始波形中直接学习充分表达的模型。这些工作表明,在不显著增加计算和内存需求的情况下,仅从原始波形的建模中难以获得准确度上的突出的改进。wang等(“trainablefrontendforrobustandfar-fieldkeywordspotting(用于鲁棒性和远场关键词定位的可训练的前端)”,arxiv:1607.05666,2016a)介绍了可训练的每一通道能量归一化层(pcen),该层使功率归一化以及压缩步骤均参数化,这通常由过静态对数变换处理。

wang等已于2016年在《lookaheadconvolutionlayerforunidirectionalrecurrentneuralnetworks(用于单向递归神经网络的超前卷积层)》中提出了用于流推理的超前卷积。此外,chen和huo提出了用于易处理的序列模型训练、而非为流推理开发的延迟受限的双向递归层(lc-brnn)和上下文敏感块(contextsensitivechunks,csc)(“trainingdeepbidirectionallstmacousticmodelforlvcsrbyacontext-sensitive-chunkbpttapproach(通过上下文敏感块bptt方法训练用于lvcsr的深层双向lstm声学模型)”,ieee/acmtransactionsonaudio(音频处理),语音和语言处理,24(7):1185-1193,2016)。时延神经网络(peddinti等,“atimedelayneuralnetworkarchitectureforefficientmodelingoflongtemporalcontexts(用于长时序上下文的高效建模的时延神经网络架构)”,interspeech,第3214–3218页,2015)和卷积网络也是用于控制未来上下文数量的选项。

已提出替代性方案来缓和ctc损失-注意模型、全局归一化、分段式rnn以及如晶格自由mmi(maximummutualinformation)的更多端对端损失的标签独立假设,其中,ctc损失-注意模型由bahdanau等,“neuralmachinetranslationbyjointlylearningtoalignandtranslate(通过联合学习对准和翻译的神经机器翻译)”,第3届学习表达国际会议(iclr2015);以及chan等,“(listen,attendandspell:aneuralnetworkforlargevocabularyconversationalspeechrecognition)听、参与以及拼写:用于大词汇量对话的语音识别的神经网络”,2016ieee声学、语音和信号处理国际会议(icassp)提出,全局归一化由collobert等,“wav2letter:anend-to-endconvnet-basedspeechrecognitionsystem(基于卷积神经网络的端对端语音识别系统)”,arxivpreprintarxiv:1609.03193,2016提出,片段式rnn由lu等在2016年的interspeech中的“segmentalrecurrentneuralnetworksforend-to-endspeechrecognition(用于端对端语音识别的片段递归神经网络)”中提出,以及如晶格自由mmi的更多端对端损失由povey等在2016年的interspeech中的“purelysequence-trainedneuralnetworksforasrbasedonlattice-freemmi(基于lattice-freemmi的用于asr的仅训练序列的神经网络)”中提出。

已证明通过首先馈送较短的示例,如sortagrad(amodei等,“deepspeech2:end-to-endspeechrecognitioninenglishandmandarin(深度语音2:英语和普通话的端对端语音识别)”,arxivpreprintarxiv:1512.02595,2015)并通过从利用交叉熵(ce)损失(使用对准信息)进行预训练的模型中热启动ctc训练(sak等,“fastandaccuraterecurrentneuralnetworkacousticmodelsforspeechrecognition(用于语音识别的快速且精确的递归神经网络声学模型)”,arxivpreprintarxiv:1507.06947,2015),使得ctc模型训练变得更稳定。sortagrad还有助于收敛至更佳的训练误差。

c.输入建模中的实施方式

asr系统通常具有关键的前端,除了其它操作之外,该前端还涉及功率归一化、其后跟着对数压缩的梅尔频谱图计算、均值和方差归一化。本小节表明,在实施方式中,通过用可训练的前端代替该工作流可以对多种的语音输入进行更好的建模。图2描绘了根据本文件的实施方式的使用pecn归一化进行输入建模的过程。在步骤205中接收原始声音数据。在步骤210、215和220中分别实现功率(音量)归一化、梅尔频谱图和特征归一化。在步骤225中,实现可训练的每一通道能量归一化(pcen),而不是对数压缩。

虽然谱图在计算与表现质量之间达到了极好的平衡,但它们具有高动态范围(图1)并且容易受到诸如房间脉冲响应、朗伯效应和背景噪音的通道效果的影响。为了缓解第一个问题,通常进行对数压缩,然后进行均值和方差归一化。然而,这只能适度地有助于可能出现在如前面所描述的真实世界中的所有变化,并且期望通过将网络暴露于这种数据来学习对这些影响的鲁棒性。通过缓解语音任务和通道归一化的网络,它可为实际的语音识别任务奉献更多的能力。在实施方式中,传统的对数压缩和功率归一化步骤可用可训练的pcen前端来替换,可训练的pcen前端执行:

其中,x是输入谱图,m是输入的因果能量估计,以及δ、α、r、ε是可调谐的每一通道的参数。用于其的激励是双重的。它首先使用自动增益控制器(agc)来对音频归一化,x/mα,并使用(·+δ)rr对其动态范围进行进一步的压缩。后者设计为近似优化的频谱减法曲线,这有助于提高对背景噪音的鲁棒性。显而易见地,图1表明pcen有效地归一化了多种扬声器和通道效应。

最初先激励pcen以改善关键词定位系统,但本文中的实验表明其有助于普通的asr任务,对基线上的误差率产生显著的改善(如表3所示)。内部策划的训练数据集包括在多种现实设置中采集到的语音数据。pcen前端在远场验证部分中所给出的改善最大,其中,绝对值减小了2wer。为证明确实减小了偏差,在一种小得多且均匀的数据集wsj上做了尝试。如图3(a)所示,在保持验证集上(holdoutvalidationset)未观测到改进,因为所读取的语音极其均匀,且标准的前端足够了。图3描述具有对数频谱图(305和315)和pcen频谱图(310和320)的保持验证cer。图3(b)清楚地示出了在不均匀的真实世界数据集315上的对数压缩的归一化偏差,其中,不均匀的真实世界数据集315在各种通道和声学效应下失真。

d.延迟受控的递归层中的实施方式

考虑到用于部署情况下的asr系统的常规使用情况,音频通常以短持续时长(例如,50-200ms)的包的形式在网络上发送。在这些流情况下,提高准确性并减少最终用户感知的延迟是非常重要的。观测到,用户倾向于对其停止讲话的时刻与所讲的最后一个单词向其呈现的时刻之间的时间最为敏感。作为用于感知延迟的代理,测定了终包延迟,该终包延迟定义为在最后一个音频包到达服务器处之后向用户返回转录所用的时间。在实施方式中,通常也将实时因子(rtf)用于测定asr系统的速度,但大多数情况下并非与延迟密切有关。虽然rtf<1对于流系统是必需的,但这远远不够。作为一个示例,rtf不考虑由神经网络中的(堆积的)卷积而引起的、在处理时间中的不均匀性。

在实施方式中,为处理由在部署的模型中纯粹使用仅前向递归而引起的偏差,对几种结构进行了检验。这些结构在图4中示出,包括超前卷积(la-conv)和延迟受控的双向rnn(就本文而言,lc-bgru,作为递归层使用gru单元)。在图4中,实线箭头表示前向递归,虚线箭头表示后向递归,以及实线表示卷积窗口。此外,在每一箭头的开始处将状态重置为零。

如图4(e)所示,la-conv层学习在未来的([t+1,t+c])时激活的线性加权组合(卷积),以计算用于具有上下文尺寸c的每一神经元t的激活。将la-conv放置在所有递归层上方。

图5描绘了lc-bgru具体的上下文视图。在实施方式中,在lc-bgru层中,将话语505均匀地分成几个重叠的语块510,该重叠的语块510中的每一个均可视为独立的话语并使用双向递归进行计算。每一个语块510可包括具有预定时间步的第一部分515以及超前部分520。

图6描绘了根据本文件的实施方式的用于具有lc-bgru结构的用于语音识别模型的过程。模型结构的细节可参照图11。在步骤605中,接收长度为l的话语x。xi表示x的帧。在步骤610中,将x划分为重叠的语块,每一个重叠的语块具有固定的上下文尺寸cw。将语块均匀地划分,并且每一个语块均具有比固定的上下文尺寸cw小的重叠步长cs。在步骤615中,前向递归将x依序地处理为x1,...,xl。后向递归开始处理(620)第一语块x1,...,然后以语块/步长cs(小于cw的数)向前移动(625),以独立地处理第二个语块...,等(直到最后一个语块)。关于第一个语块x1,...,xcw,xcs,...,xcw+cs称为前向。将后向递归的隐藏状态hbo在每一个语块之间重置,并因此使用由每一个语块产生的计算(630)lc-bgru层的最终输出。

图4示出了该操作并将其与为类似目的而提出的其它方法进行比较。在该lc-bgru层中的前向查找和后向查找单元接收相同的输入仿射变换。发现的是,这有助于减少计算和节省参数,而不会对准确性产生不利影响。然后,在输入至下一层之前,将输出在每一时间步处的特征上串接。

1.准确性与服务延迟

比较使用la-conv和lc-bgru的字符误差率(cer)和终包延迟,以及用于参考的前向gru和双向gru的字符误差率(cer)和终包延迟。在实施方式中,对于la-conv和lc-bgru二者,上下文尺寸固定为30时间步,并且对于lc-bgru,前向时间步在5到25每5步的范围内。对于延迟实验,将包大小固定在100ms,并且每100ms从客户端发送一个包。发送10个并发流来模拟适度负载下的系统。图7(a)和图7(b)分别描绘了根据本文件的实施方式的开发集(dev-set)上的字符误差率(cer)和服务延迟,该字符误差率(cer)和服务延迟与预先准备与lc-bgru层数有关。如图7(a)所示,la-conv几乎减小了前向gru与双向gru之间差距的一半,然而在具有25步时提前量的3个lc-bgru的模型每一个(黄线)均与双向gru(绿线)执行得一样好。提高了准确性,但随着lc-bgru层堆叠,服务延迟呈指数性地增加,这是由于如同卷积层中那样增加了有效的上下文。考虑到准确性和服务延迟二者,最终的模型使用1个lc-bgru层,具有20个时间步(400ms)的提前量以及10个时间步(200ms)的步长。应注意的是,1个时间步对应于原始输入谱图的10ms,并且然后在卷积层中跨越为20ms。

2.将bgru加载为lc-bgru的实施方式

由于双向gru(bgru)可认为是lc-bgru具有无限上下文(与话语长度一样长)的极端情况,因而有兴趣探讨是否可以将训练过的双向gru模型加载为lc-bgru,从而使得lc-bgru不必从开始训练。然而,发现的是,与双向基线和大量语块大小和前向上利用堆叠的lc-bgru训练的模型二者相比,将具有3个堆叠的双向gru的模型加载为堆叠的lc-bgru在性能上发生了显著的劣化。

在实施方式中,如果将每一层处的输入改为切成固定的大小cw,使得该尺寸小于有效的上下文,则可提高模型的性能。lc-bgru层在具有长度cw的输入上运行,然后输入以cs跨步,去除最后的(cw-cs)输出,并且在已跨步输入的层上重新运行。在每次迭代之间,复制前向递归状态,但每次均重置后向递归状态。图8示出了使用多种cw和cs的效果。该方法在cw≥300时间步和cs≥150时间步的情况下更成功得多,能够获得于双向gru几乎相同的误差率。在选择这样的cw和cs的情况下,网络所做的计算是其他方式所需的两倍,并且还具有对于流应用无法接收的延迟。然而,它的确具有在几乎没有损失准确性的情况下、在生产环境中任意长的话语上运行双向递归层的优势。

e.损失函数实施方式

由ctc形成的条件独立假设迫使模型学习预测标签序列上的单峰分布。gramctc(liu等,“gram-ctc:automaticunitselectionandtargetdecompositionforsequencelabelling(用于序列标签的自动单元选择与目标分解)”,arxivpreprintarxiv:1703.00096,2017,并且交叉引用于2017年9月7日提交的、题为“systemsandmethodsforautomaticunitselectionandtargetdecompositionforsequencelabelling(用于序列标签的自动单元选择和目标分解的系统和方法)”的第15/698,593号(案卷号28888-2107)美国专利申请,其全部内容通过引用并入本文)尝试发现了在其中由ctc形成的条件独立假设具有较少危害的输出空间的变换。具体地,gramctc尝试预测单词片段,而基于端对端模型传统的ctc旨在预测字符。

在实施方式中,gramctc学习将目标序列对齐并分解为单词片段或n元(n-gram)。n-元允许处理英文拼写和发音的特殊性,其中单词片段具有一致的发音,而字符不是。例如,在模型不确定如何拼写语音时,可以选择将概率质量大致相等地分布在语音的所有有效拼写之间,并让语言模型决定拼写单词最合适的方式。这通常是最安全的解决方案,这是因为语言模型通常在明显更大的数据集上进行训练并且甚至查看最罕见的单词。gramctc是用于ctc损失函数的嵌入式替代,并仅要求是n元g的预先指定集合。在实施方式中,包括所有的一元(unigrams)和高频率的二元(bi-grams)和三元(tri-grams),构成1200个n元的集合。

1.gramctc的前向-后向过程的实施方式

gramctc的训练过程与ctc非常类似。主要区别在于,多个连续的字符可形成为有效的元。因此,前向-后向处理过程中的状态总数以及这些状态之间的过渡的总数要大得多。

图9部分地示出了用于目标序列‘cat’的动态编程过程。这里假定g包括所有可能的一元和二元。因此,对于‘cat’中的每一个字符,有三种与其相关的可能的状态:1)当前字符,2)以当前字符结束的二元,以及3)当前字符结束后的空白。在开始也存在一个空白。总计存在10个状态。

2.gramctc与ctc

gramctc以两种方式有效地减少了asr网络的学习负担:1)它将句子分解为发音有意义的n元,以及2)有效地减小了输出时间步的数量。这两方面简化了网络需要学习的规则,因而减小了asr任务所需要的网络容量。表1比较了在使用相同网络的ctc与gramctc之间的性能。有一些有趣的区别。首先,gramctc的cer与ctc相似,甚至比ctc更差:然而,gramctc的wer却总是明显优于ctc。这可能是由于gram-ctc以字符块的形式进行预测并且相同块中的字符是相互依赖的,因而更加具有鲁棒性。第二,还观察到的是,开发集上的性能相对劣于训练保持(holdout)上的性能。开发数据集不是从训练数据的相同分布中提取的—这表明了gramctc甚至可以过拟合大数据集的潜力。

表2比较了利用gramctc的训练模型在两个时间分辨率2和4上的训练效率和性能。通过以更快的速率跨过在早期层中的输入,有效地减小了后期层中的时间步,并且训练时间减少了一半。从步幅2至步幅4,性能也提高很多,可能是因为较大的n元与话语的较大片段对齐,并因而需要更小的时间分辨率。

表1ctc与gramctc的比较

表2具有不同模型步幅的gramctc的性能和训练效率

f.优化实施方式

去除优化问题已经成为改善深度神经网络中的性能的可靠方式。在实施方式中,特别针对训练递归网络,已探讨了几个优化方法。尝试过layernorm、递归批量规范和norm-prop,但都没有大的成功。此外,特别注意了对层进行适当优化,并且还使用了sortagrad。

ctc训练可能遭受优化问题。在实施方式中,通过提供训练期间的对准信息,可使ctc训练更稳定。本小节研究如何有效地使用对准信息。

1.gramctc前向-后向过程的实施方式

由于ctc使训练期间的全部对准边缘化,因而使用用于训练ctc模型的对准信息似乎是反直觉的。然而,因为ctc损失同时估计网络参数和对准,因而难以优化ctc损失。在实施方式中,为简化该问题,提出了如图10所示的期望-最大化(em)类似方法来训练gramctc模型。在步骤1005中,通过使对准的后部边缘化而在e步骤中计算期望的对数似然值;在步骤1010中,通过使期望的对数似然值最大化而在m步骤中来细化模型参数。然而,计算所有对准的后部是不可行的,并且仅通过获取最可能的对准进行近似。em的一个步骤可认为是使用对准信息的预训练方法。图11描绘了根据本文件的实施方式的用于训练gramctc模型的替代性方法的过程。在步骤1105中,首先利用一个或多个最可能的对准(其对于几个历元(epoch)简化了利用交叉熵(ce)损失的训练)来训练gramctc模型,然后在步骤1110中使用ctc损失进行训练。

在实施方式中,使用对准信息,使用ctc损失和ce损失的加权组合同时训练单个模型。在实施方式中,ctc损失和ce损失具有相等的权重。

图12(c)示出了具有纯ctc训练、预训练和联合训练的相同模型架构的训练曲线,其中,预训练和联合训练具有来自不同源模型的对准信息。在预训练的情况下,在与训练曲线中的偏移相对应的第6历元不提供对准信息。结果表明,预训练模型和联合训练模型二者最终的训练损失均比纯ctc训练模型的损失小,表现出这种优化技巧的有效性。此外,联合训练和预训练在训练方面是相同的,所以联合训练优选避免多阶段训练。开发集上相应的cer呈现在图12(d)中。

2.对准的来源

由于不同的模型根据架构和训练方法具有不同对准,因而理解对准信息需要多精确是很重要的。

从3个参考模型(仅具有前向gru、lc-bgru和双向gru层的模型,所有都用ctc最小化的几个历元进行训练)来估计对准,并且在图12(a)中呈现了在由这些模型产生的对准之间的互相关联。峰的位置意味着两个对准之间的延迟量。明显的是,通过前向(以及lc-bgru)模型的对准比通过双向模型的对准延迟5(或4)个时间步。因此,利用适当调整的对准预训练模型似乎是很重要的,例如,应将来自双向模型的对准延迟5个时间步,以用在前向模型的预训练中。然而,可发现,对于在大数据集上训练的模型,这种延迟对最终结果几乎没有影响(如图12(b)所示)。为了将这一系列实验推向极致,利用随机对准对模型进行预训练。可发现,如同通过任一ctc模型所预测的、最可能的对准足以获得改进的优化。

g.一些实施方式

应注意的是,这些实验及结果以说明的方式提供,并使用一个或多个特定实施方式在特定条件下执行。因此,这些实验或其结果均不应当用来限制本专利文献的公开范围。

1.建立

在所有的实验中,数据集是来自各种来源的10,000小时的标记过的语音。在实施方式中,通过噪声增强来扩大数据集--在每个历元中,随机选择40%的话语并添加背景噪声。为了对在远场识别中遇到的混响噪声具有鲁棒性,采用房间脉冲响应(rir)增强,在这种情况下,对数据的子集随机取样,并每一示例与随机rir信号进行卷积。使用8个麦克风线性阵列,通过发射来自扬声器的信号并捕捉该信号以及房间中的混响,收集rir。对于20个不同的房间,将扬声器放置为各种配置,相对于阵列放置为1至3米的距离并且60至120度的倾斜。

图13描绘了根据本文的实施方式的基线架构(图13(a))与新模型架构(图13(b))之间的比较。

模型说明和训练过程与深度语音2模型相同(amodei等,“deepspeech2:end-to-endspeechrecognitioninenglishandmandarin(深度语音2:英语和普通话的端对端语音识别)”,arxiv:1512.02595,2015,并交叉引用于2016年11月21日提交的、题为“end-to-endspeechrecognition(端对端语音识别)”的第15/358,102号(案卷号28888-1990)美国专利申请,以及于2016年11月21日提交的、题为“deployedend-to-endspeechrecognition(配置的端对端语音识别)”的第15/358,083号(案卷号28888-2078)美国专利申请,其每一个的全部内容均通过引用整体并入本文)。如图13(a)所示,基线模型是深度递归神经网络,具有两个2d卷积输入层、接着是3个前向门控递归层(每一个均具有2560个单元)、超前卷积层和在softmax层之前的一个全连接层。利用ctc损失来端对端地训练网络以预测字符。二维卷积层(滤波器,过滤器尺寸,通道,步幅)的配置为(32,41×11,1,2×2)和(32,21×11,32,2×1)。时域和频域二者中的步幅有助于减小卷积层中的计算。在卷积层与全连接层中,在应用非线性(relu)之前应用批量归一化。序列智能批量归一化(交叉引用于2016年11月21日提交的、题为“端end-to-endspeechrecognition(端对端语音识别)”的第15/358,102号(案卷号28888-1990)美国专利申请,以及于2016年11月21日提交的、题为“deployedend-to-endspeechrecognition(配置的端对端语音识别)”的第15/358,083号(案卷号28888-2078)美国专利申请,其每一个的全部内容均通过引用整体并入本文)在递归层中使用,有效地作用于馈入其中的输入的仿射变换。

对于基线模型,在具有10m跃程尺寸和20ms窗尺寸的161个箱中,提取对数频谱图特征,并对其归一化以使得每一个输入特征的均值为0且具有单位方差。所使用的优化方法是具有涅斯捷罗夫动量的随机梯度下降。超参数(批量大小=512,学习率7×10-4,动量0.99)在不同的实验中保持不变。

图13(b)示出了用于新模型的架构。该模型包括用来处理音频输入的频谱图的pcen层1305、一个或多个二维卷积输入层1310,其后是递归神经网络(rnn)1315。rnn包括一个或多个门控递归层1320。在实施方式中,门控递归层1320中的至少一个为lc-bgru层。lc-gbru的细节公开在之前的部分中,包括d部分和图4至图6。在ctc损失层1325中端对端地训练新模型以预测字符。可针对ctc损失来实施前面所提到的ctc、gram-ctc和/或对准训练。在实施方式中,诸如时域和频域中的步幅、gru层和/或卷积层中的序列智能批量归一化的、可应用在深度语音2模型中的方法也可应用至新模型中。

表3示出了在前面部分中提出的解决方案的结果。在训练集以及开发集的样本上报告该结果。训练集上的误差率有助于识别过拟合的情况,特别是因为在由于其来源不同而使得开发集明显异于本文中的训练分布。

在表3中,使用输出softmax矩阵的贪婪最大解码(即,在每个时间步处取得最可能的符号,然后去除空白和重复字符)来产生字符和错字率(cer/wer)二者。然而,当如“devlm”结果中一样采用语言模型时,在组合的ctc和lm分数上使用波束搜索。

2.单独改变的一些结果

表3的前半部分示出了单独运用的改变中的每个的影响。所有提出的技术都有助于更好地适应、通过训练集上的cer的测量的训练数据。注意到以下的观察结果。

·将ctc损失替换为gramctc损失实现了较低的wer,而cer在训练集上都是相类似的。这表示,损失促进模型去学习单词的拼写,但是当它们未知时,会完全误预测单词。当运用语言模型时,这种效果使得改进减小。

·正如所料,在相同大小的模型上运用远场增强(farfieldaugmentation)导致更差的训练误差。它示出了开发集上的边缘改进,尽管开发集具有远场音频的着重表示。

·开发集上单个最大的改进是lc-bgru的增加,lc-bgru使对双向模型的差距缩小50%。

·利用对齐信息的联合训练(和预训练)使训练集上的cer改进了25%,突出了从头开始训练ctc模型中的优化问题。然而,这些模型从语言模型解码中得到的改进较少,表明它们的softmax输出可能过于自信,因此较不容易被语言模型修正。在使用ce训练以及双向目标模型(提供用于ce训练的目标的模型)的所有模型中,观测到了这种现象。

3.增量改变的一些结果

虽然解决方案的目的是解决模型中的不同问题,但是不应该期望每个单独的改进在组合使用时都是有益的。作为示例,会在优化部分中看到,通过使用对准信息,具有双向层的模型获得的很少—显然,双向层其本身解决了优化ctc模型中的一部分困难。因此,解决缺乏双向层的问题还将解决优化的难题,并且它们可能不会堆积起来。

可在表3的后半部分看到,改进确实不会堆积起来。讨论以下3个有趣的模型。

1.联合训练与3个愈加困难的损失(ce、ctc和gramctc,mix-1)的模型混合在训练集上实现了最好的结果,远胜于其它的模型混合,并且甚至几乎与训练集上具有双向层的模型的性能相匹配。在所有混合模型当中,这个模型在开发集上具有最小的增益,并使其处于过拟合状态。已知存在可比这个模型泛化得更好且在训练集上实现相同误差率的模型:双向基线。另外,这个模型从语言模型接收弱的改进,这与g.2小节中使用gramctc和ce训练观测到的相一致。

2.pcen、lc-bgru和ir增强的模型混合(mix-2)在训练集上执行得更差–如之前所看到的,使用ir脉冲的额外数据增强使得训练数据更难以拟合,但是pcen和lc-bgru不足以解决这一难题。然而,该模型确实达到更好的泛化并在开发集上执行地更顺利,并且在使用语言模型时实际上超越了双向目标。

3.mix-3增加了ce联合训练,ce联合训练有助于解决优化问题,并导致训练集和开发集上的误差率降低。然而,当使用语言模型时,devwer中的改进消失了,再次强调了当使用ce训练时的语言模型集成问题。

表3.两个单个改进和增量改进对模型产生的结果。除了当使用语言模式(devlm)的时候,报告的数字是使用如g.1小节中描述的贪婪的最大解码(greedymaxdecoding)计算的。使用可部署的模型的最好结果用粗体表示。

表4.更深入地观察开发集,在开发集的不同部分上使用每个模型的语言模型解码测量wer。服务延迟(毫秒)是如d小节中描述的最后的数据包上的延迟的98%。在数据和基础结构相同的情况下,每一历元的训练时间以小时计。*这个模型的参数数量是基线的两倍,并且存在大量的服务延迟。

最后在表4中,将mix-3与基线模型进行比较,并且对于不同类别的语音数据,mix-3的等同物在每个层中具有两倍的参数。显然,mix-3对“远场”和“名称”语音数据有明显好处,对于asr而言,“远场”和“名称”是两个格外难的类别。asr任务在“名称”类别中遇到泛化问题,因为它们通常需要声学训练数据中不存在的单词。类似地,远场音频很难获得,并且模型被迫从训练数据中归纳出来,在这种情况下通过利用增强。同时,mix-3的服务延迟仅稍微高于基线模型,仍然适用于部署。

h.一些结果

在这个工作中,在端对端语音系统中识别出多个偏差源,端对端语音系统倾向于鼓励非常大的神经网络结构,从而使部署变得不切实际。提出了多种方法来解决这些问题,使得能够建立在目标发展集上执行得显著更好同时仍然有利于流推理的模型。

在实施方式中,虽然交叉熵对齐训练和gramctc损失的相加,使得模型相对于贪婪的最大解码的wer更好地适应训练和验证数据,但是认为它们从语言模型集成得到的益处少得多。在实施方式中,使用lc-brgu层代替超前卷积可全面传达益处,就像在前端使用pcen层一样。最后,通过远场增强的相加,改进了对看不见的数据的泛化。

i.系统实施方式

在实施方式中,本专利文献的方面可涉及、可包括一个或多个信息处理系统/计算系统或者使用一个或多个信息处理系统/计算系统实施。计算系统可以包括可操作来计算、运算、确定、分类、处理、传输、接收、检索、发起、路由、交换、存储、显示、通信、显现、检测、记录、再现、处理或利用任何形式信息、智能或数据的任何手段或手段的组合。例如,计算系统可为或可包括个人计算机(例如,膝上型计算机)、平板电脑、平板手机、个人数字助理(pda)、智能手机、智能手表、智能包装、服务器(例如,刀片式服务器或机架式服务器)、网络存储设备、相机或任何其他合适设备,并且可在大小、形状、性能、功能和价格方面改变。计算系统可以包括随机存取存储器(ram)、一个或多个处理资源(例如中央处理单元(cpu)或硬件或软件控制逻辑)、rom和/或其他类型的存储器。计算系统的另外组件可以包括一个或多个盘驱动器、用于与外部设备通信的一个或多个网络端口、以及各种输入和输出(i/o)设备(例如键盘、鼠标、触摸屏和/或视频显示器)。计算系统还可包括可操作为在各种硬件组件之间传输通信的一个或多个总线。

图14描绘根据本公开的实施方式的计算设备/信息处理系统(或是计算系统)的简化框图。应理解,计算系统可不同地配置并且包括不同组件,包括具有少于或多于如图10中描述的部件,但应理解,针对系统1400所示出的功能可操作为支持计算系统的各种实施方式。

如图14所示,计算系统1400包括一个或多个中央处理单元(cpu)1401,cpu1401提供计算资源并控制计算机。cpu1401可实施有微处理器等,并且还可包括一个或多个图形处理单元(gpu)1419和/或用于数学计算的浮点协处理器。系统1400还可包括系统存储器1402,系统存储器1402可呈随机存取存储器(ram)、只读存储器(rom)、或两者的形式。

如图14所示,还可提供多个控制器和外围设备。输入控制器1403表示至各种输入设备1404的接口,例如键盘、鼠标、触摸屏和/或触笔。计算系统1400还可包括存储控制器1407,该存储控制器1407用于与一个或多个存储设备1408对接,存储设备中的每个包括存储介质(诸如磁带或盘)或光学介质(其可用于记录用于操作系统、实用工具和应用程序的指令的程序,它们可包括实施本发明的各方面的程序的实施方式)。存储设备1408还可用于存储经处理的数据或是将要根据本发明处理的数据。计算系统1400还可包括显示控制器1409,该显示控制器1409用于为显示设备1411提供接口,显示设备1411可为阴极射线管(crt)、薄膜晶体管(tft)显示器、有机发光二极管、电致发光面板、等离子面板或其他类型的显示器。计算系统1400还可包括用于一个或多个外围设备1406的一个或多个外围控制器或接口1405。外围设备的示例可包括一个或多个打印机、扫描仪、输入设备、传感器等。通信控制器1414可与一个或多个通信设备1415对接,这使系统1400能够通过各种网络(包括互联网、云资源(例如以太云、经以太网的光纤通道(fcoe)/数据中心桥接(dcb)云等)、局域网(lan)、广域网(wan)、存储区域网络(san))中的任一网络,或通过任何合适电磁载波信号(包括红外信号)来连接至远程设备。

在示出的系统中,所有主要系统组件可连接至总线1416,总线1416可以表示多于一个的物理总线。然而,各种系统组件可在物理上彼此接近或可不在物理上彼此接近。例如,输入数据和/或输出数据可远程地从一个物理位置传输到另一物理位置。另外,实现本发明的各方面的程序可经由网络从远程位置(例如,服务器)访问。此类数据和/或程序可通过各种机器可读介质中的任一机器可读介质来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及硬件设备,该硬件设备专门被配置成存储或存储并执行程序代码,该硬件设备例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。

本发明的方面可以利用用于一个或多个处理器或处理单元以使步骤执行的指令在一个或多个非暂态计算机可读介质上编码。应注意,一个或多个非暂态计算机可读介质应当包括易失性存储器和非易失性存储器。应注意,替代实现方式是可能的,其包括硬件实现方式或软件/硬件实现方式。硬件实施的功能可使用asic、可编程的阵列、数字信号处理电路等来实现。因此,任何权利要求中的术语“手段”旨在涵盖软件实现方式和硬件实现方式两者。类似地,如本文使用的术语“计算机可读媒介或介质”包括具有实施在其上的指令程序的软件和/或硬件或它们的组合。利用所构想的这些替代实现方式,应当理解,附图以及随附描述提供本领域的技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所要求的功能信息。

应当注意,本发明的实施方式还可涉及具有其上具有用于执行各种计算机实施的操作的计算机代码的非暂态有形计算机可读介质的计算机产品。介质和计算机代码可为出于本发明的目的而专门设计和构造的介质和计算机代码,或者它们可为相关领域中的技术人员已知或可用的。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息设备的光学介质;磁光介质;以及专门配置成存储或存储并执行程序代码的硬件设备,例如,专用集成电路(asic)、可编程逻辑器件(pld)、闪存设备、以及rom和ram设备。计算机代码的示例包括机器代码(例如,编译器产生的代码)以及包含可由计算机使用解释器来执行的更高级代码的文件。本发明的实施方式可整体地或部分地实施为可在由处理设备执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布的计算环境中,程序模块可物理上定位在本地、远程或两者的设定中。

本领域的技术人员将认识到,计算系统或编程语言对本发明的实践来说均不重要。本领域的技术人员将还将认识到,多个上述元件可物理地和/或在功能上划分成子模块或组合在一起。

本领域的技术人员将理解,前文的示例和实施方式是示例性的,并且出于清楚和理解的目的,而不限制本公开的范围。旨在说明的是,在本领域的技术人员阅读本说明书并研究附图后将对本领域的技术人员显而易见的本发明的所有置换、增强、等同、组合或改进包括在本公开的真实精神和范围内。还应注意,任何权利要求书的元素可不同地布置,包括具有多个从属、配置和组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1