乐器;声学设备的制造及制作,分析技术用于处理序列数据的模型的训练背景技术:1.本公开总体上涉及机器学习,并且更具体地涉及训练用于处理序列数据的模型的技术。2.使用ctc(connectionist temporal classification,联结主义时间分类)损失函数的端到端自动语音识别(asr)系统由于其易于训练和解码效率而备受关注。端到端asr系统使用ctc模型来预测具有或不具有后续语言模型的子词或单词的序列。基于ctc的asr可以比相关的nn(神经网络)/hmm(隐马尔可夫模型)混合系统更快地操作。由此,预期功率消耗和计算资源成本显著减少。3.单向lstm模型与ctc损失函数的组合是建立流式asr的有希望的方式之一。然而,通常,这样的组合在解码期间遭受声学特征和输出符号之间的时间延迟,这增加了流式asr的延迟。从声学特征和输出符号之间的帧级强制对准(alignment)训练的相关nn/hmm混合系统不遭受时间延迟。与混合模型相比,ctc模型通常用具有不同长度的声学特征和输出符号的训练样本来训练。这意味着没有时间对准监督。在没有帧级对准的情况下训练的ctc模型在模型消耗输出符号的足够信息之后产生输出符号,这导致声学特征与输出符号之间的时间延迟。4.为了减少声学特征与输出符号之间的时间延迟,提出了对ctc对准施加约束的方法(安德鲁·高级(andrew senior)等人,“具有cd-ctc-smbr lstm rnn的声学建模(acoustic modeling with cd-ctc-smbr lstm rnn)”,proc.asru,2015,第604–609页)。已经研究,可以通过将在正向-反向算法中使用的一组搜索路径限制为ctc标签与“基础事实”对准之间的延迟不超过某个阈值的那些路径来限制延迟。然而,本文献中公开的方法需要迭代步骤以在ctc模型训练之前准备框架级强制对准。5.美国专利申请20170148431a1公开了用于识别截然不同的语言(例如英语或中文)的语音的端到端深度学习系统和方法。手工设计的组件的整个流水线被神经网络替换,并且端到端学习允许处理各种各样的语音,包括噪声环境、口音和不同的语言。然而,本专利文献中公开的技术试图修改神经网络拓扑。6.美国专利申请20180130474a1公开了方法、系统和装置,包括编码在计算机存储介质上的用于从声学序列学习发音的计算机程序。该方法包括:堆叠声学数据的一个或多个帧以产生声学数据的经修改的帧的序列;通过包括一个或多个递归神经网络(rnn)层和最终ctc输出层的声学建模神经网络来处理声学数据的经修改的帧的序列,以产生神经网络输出。该专利文献中公开的技术仅调整对编码器的输入以降低帧速率。7.因此,需要一种新颖的训练技术,其能够以有效的方式减小模型的输出与输入之间的时间延迟,该模型利用具有不同长度的输入观察和输出符号的训练样本来训练。技术实现要素:8.根据本发明的实施例,提供了一种用于训练模型的计算机实现的方法。所述方法包括获得训练样本,所述训练样本包括观察的输入序列和长度不同于所述观察的输入序列的符号的目标序列。该方法还包括将观察的输入序列馈送到模型中以获得预测序列。该方法进一步包括将该预测序列相对于该观察的输入序列移位一量。该方法进一步包括使用移位的预测序列和符号的目标序列基于损失来更新模型。9.根据本发明的实施例的方法使得训练的模型能够在适当的定时输出预测以减少预测过程相对于输入的延迟。10.在优选实施例中,预测序列可以相对于观察的输入序列正向移位以产生经移位的预测序列并且该模型是单向的。该方法使得训练的模型能够更早地输出预测以减少预测过程相对于输入的延迟。通过该方法训练的模型适合于流式应用。11.在具体实施例中,该模型可以是基于递归神经网络的模型。在特定实施例中,该损失可为ctc(联结主义时间分类)损失。12.在具体实施例中,移位预测序列包括调整使得移位的预测序列和观察的输入序列的长度是相同的。13.在优选实施例中,移位预测序列并且使用移位的预测序列来更新模型可以以预定速率执行。由此,该方法使得训练的模型能够平衡预测过程的准确性和延迟。14.在具体实施例中,该模型可以是具有多个参数的基于神经网络的模型。馈送输入序列包括通过基于神经网络的模型进行正向传播。更新所述模型包括通过所述基于神经网络的模型执行反向传播以更新所述多个参数。15.在进一步优选实施例中,该模型可以是端到端语音识别模型。训练样本的输入序列中的每个观察可以表示声学特征,并且训练样本的目标序列中的每个符号可以表示音素(phone)、上下文相关音素、字符、单词片段或单词。因此,该方法可以使语音识别模型能够在适当的定时输出识别结果,以减少语音识别过程的整体延迟,或者为后续过程提供更多的时间,以提高识别准确度。16.在此还描述并要求保护与本发明的一个或多个方面有关的计算机系统和计算机程序产品。17.根据本发明的其他实施例,提供了一种用于使用模型进行解码的计算机程序产品。该计算机程序产品包括计算机可读存储媒质,该计算机可读存储媒质具有与其体现的程序指令。所述程序指令可由计算机执行以致使所述计算机执行方法,所述方法包括将输入馈送到所述模型中以获得输出。所述模型通过以下来训练:获得训练样本,所述训练样本包括观察的输入序列和具有不同于所述观察的输入序列的长度的符号的目标序列。其可通过将观察的输入序列馈送到模型中以获得预测序列、相对于观察的输入序列将预测序列移位一量且使用移位的预测序列和符号的目标序列基于损失来更新模型来进一步训练。18.根据本发明的实施例的计算机程序产品能够在适当的定时输出预测以减少预测过程相对于输入的延迟。19.通过本发明的技术实现了另外的特征和优点。本发明的其他实施例和方面在本文中详细描述,并且被认为是要求保护的发明的一部分。附图说明20.在权利要求中特别指出并明确要求保护被视为本发明的主题。通过以下结合附图的详细描述,本发明的上述和其他特征和优点将变得显而易见,其中:21.图1示出了根据本发明示例性实施例的语音识别系统的框图,所述语音识别系统包括用于训练用于语音识别的ctc模型的正向移位的ctc(联结主义连接性时间分类)训练系统;22.图2示出了根据本发明实施例的作为要训练的ctc模型的示例的单向lstm ctc模型的示意图;23.图3示出了针对示例句子“this is true”的语音信号以及从通过标准训练过程训练的双向和单向lstm音素ctc模型针对示例语音信号计算的结果音素概率;24.图4描绘了根据本发明的示例性实施例的具有一个帧移位的正向移位的ctc训练的方式;25.图5是描绘根据本发明示例性实施例的用于训练用于语音识别的ctc模型的新颖的正向移位的ctc训练过程的流程图;26.图6示出了通过正向移位的ctc训练训练的音素ctc模型的后验概率,其中将要移位的帧的最大数量设置为1并且要移位的样本的速率从0.1变化至0.3;27.图7示出了通过正向移位的ctc训练训练的音素ctc模型的后验概率,其中要移位样本的速率被设置为0.1并且要移位帧的最大数量从1变化至3;28.图8示出了通过正向移位的ctc训练训练的单词ctc模型的后验概率,其中将要移位帧的最大数量设定为1,并且将要移位样本的速率设定为0.1;29.图9示出了相对于混合模型的通过音素和单词ctc模型的时间延迟;以及30.图10示出了根据本发明的一个或多个实施例的计算机系统的示意图。具体实施方式31.在下文中,将参考具体实施例描述本发明,但本领域技术人员将理解,以下描述的实施例仅通过示例的方式提及并且不旨在限制本发明的范围。32.根据本发明的一个或多个实施例涉及用于训练用于处理序列数据的模型的计算机实现的方法、计算机系统和计算机程序产品,其中,从正被训练的模型获得的预测序列相对于观察的输入序列移位一量,并且经移位的预测序列用于基于所计算的损失来更新该模型。33.在下文中,首先参考图1-图4,将描述根据本发明的示例性实施例的用于训练模型的计算机系统,其中,要训练的模型是用于语音识别的ctc(联结主义连接性时间分类)模型并且要处理的序列数据是声学特征的序列。然后,参考图5,将描述根据本发明的示例性实施例的用于训练模型的计算机实现的方法,其中,要通过该方法训练的模型是用于语音识别的ctc模型,并且要处理的序列数据是声学特征的序列。然后,将参考图6-图9描述根据本发明的示例性实施例的用于语音识别的新颖的ctc训练的实验研究。最后,参考图10,将描述根据本发明的一个或多个实施例的计算机系统的硬件配置。34.在下文中,参考图1,描述了根据本发明的示例性实施例的包括正向移位的ctc训练系统110的语音识别系统100的框图。35.如图1所示,语音识别系统100可以包括用于从输入提取声学特征的特征提取模块104;以及用于对输入执行语音识别的语音识别模块106。36.根据本发明的示例性实施例的语音识别系统100进一步包括:正向移位的ctc训练系统110,用于执行新颖的ctc训练以便获得构成语音识别模块106的训练的ctc模型170;以及训练数据存储器120,用于存储在由正向移位的ctc训练系统110执行的新颖的ctc训练中使用的训练数据的集合。37.特征提取模块104可以接收通过以预定采样频率和预定位深度对音频信号进行采样而被数字化的音频信号数据102作为输入。例如,可以从麦克风输入音频信号。特征提取模块104还可以通过例如互联网的网络从远程客户端设备接收音频信号数据102。特征提取模块104被配置为通过任何已知声学特征分析从所接收的音频信号数据102提取声学特征以产生所提取的声学特征的序列。38.声学特征可以包括但不限于mfcc(梅尔频率倒谱系数)、lpc(线性预测编码)系数、plp(感知线性预测)倒谱系数、对数梅尔频谱、或其任何组合。声学特征可以进一步包括‘动态’声学特征,例如,前述声学特征的静态增量特征和双增量特征。39.注意,声学特征序列的元素被称为“帧”,而音频信号数据102包括在预定频率处的音频信号的一系列采样值。通常,音频信号数据102针对窄带音频以8,000hz进行采样,并且针对宽带音频以16,000hz进行采样。声学特征序列中的每一帧的持续时间可为(但不限于)约10到40毫秒。40.语音识别模块106被配置为用于将所提取的声学特征的输入序列转换成单词的输出序列。语音识别模块106使用ctc模型170来预测所提取的声学特征的输入序列的最合理的语音内容并且输出结果108。41.根据本发明的示例性实施例的语音识别模块106使用ctc模型170并且可以是端到端模型。在特定实施例中,语音识别模块106可包括子词(例如,音素、字符)单元端到端模型。在其他实施例中,语音识别模块106可包括单词单元端到端模型。端到端模型的单元的示例可以包括音素、字符、上下文相关音素(例如三音素和五音素)、单词片段、单词等。语音识别模块106至少包括ctc模型170。ctc模型170是由正向移位的ctc训练系统110进行的新颖的ctc训练的目标。ctc模型170被定义为通过使用ctc损失函数训练的模型,并且其架构不受限制。42.当语音识别模块106被配置为子词(例如,音素)单元端到端模型时,除了输出子词序列的ctc模型170之外,语音识别模块106还包括适当的语言模型,例如n元模型和基于神经网络的模型(例如,rnn(递归神经网络))和词典。当语音识别模块106配置为单词单元端到端模型时,语音识别模块106可仅包括直接输出单词序列的ctc模型170,并且不需要语言模型和词典。43.而且,语音识别模块106可以仅利用神经网络完成语音识别并且不需要复杂的语音识别解码器。然而,在其他实施例中,语言模型可以进一步应用于单词单元端到端模型的结果,以便提高语音识别的准确性。而且,在所描述的实施例中,语音识别模块106接收声学特征的输入序列。然而,在另一实施例中,音频信号数据102的原始波形也可由语音识别模块106接收。由此,原始音频信号数据102可被视为一种声学特征。44.语音识别模块106基于声学特征的输入序列找到具有最大概率的单词序列,并且输出该单词序列作为结果108。45.图1中所示的正向移位的ctc训练系统110被配置为用于执行新颖的ctc训练以获得至少部分地构成语音识别模块106的ctc模型170。46.在所描述的实施例中,训练数据存储器120存储训练数据的集合,每个训练数据包括语音数据和对应的转录。47.注意,存储在训练数据存储器120中的语音数据可以在特征提取之后以声学特征序列的形式给出,该特征提取可以与在前端过程中由特征提取模块104执行的用于推断的语音数据相同。如果以与用于推断的音频信号数据102相同的音频信号数据的形式给出语音数据,则可以在训练之前对语音数据进行特征提取以获得声学特征序列。此外,可以以取决于ctc模型170所靶向的单元的方式以音素的序列、上下文相关音素、字符、单词片段或单词的形式给出转录。48.在所描述的实施例中,每个训练样本被给出为一对观察的输入序列以及符号的目标序列,其中,观察是声学特征并且符号是子词(例如,音素)或单词。训练数据可以存储在可操作地耦合到处理电路的内部或外部存储器中。49.正向移位的ctc训练系统110执行新颖的ctc训练过程以获得ctc模型170。在新颖的ctc训练过程期间,正向移位的ctc训练系统110对从ctc模型获得的预测序列进行预定处理,该ctc模型是在ctc计算和ctc模型的参数更新之前进行训练的。50.在描述新颖的ctc训练之前,首先,描述了ctc模型的示例性架构。51.参考图2,示出lstm ctc模型的示意图作为ctc模型的示例。为了训练ctc模型,馈送没有对准的子词(例如,音素)/单词序列和音频信号数据对。lstm ctc模型200可包括:输入部件202,用于接收经由特征提取从给定音频信号数据获得的声学特征的输入序列;lstm编码器204;softmax函数206;以及ctc损失函数208。作为ctc模型的输入,还设想帧堆叠,其中连续帧作为超级帧堆叠在一起。52.lstm编码器204将声学特征的输入序列转换为高级特征。图2中所示的lstm编码器204是单向的。要注意的是,与网络同时从过去和未来状态获得信息的双向模型相比,术语“单向”表示网络仅仅从过去状态获得信息并且未获得未来状态。使用单向模型对于流式(且可能实时)asr是优选的,因为单向模型在解码之前不需要整个帧序列。当声学特征到达时,单向模型可按顺序输出预测。53.softmax函数206基于从lstm编码器204获得的输出高级特征通过归一化计算概率分布。ctc损失函数208是为序列标记任务设计的特定类型的损失函数。54.注意,相关的nn/hmm混合系统训练需要帧级对准并且需要音素的目标序列的长度等于声学特征的输入序列的长度。这种帧级对准通常可以通过强制对准技术来实现。然而,这种帧级对准使得训练过程复杂且耗时。55.与相关的nn/hmm系统相比,训练ctc模型所需的子词或单词的目标序列可以具有与声学特征的输入序列不同的长度。通常,声学特征的输入序列的长度比子词或单词的目标序列长得多。即,不需要帧级对准,并且不存在用于训练ctc模型的时间对准监督。56.由于上述性质,在没有帧级对准的情况下训练的具有单向lstm编码器的ctc模型在ctc模型消耗输出符号的足够信息之后产生输出符号,这导致声学特征和输出符号(子词或单词)之间的时间延迟。该时间延迟不是可以通过投资大量资源来减少的类型。57.图3示出了在顶部的示例句“this is true”的语音信号的波形。图3还示出了在中间和底部从通过标准ctc训练过程训练的双向和单向lstm音素ctc模型针对示例语音信号计算的结果音素概率。58.ctc模型在目标输出符号(子词或单词)上发射尖的和稀疏的后验分布,其中,大多数帧发射具有高概率的空白符号并且几个帧发射感兴趣的目标输出符号。要注意的是,在每个时间索引除了至少空白以外,具有最高后验概率的符号在本文中称为‘尖峰’(spike)。在图3中,为了方便的目的,省略空白符号的概率。训练的ctc模型发射的尖峰定时通常不被控制。59.如图3的底部所示,来自单向lstm模型的尖峰定时从图3顶部所示的实际声学特征和语音信号延迟。输出对应于检测音素‘dh’、‘ih’、‘s’、‘ih’、‘z’、‘t’、‘r’和‘uw’的尖峰,相对于输入声学特征具有时间延迟。60.注意,双向lstm模型输出与声学特征对准的后验概率,如图3的中间所示。这意味着双向lstm模型以比单向模型更及时的方式给出尖峰信号。这是因为双向lstm模型在解码之前摘要声学特征的整个输入序列,并且利用来自过去和未来状态两者的信息。由此,使用单向模型对于流式asr是优选的。61.为了减少尖峰定时与声学特征之间的时间延迟,根据本发明的示例性实施例的正向移位的ctc训练系统110对从ctc模型获得的预测序列(后验概率分布)执行正向移位,该ctc模型是通过反向传播在ctc计算和参数更新之前进行训练的。62.返回参考图1和图4,进一步描述了正向移位的ctc训练系统110的详细框图。图4描述了根据本发明的示例性实施例的具有一个帧移位的正向移位的ctc训练的方式。63.如图1所示,正向移位的ctc训练系统110可以包括:输入馈送模块112,用于将声学特征的输入序列馈送到正被训练的ctc模型中以获得预测序列,其中正向移位模块114用于将所获得的预测序列正向移位;以及更新模块116,用于以基于经移位的预测序列的方式来更新正被训练的ctc模型的参数。64.输入馈送模块112被配置为用于首先获得训练样本,该训练样本包括作为正确标签的声学特征的输入序列和子词或单词的目标序列。输入馈送模块112还被配置为将包括在每个训练样品中的声学特征的输入序列馈送到正被训练的ctc模型中以获得预测序列。65.令x表示在t个时间步长上的声学特征向量的序列,并且xt是在序列x中的时间索引t(t=1,...,t)处的声学特征向量。如图4顶部所示,通过从声学特征向量序列x={x1,...,xt}通过ctc模型进行常规正向传播,获得预测序列o={o1,...,ot},其中ot(t=1,...,t)表示每个时间索引t的预测,并且每个预测ot是目标输出符号(子词或单词)上的后验概率分布。66.正向移位模块114被配置为用于使所获得的预测序列o相对于声学特征向量x的输入序列移位预定量以获得移位的预测序列o’。在优选实施例中,所获得的预测序列o相对于声学特征x的输入序列正向移位。67.正向移位模块114被进一步配置为用于进行调整,从而使得经移位的预测序列o’的长度与声学特征向量x的输入序列相同。在特定的实施例中,可通过用例如对应于要移位的预定量的预测的最后元素ot的一个或多个副本填充预测序列o’的结尾来进行调整。因此,预测序列o’的长度保持为t。使用预测的最后元素ot的副本是一个示例。在所描述的实施例中,可以采用填充作为调整的方式。然而,调整的方式不限于填充。在另一特定实施例中,可通过根据预定移位量从一端修剪声学特征向量x的序列来进行调整。68.当预定移位量(要移位的帧数)是一帧时,移位的预测序列o’保持除了开头之外的剩余预测,并且移位的预测序列o’是集合{o2,...,ot,ot},如图4的中间所示。注意,预测的最后元素ot在预测移位序列o’中被加倍。还应注意,仅预测(后验概率分布)被移位,且包含输入声学特征向量的其他预测不被移位。69.在优选实施例中,预测序列o的移位不是针对每个训练样本执行的,而是仅针对训练样本的一部分执行的,这可以由预定速率确定。训练样本要移位的预定速率的范围可以从大约5%到40%,更优选地,大约8%到35%。此外,要移位的训练样本的单位量可以是一个训练样本或一组训练样本(例如,小批量)。70.此外,在特定实施例中,要移位的量(或要移位的帧数)可以被固定为适当的值。固定的值可以取决于减小延迟时间的目标和每个帧的持续时间。将获得与每个帧的持续时间和要移位的帧数量相称的延迟减小。71.在另一实施例中,可以在预先确定的范围内概率地确定有要移位的量。术语“概率地”意味着依赖于例如均匀分布的预定分布。预定范围或者预定范围的上限可以取决于减小延迟时间的目标和每个帧的持续时间的方式来确定。如稍后通过实验示出的,将获得与每个帧的持续时间和要移位的帧的平均数量相称的延迟的减少。72.更新模块116被配置为用于使用移位的预测序列o’和包括在训练样本中的符号(子词或单词)的目标序列基于损失函数来更新模型。如图4的底部所示,通过基于移位的预测序列o’计算ctc损失并且通过ctc模型进行反向传播,ctc模型的参数被更新。而且,每次处理一个训练样本(在线)或者一组训练样本(例如,小批量)时,可进行参数更新。73.ctc计算包括ctc对准估计的过程。设y表示具有长度l的目标输出符号的序列并且yi(i=1,…,l)是目标序列y中的第i个子词或单词。与要求l等于t的相关的基于对准的nn/hmm混合系统训练相比,ctc引入额外的空白符号该空白符号将长度-l序列y扩展为一组长度-t序列φ(y),从而允许无对准训练。在该一组长度-t序列中的每个序列y^(y^是φ(y)的元素并且是一组{y1^,y2^,y3^,...,yt-1^,yt^})是声学特征向量x的序列与目标输出符号的序列y之间的ctc对准中的一个。74.例如,假设给定的输出音素序列是‘abc’,并且输入序列的长度是4。在这种情况下,可能的音素序列将是{aabc,abbc,abcc,abc_,ab_c,a_bc,_abc},其中“_”表示空白符号75.ctc损失被定义为所有可能的ctc对准的符号后验概率的总和,如下:[0076][0077]ctc训练使可能输出序列的总和最大化或使该总和的负数最小化,同时允许任何帧概率的空白输出。更新模块116更新ctc模型的参数以便最小化ctc损失lctc。注意,使损失(ctc损失)最小化包括使损失的负值最大化,这可被称为奖励、效用或适合度。更新模块116可基于移位的预测序列o’计算ctc损失lctc,并且基于ctc损失lctc通过整个网络进行反向传播,以在每次处理训练样本(在线)或一组训练样本(例如,小批量)时更新ctc模型的参数。[0078]用于正向移位的ctc训练的背景想法如下:如果在正向移位之前,ctc对准(y1^,y2^,y3^,...,yt-1^,yt^)在上述等式(1)中具有高概率p(y^|x),那么预测序列的正向移位转换成用于正向移位的ctc对准(y2^,y3^,...,yt-1^,yt^,yt^)的高概率。由于正向移位的ctc对准的概率高,所以训练ctc模型的整个网络以通过反向传播促进正向移位的ctc对准,这导致整个训练之后的时间延迟减小。[0079]在所描述的实施例中,ctc模型被描述为单向lstm模型。然而,作为新颖的正向移位的ctc训练的目标的ctc的架构不受限制,并且可以是任何rnn类型模型,其包括基本rnn、lstm(长短期存储器)、gru(网关递归单元)、elman网络、jordan网络、hopfield网络等。而且,rnn类型模型可以包括更复杂的架构,例如与其他架构(例如cnn(卷积神经网络)、vgg、resnet和转换器)组合使用的前述rnn类型模型中的任何一个。[0080]注意,新颖的正向移位的ctc训练仅用于训练。可以使用与通过常规ctc训练训练的模型相同的训练的ctc模型。ctc模型的拓扑(例如,神经元的连接方式)和配置(例如,隐藏层和单元的数量)以及用ctc模型解码的方式不变。[0081]在具体实施例中,在图1中描述的模块104、106和正向移位的ctc训练系统110中的每个模块以及正向移位的ctc训练系统110的模块112、114和116中的每个模块可以但不限于实施为软件模块,该软件模块包括结合硬件组件(如处理器、存储器等)的程序指令和/或数据结构;作为包括电子电路的硬件模块;或其组合。[0082]它们可以在单个计算机设备(如个人计算机和服务器机器)上或以分布式方式(如计算机设备的计算机集群、客户端-服务器系统、云计算系统、边缘计算系统等)在多个设备上实现。[0083]可以通过使用任何内部或外部存储设备或介质来提供训练数据存储器120和用于ctc模型170的参数的存储器,实现正向移位的ctc训练系统110的计算机系统的处理电路可操作地联接至所述内部或外部存储设备或介质。[0084]同样在特定实施例中,特征提取模块104、语音识别模块106(包括由正向移位的ctc训练系统110训练的ctc模型170)在用户侧的计算机系统上实现,而正向移位的ctc训练系统110在语音识别系统的提供商侧的计算机系统上实现。[0085]在进一步的变体实施例中,仅在用户侧上实现特征提取模块104并且在提供商侧上实现语音识别模块106。在该实施例中,客户端侧的计算机系统仅将声学特征的序列传输至提供器侧的计算机系统并且从提供器侧接收解码结果108。在另一个变体实施例中,特征提取模块104和语音识别模块106两者均在提供者侧上实现,并且客户端侧的计算机系统仅将音频信号数据102传输至提供者侧的计算机系统并且从提供者侧接收解码结果108。[0086]在下文中,参考图5,描述了根据本发明示例性实施例的用于训练用于语音识别的ctc模型的新颖的正向移位的ctc训练过程。图5是描绘新颖的正向移位的ctc训练过程的流程图。注意,图5中所示的过程可由处理电路执行,所述处理电路例如实现图1中所示的正向移位的ctc训练系统110及其模块112、114和116的计算机系统的处理单元。[0087]例如,图5中所示的过程可以响应于接收来自操作者的针对新颖的正向移位的ctc训练的请求而在步骤s100处开始。[0088]在步骤s101,处理单元可以设置训练参数,这些训练参数包括新颖的正向移位的ctc训练中的要移位帧的最大数量(要移位量)和要移位样本的速率。[0089]在步骤s102,处理单元可以从训练数据存储器120准备训练样本的集合。每个训练样本可包括具有长度t的声学特征向量x的输入序列和具有长度l的符号(子词(例如,音素)或单词)y的目标序列。[0090]在步骤s103,处理单元可以初始化ctc模型。适当地设置ctc模型的参数的初始值。[0091]在步骤s104,处理单元可以拾取所准备的集合中的一个或多个训练样本。可以拾取小批量的训练样本。[0092]在步骤s105,针对每个拾取的训练样本,处理单元可以通过馈送声学特征向量x的输入序列来通过ctc模型进行正向传播,以获得具有长度t的预测序列o。[0093]在步骤s106处,处理单元可以基于在步骤s101处给出的要移位样本的速率来确定是否执行正向移位。可以以预定速率随机选择小批量作为正向移位的目标。[0094]在步骤s107,处理单元可以取决于在步骤s106进行的确定的方式分支该过程。在步骤s107中,当处理单元确定拾取的训练样本是正向移位的目标(是)时,处理可前进至s108。[0095]在步骤s108,处理单元可以基于在步骤s101给出的要移位的最大帧数来确定要移位的帧数。可基于特定分布来概率性地确定要移位的帧的数量。在特定实施例中,对于所选择的小批量,可以从整数均匀分布到上界(要移位的帧的最大数量)确定要移位的帧的数量。[0096]在步骤s109,处理单元可对在步骤s105获得的预测序列o执行正向移位以产生预测的移位序列o’。[0097]另一方面,响应于在步骤s107中确定所拾取的训练样本不是正向移位的目标(否),该过程可以直接进行至s110。[0098]在步骤s110,处理单元可以使用移位的预测序列o’或预测原始序列o计算ctc损失,并且通过ctc模型进行反向传播以更新ctc模型的参数。可以对所选择的小批量执行正向移位。对于剩余的小批量,ctc训练可以如常规进行。[0099]在步骤s111,处理单元可以确定该过程是否结束。当满足预定的收敛条件或终止条件时,处理单元可确定处理将被终止。[0100]响应于在步骤s111中确定该过程未结束(否),该过程可以循环回s104以用于后续训练样本。另一方面,响应于在步骤s111中确定过程结束(是),过程可以前进到s112。在步骤s112,处理单元可以将ctc模型的当前获得的参数存储到适当的存储设备中,并且过程可以在步骤s113结束。[0101]根据上述实施例,提供了一种新颖的训练技术,其能够以有效的方式减少模型的输出与输入之间的时间延迟,所述模型利用具有不同长度的输入观察和输出符号的训练样本来训练。[0102]新颖的ctc训练使得训练的模型能够在适当的定时输出预测以减少预测过程相对于输入的延迟。优选地,训练的模型更早地输出预测,并且可以减少预测过程相对于输入的延迟。训练的模型适合于流式asr应用。如稍后描述的实验结果中所展示的,可以通过调谐新颖的ctc训练的训练参数来平衡时延和语音识别准确度。[0103]虽然流式端到端asr的实际总延迟受其他因素影响,但是减小声学特征与符号之间的时间延迟将导致流式asr的较低延迟或者允许针对后续(后)过程的更多时间来提高准确度。与常规ctc训练相比,新颖的正向移位的ctc训练不需要任何附加信息,例如帧级强制对准。此外,在解码时,可以使用与用常规ctc训练训练的模型相同的用该正向移位的训练训练的ctc模型。[0104]此外,如稍后描述的实验结果中所展示的,对用于语音识别的ctc模型的准确性几乎没有不利影响。[0105]在上述实施例中,由正向移位的ctc训练系统110训练的ctc模型被描述为直接用作构成语音识别模块106的ctc模型170。然而,在其他实施例中,由正向移位的ctc训练系统110训练的ctc模型可以不直接用作ctc模型170。在具体实施例中,由正向移位的ctc训练系统110训练的ctc模型可以用于知识提炼框架中。例如,由正向移位的ctc训练系统110训练的单向lstm可用作指导ctc模型,并且在指导ctc模型的指导下训练的双向lstm模型可用作用于知识提炼的学生单向lstm模型(其用作ctc模型170)的教师模型。例如,在引导ctc模型的指导下训练的双向lstm模型可用作用于学生单向lstm模型的知识提炼的教师模型,其中学生单向lstm模型基于正向移位训练。[0106]还注意到,在另外的其他实施例中,由正向移位的ctc训练系统110训练的ctc模型可以不仅仅用作ctc模型170。在其他特定实施例中,还设想了涉及由正向移位的ctc训练系统110训练的ctc模型的后融合。[0107]要注意的是,根据本发明的示例性实施例的用于语音识别的新颖训练可适用于的语言不受限制,并且此类语言可以包括但不限于例如阿拉伯语、汉语、英语、法语、德语、日语、韩语、葡萄牙语、俄语、瑞典语、西班牙语。由于新颖的训练具有无对准的性质,因此可以省略用于强制对准的gmm/hmm系统。此外,当采用词单元端到端模型时,不需要任何词典和任何语言模型。所以,新颖的训练适用于gmm/hmm系统和/或词典难以准备的某些语言。[0108]此外,在前述实施例中,新颖的正向移位的ctc训练已经被描述为应用于语音识别。然而,ctc模型可适用的应用不限于语音识别。ctc模型可用于除了语音识别之外的不同序列识别任务中。而且,延迟时间的问题不仅在语音识别中出现而且在其他序列识别任务中出现。这样的序列识别任务可以包括来自图像或笔划序列的手写文本识别、光学字符识别、手势识别、机器翻译等。因此,预期将新颖的正向移位的ctc训练应用于这种其他序列识别任务。[0109]尽管已经描述并且在下文中将描述相对于根据本发明的一个或多个具体实施例获得的优点,但应理解的是,一些实施例不能具有这些潜在优点,并且这些潜在优点不一定是所有实施例所需要的。[0110]实验研究[0111]对于给定的语音数据集对实现图1中所示的正向移位的ctc训练系统110和图5中所描述的正向移位的ctc训练过程的程序进行编码和执行。用标准英语会话音素语音数据集进行asr实验,以验证新颖的正向移位的ctc训练的工作。应用新颖的正向移位的ctc训练来训练单向lstm音素ctc模型和单向lstm单词ctc模型。从由帧级强制对准训练的足够强的离线混合模型中测量时间延迟。[0112]实验装置[0113]使用来自具有转录本的标准300小时切换板-1音频的262小时的分段语音。对于声学特征,提取每10msec在25msec帧上的40维logmel滤波器组能量。该静态特征及其增量和双增量系数被用于具有2的抽取速率的帧堆叠。对于评估,使用nist hub5 2000评估数据集的切换板(swb)和callhome(ch)子集。考虑到训练数据包括类似swb的数据,在ch测试集上的测试对于模型是不匹配的情形。[0114]对于单向lstm音素ctc模型,使用来自切换板发音辞典的44个音素和空白符号。对于解码,从具有30k的词汇大小的切换板和fisher转录本训练具有24m单词的4元语言模型。构建ctc解码图形。对于神经网络架构,堆叠具有640个单元的6个单向lstm层(单向lstm编码器)和640x 45的全连接线性层,接着是softmax激活函数。将所有神经网络参数初始化成在(-∈,∈)上具有均匀分布的样本,其中∈是输入向量大小的反平方根。[0115]对于单词ctc模型,选择在训练数据中具有至少五次出现的单词。这导致具有10,175个单词和空白符号的输出层。选择相同的6个单向lstm层,并添加具有256个单元的1个全连接线性层以减少计算。放置256x10,176的完全连接的线性层,随后是softmax激活函数。为了更好的收敛,用训练的音素ctc模型初始化单向lstm编码器部分。其他参数以与音素ctc模型类似的方式初始化。对于解码,在输出单词后验分布上进行简单的峰值挑选,并且去除重复和空白符号。[0116]所有模型被训练20个时期并且以从0.01开始并且在时期10之后以(0.5)1/2每时期退火的学习速率使用内斯特罗夫加速随机梯度下降(nesterov-accelerated stochastic gradient descent)。批量大小是128。[0117]对于新颖的正向移位的ctc训练,两个参数包括“移位最大值”(shift max)和“移位速率”(shift rate),其中“移位最大值”指示有要移位的帧的最大数量,“移位速率”是其输出后验概率被移位的小批的速率。随机地以“移位速率”选择训练小批量并且对所选择的小批量进行正向移位。对于移位大小,从超过0的整数均匀分布到上限为每个选择的小批选择移位大小,该上限由训练参数“移位最大值”提供。[0118]后尖峰信号[0119]如上所述,ctc模型发射非常尖的后验分布。研究来自swb测试集的话语“this(dhihs)is(ihz)true(truw)”的后概率。[0120]图6示出了通过新颖的正向移位的ctc训练训练的音素ctc模型的后验概率,其中,有要移位的帧的最大数量(shift max)被设置为1并且有要移位的样本速率(shift rate)从0.1至0.3变化(示例1-3)。与来自常规ctc训练(对比示例1)的在顶部的后尖峰相比,来自正向移位的ctc训练(示例1-3)的后尖峰更早出现,这是新颖的正向移位的ctc训练的预期行为。[0121]图7示出了具有正向移位的ctc训练的音素ctc模型的后验概率,其中要移位样本的速率(移位速率)被设置为0.1并且要移位帧的最大数量(移位最大值)从1变化至3(示例1、4和7)。虽然这里也出现了一些较早的尖峰,但是一些尖峰没有被正向移位,尤其是在要移位的帧的最大数量较大(移位最大)的情况下。[0122]最后,研究具有正向移位的ctc训练的单词ctc模型的后验概率。图8示出了具有正向移位的ctc训练的单词ctc模型的后验概率,其中将要移位的帧的最大数量(shift max)设置为1,并且将要移位的样本的速率(shift rate)设置为0.1(示例10)。如图8所示,确认从用正向移位训练训练的ctc模型获得较早的尖峰定时。注意,对于具有常规和正向移位的ctc训练的所有单词ctc模型,将用常规ctc训练训练的单向lstm音素ctc模型用于初始化。[0123]来自混合模型的延时[0124]接下来,研究在swb和ch测试集的解码之后的每个单词的时间延迟。图9示出了相对于混合模型的通过音素和单词ctc模型的时间延迟的定义。在图9中,每个框表示用于每个模型的输出符号预测的单位。注意,由于通过ctc模型中的输入帧堆叠和抽取实现的较低帧速率,混合模型与ctc模型之间的单位大小不同。对于混合模型,“‑b”、“‑m”和“‑e”表示hmm的三种状态,并且为了简单起见,从该图中省略每个状态的上下文依赖性变体的标识符。[0125]为了设置单词的定时的基础事实,使用通过迭代且仔细的强制对准步骤在2000小时切换板+fisher数据集上训练的足够强的离线混合模型。更具体地,两个双向lstm和一个剩余网络(resnet)声学模型和n元语言模型的组合用于解码,并为每个单词获得时间戳。具有这种混合模型的swb和ch测试集的wer分别是6.7%和12.1%,这比具有以下ctc模型的那些好得多。该混合模型不是用于流式asr,并且用于获得适当的对准以供参考。此外,还注意到,此混合模型用更多的训练数据来训练。[0126]对于来自音素ctc模型的输出,还获得解码之后的时间戳。对于混合和音素ctc解码,使用相同的基于图形的静态解码器,同时适当地处理空白符号。对于单词ctc模型,每个单词出现的第一尖峰被假定为其开始时间。为了测量延迟,来自混合和ctc模型的识别结果首先与基于动态编程的字符串匹配对准,并计算对准的单词开始时的平均延迟,如图9所示。对于单向lstm音素ctc模型,移位最大值从1改变为3,并且研究从0.1至0.3的移位速率(示例1-9)。单向lstm音素ctc模型的示例和比较例的条件和评估结果总结在表1中。[0127]表1[0128][0129][0130]虽然wer和时间延迟存在一些波动,但证明通过使用新颖的正向移位的ctc训练获得延迟的恒定减少。该趋势在匹配的swb和未匹配的ch测试集合中是常见的。例如,如在表1中以粗体书写的,时间延迟减少了25毫秒而没有观察到对wer的负面影响。通过将移位速率设置得较大,在牺牲wer的同时获得时间延迟的进一步减少,这可以为流式应用的开发者提供调谐时间延迟的选项。与先前对尖峰定时的研究相同,通过将移位最大值设置得较大没有观察到附加的时间延迟减小。[0131]对于单向lstm单词ctc模型,使用与在尖峰定时的先前研究中相同的设置(示例10)。针对单向lstm单词ctc模型的示例10和比较示例2的条件和评估结果总结在表2中。[0132]表2[0133][0134]确认用新颖的正向移位的训练将时间延迟减少大约25毫秒,同时观察到swb测试集的边际wer降级。[0135]证明了新颖的正向移位的ctc训练可减小单向lstm音素和单词ctc模型中的声学特征与输出符号之间的时间延迟。还研究了新颖的正向移位的ctc训练使得训练的模型能够更早地产生尖峰。还证实,在大多数情况下,时间延迟可以减少约25msec而不会对wer产生负面影响。值得注意的是,用新颖的正向移位的训练训练的ctc模型简单地较早地产生输出符号,并且可以在不改变用常规ctc训练训练的模型的现有解码器的情况下使用。注意,将延迟减少至小于200毫秒(其被称为人机交互中的可接受限制)是期望的,并且已经进行了不同努力并将其组合以实现这一点。仅通过ctc训练流水线的简单修改获得的25毫秒是优选的,并且可以与其他努力相结合。[0136]计算机硬件组件[0137]现在参见图10,示出了可以用于语音识别系统100的计算机系统10的示例的示意图。图10中所示的计算机系统10被实施为计算机系统。计算机系统10仅是合适的处理设备的一个示例,并且不旨在对本文描述的本发明的实施例的使用或功能的范围提出任何限制。无论如何,计算机系统10能够实现和/或执行上文阐述的任何功能。[0138]计算机系统10可与许多其他通用或专用计算系统环境或配置一起操作。能够适合与计算机系统10一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持式或膝上型设备、车载设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。[0139]计算机系统10可以在由计算机系统执行的计算机系统可执行指令(如程序模块)的一般背景下进行描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。[0140]如图10所示,计算机系统10以通用计算设备的形式示出。计算机系统10的组件可以包括但不限于处理器(或处理单元)12和存储器16,存储器16通过包括存储器总线或存储器控制器的总线、以及使用各种总线架构中的任一种的处理器或局部总线耦合到处理器12。[0141]计算机系统10通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统10访问的任何可用介质,并且其包括易失性和非易失性介质、可移动和不可移动介质。[0142]存储器16可以包括易失性存储器形式的计算机系统可读介质,如随机存取存储器(ram)。计算机系统10还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储媒质。仅通过示例的方式,存储系统18可以被提供用于从不可移除的非易失性磁介质读取和向不可移除的非易失性磁介质写入。如下文将进一步描绘和描述的,存储系统18可包括具有被配置来执行本发明的实施例的功能的一组(例如,至少一个)程序模块的至少一个程序产品。[0143]具有一组(至少一个)程序模块的程序/实用程序可以通过举例而非限制的方式被存储在存储系统18中,以及操作系统、一个或多个应用程序、其他程序模块和程序数据。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现。程序模块通常执行如本文所述的本发明的实施例的功能和/或方法。[0144]计算机系统10还可以与一个或多个外围设备24通信,例如键盘、定点设备、汽车导航系统、音频系统等;显示器26;使得用户能够与计算机系统10交互的一个或多个设备;和/或使得计算机系统10能够与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可经由输入/输出(i/o)接口22发生。此外,计算机系统10可以经由网络适配器20与例如局域网(lan)、通用广域网(wan)和/或公共网络(例如,互联网)的一个或多个网络通信。如图所示,网络适配器20通过总线与计算机系统10的其他组件通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统10结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器和数据归档存储系统等。[0145]计算机程序实现[0146]本发明可以是一种计算机系统、一种方法和/或一种计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的一个或多个计算机可读存储媒质。[0147]计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储媒质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储媒质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、例如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储媒体不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。[0148]在此所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到对应的计算/处理装置或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储媒质中。[0149]用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或以一种或多种程序设计语言的任何组合编写的源代码或目标代码,这些程序设计语言包括面向对象的程序设计语言(例如smalltalk、c++等)和常规的过程式程序设计语言(例如“c”程序设计语言或类似程序设计语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。[0150]下面将参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个框以及流程图和/或框图中各框的组合,都可以由计算机可读程序指令实现。[0151]这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种机器,这样使得经由该计算机或其他可编程数据处理装置的该处理器执行的这些指令产生用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储媒质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储媒质包括包含实现流程图和/或框图中的或多个框中规定的功能/动作的方面的指令的制造品。[0152]计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置、或其他设备上,以使得一系列操作步骤在计算机、其他可编程装置或其他设备上被执行以产生计算机实现的过程,从而使得在计算机、其他可编程装置、或其他设备上执行的指令实现流程图和/或框图的或多个框中所指定的功能/动作。[0153]附图中的流程图和框图展示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。[0154]在此使用的术语仅是出于描述特定实施例的目的,并且不旨在限制本发明。如本文中使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包含”时,其指定所述特征、步骤、层、元件和/或组件的存在,但不排除一个或多个其他特征、步骤、层、元件、组件和/或其组合的存在或添加。[0155]权利要求书中的所有装置或步骤加上功能元件(如果有的话)的相应结构、材料、动作和等效物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本发明的一个或多个方面的描述,但并不旨在是详尽的或限于所公开形式的本发明。[0156]许多修改和变化对于本领域普通技术人员来说将是显而易见的,而不脱离所描述的实施例的范围和精神。本文使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。
图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
用于处理序列数据的模型的训练的制作方法
作者:admin
2022-10-26 09:25:59
824