一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于基于连接机制时间分类的自动语音识别的软遗忘的制作方法

2022-05-08 08:44:10 来源:中国专利 TAG:


1.本发明总体上涉及机器学习领域,并且更具体地涉及自动语音识别。


背景技术:

2.端到端(e2e)自动语音识别(asr)系统已经成为重要研究的主题。此类系统旨在简化常规混合asr系统的复杂训练和推断流水线。混合系统组合高斯混合模型、隐马尔可夫模型(hmm)、不同神经网络,并且涉及在语音特征的序列与hmm上下文相关状态之间的模型构建和对准的多个阶段。相反,e2e系统使用递归神经网络并通过经由连接机制时间分类损失对所有对准求和或通过关注机制学习最佳对准来一次性训练声学模型。
3.递归神经网络(rnn)是一类人工神经网络,其中节点之间的连接沿着序列形成有向图,从而允许网络展现时间序列的时间动态行为。不同于前馈神经网络,rnn可以使用内部状态(存储器)来处理输入序列,从而允许rnn适用于诸如未分段连接的手写识别或语音识别的任务。长短期记忆(lstm)单元是递归神经网络(rnn)的替代层单元。由lstm单元组成的rnn被称为lstm网络。常见的lstm单元由单元、输入门、输出门和遗忘门组成。该单元记忆任意时间间隔上的值,并且各门调节进入和离开该单元的信息流。门控循环单元(gru)是循环神经网络中的门控机制。发现在多音音乐建模和语音信号建模上的gru性能类似于lstm。然而,gru对较小的数据集展现更好的性能。lstm可以是由两个lstm网络组成的双向(blstm),其中每个包含的层在时间上向前和向后展开。对于e2e asr系统,blstm可在语音话语的整个长度上展开,使得blstm能够更好地捕捉长期上下文,这在缺乏对准的情况下尤其有用。
4.连接机制时间分类(connectionist temporal classification,ctc)是一种类型的神经网络输出和相关联的评分函数,通常用于训练诸如lstm网络的rnn以解决输入序列与输出序列之间的时间对准不是先验已知的(例如,在线手写识别或识别语音音频中的音位(phoneme))的序列问题。ctc独立于基础神经网络结构。ctc网络的输出标记包括消耗不与输出序列对齐的输入序列的点的附加“空白”或无用符号。ctc网络具有连续输出(例如,softmax),其通过训练拟合以对标记的概率建模。ctc得分可以与后向传播一起使用以更新神经网络权重。


技术实现要素:

5.本发明实施例公开了一种用于软遗忘训练的计算机实现的方法、计算机程序产品和系统。计算机实现的方法包括一个或多个计算机处理器利用一个或多个训练批来训练第一模型,其中所述一个或多个训练批中的每个训练批包括一个或多个信息块。响应于所述第一模型的训练的完成,一个或多个计算机处理器利用所述一个或多个训练批来发起第二模型的训练。一个或多个计算机处理器对用于所述第二模型的所述一个或多个训练批中的每一个训练批的每个信息块的随机块大小进行抖动。一个或多个计算机处理器在一个或多个非重叠的连续抖动信息块上展开所述第二模型。响应于所述第二模型的展开,一个或多
个计算机处理器通过应用双子正则化来减少所述第二模型的过度拟合。
6.根据一个方面,提供了一种计算机实现的方法,包括:由一个或多个计算机处理器利用一个或多个训练批来训练第一模型,其中所述一个或多个训练批中的每个训练批包括一个或多个信息块;响应于所述第一模型的训练的完成,由一个或多个计算机处理器利用所述一个或多个训练批来发起第二模型的训练;由一个或多个计算机处理器对用于所述第二模型的所述一个或多个训练批中的每一个训练批的每个信息块的随机块大小进行抖动;由一个或多个计算机处理器在一个或多个非重叠的连续抖动信息块上展开所述第二模型;以及响应于所述第二模型的展开,由一个或多个计算机处理器通过应用双正则化来减少所述第二模型的过度拟合。
7.根据另一方面,提供了一种计算机程序产品,包括:一个或多个计算机可读存储介质和存储在所述一个或多个计算机可读存储介质上的程序指令,所存储的程序指令包括:用于利用一个或多个训练批来训练第一模型的程序指令,其中所述一个或多个训练批中的每个训练批包括一个或多个信息块;用于响应于所述第一模型的所述训练的完成,利用所述一个或多个训练批发起第二模型的训练的程序指令;用于对用于所述第二模型的所述一个或多个训练批中的每一个训练批的每个信息块的随机块大小进行抖动的程序指令;用于在一个或多个非重叠的连续抖动信息块上展开所述第二模型的程序指令;以及用于响应于所述第二模型的展开通过应用双子正则化来减少所述第二模型的过度拟合的程序指令。
8.根据另一方面,提供一种计算机系统,包括:一个或多个计算机处理器;一个或多个计算机可读存储介质;以及存储在计算机可读存储介质上以供所述一个或多个处理器中的至少一个执行的程序指令,所存储的程序指令包括:用于利用一个或多个训练批来训练第一模型的程序指令,其中所述一个或多个训练批中的每个训练批包括一个或多个信息块;用于响应于所述第一模型的所述训练的完成,利用所述一个或多个训练批发起第二模型的训练的程序指令;用于对用于所述第二模型的所述一个或多个训练批中的每一个训练批的每个信息块的随机块大小进行抖动的程序指令;用于在一个或多个非重叠的连续抖动信息块上展开所述第二模型的程序指令;以及用于响应于所述第二模型的展开通过应用双子正则化来减少所述第二模型的过度拟合的程序指令。
附图说明
9.现在将仅通过举例并参考以下附图描述本发明的优选实施例:
10.图1是示出根据本发明的实施例的计算环境的功能框图;
11.图2是描绘根据本发明的实施例的在图1的计算环境内的服务器计算机上的软遗忘训练程序的操作步骤的流程图;
12.图3a展示了根据本发明的实施例的示例性图300、流程图200的步骤的示例图;
13.图3b展示了根据本发明的实施例的示例性表320,示例表描绘了基线模型和软遗忘模型的字错误率;
14.图3c展示了根据本发明的实施例的示例性表330,示例表描绘了基线模型和软遗忘模型的字错误率;
15.图3d示出根据本发明的实施例的示例性表340,示例表描绘多个模型的字错误率;
16.图3e示出了根据本发明的实施例的示例性图350,示例图描绘了多个模型的字错
误率;
17.图3f展示了根据本发明的实施例的示例性图360,示例图描绘了针对全话语blstm和软遗忘blstm的ctc损失;以及
18.图4是根据本发明的实施例的服务器计算机的组件的框图。
具体实施方式
19.当机器将声学序列翻译成相应表型(phenomes)时,通常使用基于连接机制时间分类(ctc)的自动语音识别系统(asr)。当使用在整个语音话语上展开的双向长短期记忆(blstm)网络时,基于ctc的自动语音识别系统表现良好。然而,单向长短期记忆(ulstm)网络传统上滞后于blstm网络,因为ulstm仅合并时间上前向(forward-in-time)上下文,而blstm网络附加地合并时间上后向(backward-in-time)上下文。尽管blstm网络对于所述任务通常表现良好,但是严格的blstm网络导致显著的过度拟合问题,并且随后导致增加的错误率和降低的泛化适用性。
20.本发明的实施例允许利用软遗忘训练来显著地增加分类准确性并减少字错误率而不显著地改变底层网络。在本发明的实施例中,blstm仅在输入话语或声学序列的小的非重叠信息块或块上展开,从而减少过度拟合。在本发明的另一实施例中,随机分配每批的块大小而不是固定的全局块值,从而改善泛化性能。在本发明的又一实施例中,利用经训练的全话语blstm和软遗忘blstm之间的均方误差来应用双子正则化,从而保留话语级上下文信息。所述实施例显著改善ctc asr系统的离线/非流化和流化字错误率两者。本发明的实施例的实现方式可以采取多种形式,并且随后参照附图讨论示例性实现方式细节。
21.现在将参考附图详细描述根据优选实施例的本发明。
22.图1是示出根据本发明的一个实施例的总体指定为100的计算环境的功能框图。如在本说明书中使用的术语“计算”描述了一种计算机系统,该计算机系统包括一起作为单个计算机系统操作的多个物理上不同的设备。图1仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。本领域技术人员可对所描述的环境作出许多修改,而不脱离权利要求书所述的本发明的范围。
23.计算环境100包括连接到网络102的服务器计算机120。网络102可以是例如电信网络、局域网(lan)、广域网(wan)(诸如互联网)或三者的组合,并且可以包括有线、无线或光纤连接。网络102可包括一个或多个有线和/或无线网络,其能够接收和传送数据、语音和/或视频信号,包括包含语音、数据和视频信息的多媒体信号。一般而言,网络102可以是将支持服务器计算机120与计算环境100内的计算设备(未示出)之间的通信的连接和协议的任何组合。在不同实施例中,网络102经由有线、无线或光学连接本地操作,并且可以是连接和协议(例如,个人局域网(pan)、近场通信(nfc)、激光、红外、超声等)的任何组合。
24.服务器计算机120可以是独立计算设备、管理服务器、web服务器、移动计算设备或能够接收、发送和处理数据的任何其他电子设备或计算系统。在其他实施例中,服务器计算机120可表示诸如在云计算环境中利用多个计算机作为服务器系统的服务器计算系统。在另一实施例中,服务器计算机120可以是膝上型计算机、平板计算机、上网本计算机、个人计算机(pc)、台式计算机、个人数字助理(pda)、智能电话、或能够经由网络102与计算环境100内的计算设备(未示出)通信的任何可编程电子设备。在另一实施例中,服务器计算机120表
示利用群集计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算系统,这些组件在计算环境100内被访问时充当单个无缝资源池。在所描绘的实施例中,服务器计算机120包括数据库122和程序150。在其他实施例中,服务器计算机120可包含在计算环境100中未描述的其他应用、数据库、程序等。服务器计算机120可包括内部和外部硬件组件,如关于图4更详细描绘和描述的。
25.数据库122是程序150所使用的数据的存储库。在所描绘的实施例中,数据库122驻留在服务器计算机120上。在另一实施例中,数据库122可驻留在计算设备110上或计算环境100内的其他地方,只要程序150可访问数据库122。数据库是有组织的数据集合。数据库122可用能够存储可由程序150访问和利用的数据和配置文件的任何类型的存储设备来实现,诸如数据库服务器、硬盘驱动器或闪存。在实施例中,数据库122存储由程序150使用的数据,诸如训练集、标记分布数据和图表、以及历史模型准确度和性能统计。在所描绘的实施例中,数据库122包含训练语料库124和认知模型126。
26.训练语料库124可以包含分类(例如,加标记的)数据的一个或多个示例的一个或多个集合,在下文中称为训练语句。在一个实施例中,每个训练集合包括标记(例如,串、文本序列、字符等)以及可用于训练一个或多个模型的训练语句的相关阵列或集合。在进一步的实施例中,训练语料库124包含向量化(即,独热编码、字嵌入、维度减少等)训练集合和相关联的训练语句。在不同实施例中,训练语料库124包含听觉形式或书面形式的完整或部分话语。在该实施例中,话语是音频特征向量的连续序列。
27.模型126利用一个或多个认知模型来对一个或多个问题示例(例如,自然语言陈述、测试陈述、话语、连续时间步长数据等)进行分类。在实施例中,模型126利用可转移的神经网络算法和模型(例如,长短期记忆(lstm)、双向长短期记忆(blstm)、深度堆叠网络(dsn)、深度置信网络(dbn)、卷积神经网络(cnn)、递归神经网络(rnn)、复合分级深度模型等)。在所描绘的实施例中,模型126利用一个或多个blstm。在进一步的实施例中,利用监督训练方法来训练所述blstm,所述监督训练方法将特征数据的向量化训练集合馈送到模型126。在不同实施例中,用相关联的类标记特征,从而使得模型126能够在使用之前学习哪些特征与特定类相关。模型126被训练来识别标记或类之间的差异。模型126利用训练集合来生成表示属于特定标记或类的问题示例(例如,话语等)的概率的概率集合。在该实施例中,模型126通过考虑作为结构化或非结构化数据可用的不同特征来对问题示例(例如,问题、训练向量或语句等)进行分类(例如,标记)。在一实施例中,模型126输入音频特征的序列(例如,向量)并为每个序列输出语音标记。模型126的训练相对于图2更详细描绘和描述。
28.程序150利用软遗忘训练一个或多个模型。在不同实施例中,程序150可实施以下步骤。程序150在接收到对一个或多个模型的训练请求之后发起。在一个实施例中,程序150在接收或检索一个或多个训练集之后发起。程序150检索一组训练数据。程序150训练一个或多个全话语双向长短期记忆网络。程序150开始训练一个或多个软遗忘双向长短期记忆网络。程序150通过展开一个或多个软遗忘双向长短期记忆网络来继续训练过程。程序150抖动一个或多个软遗忘双向长短期记忆网络的块大小。程序150在一个或多个软遗忘双向长短期记忆网络的双子正则化中利用该一个或多个经训练的全话语双向长短期记忆网络。在所描绘的实施例中,程序150是独立的软件程序。在另一实施例中,程序150或其任何组合程序的功能可以集成到单个软件程序中。在一些实施例中,程序150可位于单独的计算装置
(未描绘)上,但仍可通过网络102通信。在不同实施例中,程序150的客户端版本驻留在计算环境100内的计算设备(未描绘)上。关于图2更加详细地描绘和描述程序150。
29.根据优选实施例,本发明可包含不同可访问的数据源,诸如数据库122,其可包括用户希望不被处理的个人数据、内容或信息。个人数据包括个人识别信息或敏感个人信息以及用户信息,诸如跟踪或地理位置信息。处理指任何自动化或未自动化的操作或操作集合,诸如收集、记录、组织、结构化、存储、适配、更改、检索、咨询、使用、通过传输、传播公开,或以其他方式对个人数据执行的使得可用、组合、限制、擦除或破坏。程序150启用个人数据的授权和安全处理。程序150提供通知同意,通知收集个人数据,允许用户选择加入或选择退出处理个人数据。同意可以采取若干形式。选择加入同意可强加于用户在个人数据被处理之前采取肯定动作。可替代地,选择退出同意可强加于用户采取肯定动作以防止在个人数据被处理之前处理个人数据。程序150提供关于个人数据和处理的性质(例如,类型、范围、目的、持续时间等)的信息。程序150向用户提供所存储的个人数据的副本。程序150允许校正或完成不正确或不完整的个人数据。程序150允许立即删除个人数据。
30.图2是描绘根据本发明的实施例的用于软遗忘训练模型的程序150的操作步骤的流程图。
31.程序150检索一组训练数据(步骤202)。在实施例中,程序150检索与训练集合相关联的多个话语、声学序列和/或语句。在一示例中,程序150利用300小时英文切换板(swb)数据集作为训练数据集,并且程序150利用所述训练数据来训练一个或多个扬声器无关(si)和扬声器适应(sa)模型。在该示例实施例中,si模型使用40维logmel特征,其中每个说话者倒谱均值减法(cms)而没有任何声道归一化(vtln)。sa模型使用具有每个说话者cms和vltn的40维logmel特征、40维特征空间最大似然线性回归(fmllr)特征和100维i向量。在另一实施例中,程序150将所检索的训练数据集(例如,话语、声学序列等)处理成多个子集(例如,块、信息块)。在又一实施例中,程序150将历史话语分割成包含相同话语的不同处理版本的离散集合。在各个实施例中,程序150通过利用预定话语间隔来定义话语的界限。在该实施例中,程序150将话语分割成由时间约束定义的一个或多个集合。在实施例中,程序150将训练数据集和分割的话语/标记集向量化。在各个实施例中,程序150将训练数据分割成包含训练数据的子集的一个或多个训练批。在该实施例中,程序150可随机创建批,或者程序150可从用户接收批大小。
32.程序150训练全话语双向长短期记忆网络(步骤204)。程序150利用在步骤202中详述的检索的训练数据集来训练一个或多个全话语blstm(例如,模型的第一集合)。在实施例中,程序150利用标记的向量化训练数据执行监督训练。例如,程序150将话语/标记对馈送到模型126中,从而允许程序150在训练数据(例如,话语)与分类数据(即,标记)之间做出推断。在实施例中,程序150确定是否通过利用测试集获得了足够的精度。blstm处理顺序数据(x1,x2,

,xt)以计算后续隐藏状态,而模型的参数保持相同。在示例中,程序150在每个前向和后向方向上训练具有512个隐藏神经元的6层blstm网络。在进一步的示例中,6层blstm通过线性层和softmax层输出被映射到表示44个音位和空白符号的45维后验概率向量的1024维隐藏向量。在各种实施方式中,受监督的训练确定预测与目标之间的差异(即,误差),并且通过该层后向传播差异使得模型/网络“学习”。在实施例中,程序150利用随机梯度算法(诸如同步随机梯度下降(sgd))来实现后向传播。在实施例中,程序150利用以下作
为损失函数:
33.(1)关于等式(1),双子正则化损失是lstm隐藏表示hf和hb之间的均方差。和分别表示前向和后向ulstm网络的参数,x和y是输入声学序列和输出标记序列,并且λ>0作为缩放因子。
34.程序150可以修改学习速率以便调整ctc或交叉熵成本,从而允许程序150增加或减少相关单元和层的适应性。例如,程序150利用0.04的学习速率、0.9的内斯特罗夫动量和128的批量大小。程序150在前10个时期之后的每个时期将所述学习速率修改在实施例中,程序150添加序列噪声注入,该序列噪声注入对当前话语和来自包含在训练语料库124中的训练数据集的随机采样的话语的logmel特征序列执行long-sum-exp。在另一实施例中,程序150在随机采样的话语的特征和注入序列噪声的概率上利用两个超参数权重。在示例中,程序150基于所计算的留出ctc损失利用si模型的超参数的0.4值和sa模型的超参数的0.2/0.4值。在各个实施例中,程序150保留训练期间固定的全话语blstm的权重。
35.程序150展开基于块的双向长短期记忆网络(步骤206)。程序150发起对一个或多个基于块的blstm网络(例如,第二组模型)的软遗忘训练。程序150并发地训练并展开一个或多个基于块的blstm,在该时间步长采用先前隐藏状态和输入以生成下一系列时间步长的输入,允许信息流经网络,使得最后一个单元包括从所有先前单元导出的信息。程序150识别输入声学序列(例如,话语)的c个连续时间步长的一个或多个非重叠窗口。在实施例中,程序150仅在输入声学序列的c个连续时间步长的所识别的非重叠窗口上展开一个或多个基于块的blstm。传统上讲,全话语(例如,没有软遗忘)blstm过度拟合训练数据,尤其是在训练数据受限时。在另一实施例中,程序150在每个c时间步长之后将隐藏状态和单元状态设置为零。在该实施例中,c根据留出(例如,测试话语)ctc损失经验性地计算。在示例中,块大小的范围可以以五个堆叠帧为步长从5至50个堆叠帧(100毫秒至1秒)。
36.程序150抖动基于块的双向长短期记忆网络的块大小(步骤208)。程序150利用训练数据集(如在步骤202中所描述的)和步骤204中利用的训练技术来训练一个或多个基于块的blstm(如在步骤206中所引用的)。在实施例中,程序150将每个训练序列拆分为具有附加的上下文观察的短块或块(例如,持续时间)。在各个实施例中,程序150从一个训练批到下一个训练批扰乱c。所述扰乱改善了模型的泛化性能。在实施例中,程序150通过在训练期间向每批的块大小添加抖动来扰乱c。在不同实施例中,程序150随机分配(例如,干扰、抖动)块大小。在该实施例中,在训练中的批之间随机分配c。在示例中,程序150如下抖动每批的块大小c
batch
:c
batch
=c u,其中u~u(-a,a)是[-a,a]上的均匀离散的随机变量。从所述示例继续,程序150跨训练批在间隔u(-2,2)之间抖动。在此示例中,程序150选择40个堆叠帧的块大小。在进一步的实施例中,程序150根据留出(例如,测试或验证话语组)ctc损失经验性地计算a。
[0037]
程序150将双子正则化应用于基于块的双向长短期记忆网络(步骤210)。双子正则化添加正则化项,该正则化项迫使前向隐藏状态尽可能接近由在时间上向后运行的双子网络(例如,全话语blstm)计算的同时向后隐藏状态。除了ctc损失之外,程序150将双子正则化损失添加到训练一个或多个基于块的blstm中。在实施例中,如在步骤204中所描述的,双子正则化损失是经训练的全话语blstm网络的隐藏状态之间的均方误差。软遗忘的总体损
失函数如下:
[0038]
(2)关于等式(2),l
tot
对应于利用全话语blstm的ctc损失和双子正则化损失的总和。将λ设置为0导致硬遗忘,其中,隐藏或单元状态信息不跨块传递。在实施例中,程序150将λ设置为非零值,当与具有零值的λ相比时(例如,硬遗忘),显著改善了字错误率(wer)。在该实施例中,软遗忘通过双子正则化保留整个话语上下文中的一些。整个话语blstm的权重在训练过程期间保持固定。在各个实施例中,一旦基于块的blstm网络完成训练,程序150丢弃(例如,处置、消除、删除等)整个话语的blstm网络并执行干扰而无需任何修改。
[0039]
在不同实施例中,一旦软遗忘blstm网络完成训练,程序150丢弃全话语blstm网络并在没有任何修改的情况下执行干扰。在一个实施例中,程序150向生产环境或服务器传输和/或安装一个或多个软遗忘blstm。在不同实施例中,程序150可选择多个软遗忘blstm并将模型布置到相同生产环境或将模型布置到多个相应生产、测试或辅助环境。在一个实施例中,程序150托管(例如,允许访问和利用)一个或多个经训练的软遗忘blstm,从而允许应用和程序(未描绘)访问该模型。在该实施例中,所述应用和程序可以将输入馈送到所述经训练的软遗忘blstm中,并且可以接收或请求相关联的输出。
[0040]
因此,通过执行图2的操作步骤,程序150训练一个或多个软遗忘blstm。程序150训练(例如,预训练)一个或多个全话语blstm。程序150通过初始化一个或多个基于块的blstm来发起对一个或多个软遗忘blstm的训练。在该实施例中,软遗忘blstm减少了由全话语blstm引起的过度拟合问题。程序150添加抖动(例如,随机性)块大小,从而改善模型的泛化性能。在该实施例中,抖动块大小防止固定大小的块的模型记忆。程序150利用经训练的全话语blstm应用双子正则化和ctc损失,从而允许保留话语级上下文信息。
[0041]
图3a示出了示例性图300,其是软遗忘训练过程的示例图示。示例性图300包括预训练的全话语blstm网络302,其是在没有软遗忘的情况下训练的示例性blstm,基于块的blstm网络304,其是在有软遗忘的情况下训练的示例性blstm,声学特征序列306(其是表示为声谱图的话语)、前向lstm网络308(其是blstm网络的组件)、后向lstm网络310(其是blstm网络的组件),lstm输出312(其为含有先前网络的输出的层),线性层314(其为经修改以符合输入与输出之间的改变的自适应层),双子正则化316(其说明在步骤210中描述的过程),真实符号序列318(其为声学特征序列306的符号等效物)。
[0042]
图3b示出了示例性表320,其是描绘用hub5-2000交换板(swb)和呼叫家庭(ch)训练集训练的一个或多个全话语和软遗忘blstm的字错误率(wer)的表。示例表320表明全话语训练网络过度拟合,而软遗忘训练(例如,基于块的)网络未过度拟合。
[0043]
图3c示出了示例性表330,该表是描绘一组说话者无关模型和说话者自适应模型的字错误率(wer)的表,每一模型包含用hub5-2000交换板(swb)、呼叫家庭(ch)、rt02、rt03和rt04训练集训练的基线模型(例如,全话语blstm)和软遗忘模型(例如,基于块的blstm)。示例表330展示了软遗忘模型超过相应的基线模型的0.9%和1.6%的绝对改进。
[0044]
图3d示出了示例性表340,其为描绘用hub5-2000交换板(swb)和呼叫家庭(ch)训练集合训练的多个传统模型的字错误率的示例图表。用“*”符号表示的模型利用速度扰动并且用“ ”符号表示的模型利用字节对编码。
[0045]
图3e图示了示例性图350,其是描绘多个模型的字错误率的图,所述多个模型包括
基于块的blstm、软遗忘blstm、全话语blstm和具有双子正则化的ulstm。
[0046]
图3f展示了示例性图360,这些图是显示针对全话语训练blstm和利用软遗忘训练的基于块的blstm的ctc损失的图。示例性图360包含全话语blstm图362和软遗忘blstm图364。
[0047]
其他评论和/或实施例
[0048]
本发明的一些实施例认识到以下事实、潜在问题和/或相对于现有技术的潜在改进领域。
[0049]
当使用在整个语音话语上展开的双向长短期记忆(blstm)网络时,基于连接机制时间分类(ctc)的自动语音识别系统表现良好。本发明的一些实施例认识到,全话语blstm更好地捕捉长期上下文但导致过度拟合。本发明实施例提出软遗忘作为解决方案。在训练期间,本发明的一些实施例仅在输入话语的小非重叠块上展开blstm。本发明的一些实施例对每批随机挑选块大小而不是固定的全局块大小。为了保留一些话语级别信息,本发明的一些实施例鼓励blstm的隐藏状态近似于经预处理的全话语blstm的隐藏状态。利用300小时英语交换板数据集,本发明的一些实施例显示软遗忘将词语错误率(wer)提高到高于竞争性全话语音素(whole-utterance phone)ctc blstm的平均7%-9%。本发明的一些实施例分别在hub5-2000交换板/呼叫家庭测试集上使用独立于扬声器的模型获得9.1%/17.4%的wer并且使用扬声器适应性模型获得8.7%/16.8%的wer。本发明的一些实施例认识到,当模型被用于流识别的有限的时间上下文时,软遗忘改善了wer。最后,本发明的一些实施例呈现对软遗忘的规则化和数据扩充效果的经验洞察。
[0050]
本发明的一些实施例认识到,端到端(e2e)自动语音识别(asr)系统已经成为重要的近期研究的主题。此类系统旨在简化常规混合asr系统的复杂训练和推断流水线。混合系统组合高斯混合模型、隐马尔可夫模型(hmm)和不同神经网络,并且涉及在语音特征序列和hmm上下文相关状态之间的模型构建和对准的多个阶段。相比之下,端对端系统使用递归神经网络并且通过经由连接机制时间分类(ctc)损失对所有对准进行求和或者通过关注机制学习最佳对准来一次性训练声学模型。本发明的一些实施例认识到e2e与混合asr系统之间的字错误率(wer)差距已经随时间减小。
[0051]
本发明的一些实施例认识到具有长短期记忆器(lstm)隐藏单元的递归神经网络是asr系统的选择的神经网络。双向lstm(blstm)网络是特别流行的,并且包括在每个层的在时间上向前和向后展开的两个lstm网络。对于e2e asr系统,blstm网络在语音话语的整个长度上展开。全话语展开使得blstm能够更好地捕捉长期上下文,这在缺乏对准的情况下尤其有用。记忆长期上下文的控制留给lstm单元的四个可训练门(输入、遗忘、单元和输出)。本发明的一些实施例识别lstm单元的架构变型,以便控制该信息处理行为。
[0052]
本发明的一些实施例认识到,blstm的全话语展开导致过度拟合,即使在诸如退出之类的公知正则化技术的存在时。考虑到有限的训练数据(例如,几百小时的讲话),这对于e2e asr系统的wer尤其有害。本发明的一些实施例利用软遗忘来对抗这种过度拟合。首先,本发明的一些实施例仅在输入声学话语的小非重叠块而非整个话语上展开blstm。前向和后向lstm网络的隐藏和单元状态在块边界处重置为零。为了防止固定大小的块的记忆,本发明的一些实施例在训练期间跨批随机扰乱块大小。最后,本发明的一些实施例使用双子正则化以便保留一些话语级上下文。双子正则化将块化blstm模型和预训练的全话语blstm
模型的隐藏状态之间的均方误差添加到ctc损失。本发明的一些实施例认识到,双子正则化促进跨块的上下文的一些记忆。
[0053]
本发明的一些实施例已经考虑了主要针对流推断的ctc asr模型的块化训练。然而,软遗忘另外结合了块抖动和双子正则化,并且显著地改善了ctc asr系统的离线/非流化和流化wer两者。本发明的一些实施例显示,利用300小时英语交换板数据集,相对于跨若干测试集的竞争性音素ctc基线,软遗忘将wer显著地提高了7%-9%。本发明的一些实施例呈现软遗忘的规则化和数据扩充效果的经验证据。
[0054]
本发明的一些实施例认识到,ulstm网络在asr wer方面滞后于blstm网络,因为ulstm网络仅并入了时间上前向上下文,而blstm网络附加地并入了时间上后向上下文。在其原始公式中,双子正则化联合地训练独立地时间上前向和时间上后向操作的两个ulstm网络。总体训练损失为:
[0055]
(1)
[0056]
其中,双子正则化损失是lstm隐藏表示hf和hb之间的均方误差:
[0057]
(3)
[0058]
其中,和分别表示前向和后向ulstm网络的参数,x和y是输入声学和输出标记序列,并且λ》0是比例因子。
[0059]
图3a描绘了包含以下元素的软遗忘的框图:
[0060]
·
基于块的blstm网络:软遗忘训练blstm仅在输入声学序列的c个连续时间步长的非重叠窗口上展开。此选择背后的直觉是全话语blstm倾向于过度拟合训练数据,尤其是当其被限制时。在每一c个时间步长之后将隐藏和单元状态设置为0减轻了这种过度拟合。本发明的一些实施例基于留出ctc损失凭经验挑选c。
[0061]
·
块大小抖动:本发明的一些实施方式认识到,从一批到下一批干扰c提高了模型的泛化性能。本发明的一些实施例认识到添加抖动具有数据扩充效果。本发明的一些实施例如下抖动每批的块大小c
batch
:c
batch
=c u,其中u=u(a,a)是在[a,a]上的均匀分布的离散随机变量。本发明的一些实施例基于留出ctc损失凭经验挑选a。
[0062]
·
双子正则化:为了合并一些话语级上下文,本发明的一些实施例除了ctc损失之外还添加双子正则化损失。该损失是预训练的全话语blstm网络和当前被训练的基于块的blstm网络的隐藏状态之间的均方误差。与其中两个模型被联合训练的双子正则化的原始公式化相比,本发明的一些实施例在训练期间保持全话语blstm加权的权重固定。
[0063]
因此,软遗忘的总体损失函数是:
[0064]
(2)
[0065]
设置λ=0导致硬遗忘(hard forget),其中隐藏或单元状态信息不跨块传递。本发明的一些实施例认识到,与λ=0相比,λ的非零值产生显著更好的wer,这指示通过双子正则化保留一些全话语上下文的值。
[0066]
本发明的一些实施例认识到,blstm的块化训练不需要任何逐块对准,并且仅影响通过blstm网络的前向传递。本发明的一些实施例将一批具有n个块的b个话语识别为一批bn个小话语。本发明的一些实施例对所得到的逐块的后验向量进行重新整形以构建原始全
话语的后验序列并且使用它来计算ctc损失。一旦使用软遗忘来训练基于块的blstm网络,本发明的一些实施例丢弃全话语blstm网络并在没有任何修改的情况下执行推断。
[0067]
本发明的一些实施例利用300小时英语交换板任务来训练说话者独立(si)模型和说话者适应(sa)模型。si模型利用具有每说话者倒谱均值减法(cms)且无任何声道长度归一化(vtln)的40维logmel特征。sa模型利用具有每说话者cms和vtln的40维logmel特征、40维特征空间最大似然线性回归(fmllr)特征以及100维i-向量,类似于特征融合系统。
[0068]
本发明的一些实施例在pytorch中训练多个6层blstm网络,其中每个在前向方向和后向方向上具有512个隐藏神经元。输出1024维隐藏向量通过线性层和softmax映射到表示44个音素和空白符号的45维后验概率向量。本发明的一些实施例包含模型,所述模型利用logmel特征上的增量和双增量,并且对于logmel和fmllr特征,以2的速率进行帧堆叠和跳过。这产生si模型的240维输入声学特征和sa模型的420维输入声学特征。4-gm lm在来自具有30k个词的词汇表的swb fisher语料库的所有文本上训练。
[0069]
本发明的一些实施例使用同步随机梯度下降(sgd)来训练所有模型,其中学习速率为0.04,nesterov动量为0.9,并且在4个v100gpu上批大小为128。在前10个时期之后,学习速率每个时期乘以0.5。本发明的一些实施例还针对si和sa模型两者在logmel特征上利用序列噪声注入。序列噪声注入对当前话语和来自训练集的随机采样的话语的logmel特征序列执行log-sum-exp,所述训练集正则化模型并且还可以被认为是即时数据扩充,因为它创建新的输入特征序列。存在两个超参数:对随机采样的话语的特征的权重和注入序列噪声的概率。本发明的一些实施例基于留出ctc损失对所有si模型的超参数使用(0.4,0.4)的值,并且对所有sa模型的超参数使用(0.2,0.4)的值。
[0070]
本发明的一些实施例在步骤中描绘软遗忘的不同元素以获得所述元素对wer具有的影响的理解。首先,本发明的一些实施例训练具有固定块大小的基于块的blstm模型。本发明的一些实施例以5个堆叠帧的步长从5到50个堆叠帧(100毫秒到1秒)改变块大小。本发明的一些实施例表明,基于留出ctc损失,最佳块大小是40个堆叠的帧,其在如图3b所示的hub5-2000swb/ch测试集合上显示12.7%/22.5%的wer。
[0071]
接下来,本发明的一些实施例引入跨训练批的u(2,2)的块大小抖动,这导致在swb上的0.6%和在ch上的1.0%的wer的进一步的绝对减小。本发明的一些实施例认识到,具有硬遗忘的基于块的blstm模型具有与没有序列噪声注入的全话语blstm模型相当的wer。本发明的一些实施例在最后三个blstm层上引入双子正则化,并且在0.001、0.01、0.1、1.0上改变λ。本发明的一些实施例认识到,在λ=0.01时最好的留出ctc损失,其导致swb上11.1%的wer和ch上19.7%的wer,其仅比swb上的序列噪声注入基线差0.2%,并且在ch上绝对好1.6%。最后,本发明的一些实施例引入序列噪声注入,在swb上产生10.6%的wer并且在ch上产生19.5%的wer。序列噪声注入的益处在存在软遗忘的情况下被减弱,因为两种技术均具有正规化模型和执行即时数据扩充的相同效果。
[0072]
本发明的一些实施例通过在包括双子正则化和序列噪声的最佳模型上在5、10、...、50上联合地改变块大小并且在1、2、...、10上联合地改变块抖动来执行网格搜索。本发明的一些实施例表明,块大小20和块抖动6的大部分值产生几乎同样低的留出损失。响应于挑选40的最佳块大小和10的块抖动,本发明的一些实施例仅认识到在ch wer中0.2%的较小改进并且在swb上没有改进。
[0073]
接下来,本发明的一些实施例将软遗忘配方应用于sa模型。图3c示出了跨五个测试集的基线ctc模型和具有软遗忘的模型的结果。本发明的一些实施例认识到,软遗忘相对于用于swb和ch测试集的基线sa模型获得0.9%和1.6%的绝对改进。作为参考,本发明的一些实施例还示出了来自图3b的si模型的wer。软遗忘将si模型的平均wer提高1.3%绝对值并且将sa模型的平均wer提高1.4%绝对值。本发明的一些实施例随后执行这些模型的状态级最小贝叶斯风险(smbr)序列训练,并使用在fisher swb语料库上训练的lstm语言模型(nnlm)执行对所得格子的重新扫描。nnlm的嵌入层具有512个节点,接着是2个lstm层,每个具有2048个节点。在30k维词语后验向量的基于softmax的估计之前,特征空间通过线性瓶颈层减少至128。本发明的一些实施例使用dropconnect和dropout的组合来正则化模型。本发明的一些实施例利用具有0.01的初始学习速率和0.9的内斯特罗夫动量的sgd进行训练。在20个训练时期之后,学习速率以15个步长按因子0.5退火。本发明的一些实施例获得了对于si为9.6%/17.7%并且对于具有软遗忘的sa音素ctc模型为8.7%/16.8%的最终wer。
[0074]
为了测量具有软遗忘的音素ctc模型的性能,本发明的一些实施例示出来自图3d中关于hub5-2000 swb和ch测试集的文献的各种模型的wer。本发明的一些实施例使用速度扰动(0.9x、1x和1.1x)执行数据扩充以使我们的si系统能够将其与使用数据扩充的其他系统进行比较。速度扰动将si系统进一步改进到9.1%/17.4%。本发明的一些实施例认识到,所述模型有利地与所有端到端系统相比。wer改进在更具挑战性的ch测试集上尤其大。软遗忘还显著地有助于减少音素ctc与sa混合blstm模型之间的wer间隙,该模型具有使用复杂的多级训练流水线和32k cd状态作为输出的特征融合。具体地,与仅使用序列噪声注入的模型相比,本发明的一些实施例将sa混合blstm和音素ctc之间的wer差距对于swb减小了71%,并且对于ch减小了74%。
[0075]
本发明的一些实施例在smbr和nnlm重新扫描之前利用si和sa模型以用于具有有限等待时间的解码,并且类似地可以使用sa模型来绘制。这些实施例在推断期间在非重叠块上展开blstm模型。前向lstm网络的隐藏和单元状态从一个块复制到下一个块,因为它改善了wer。后向lstm隐藏和单元状态被重置为零。
[0076]
图3e示出了具有和不具有软遗忘对比解码块大小的块化blstm的wer。对于解码块大小的每个选择,本发明的一些实施例报告跨所有训练块大小的最佳wer。作为参考,本发明的一些实施例还示出全话语blstm和使用全话语blstm的双子正则化损失训练的竞争性全话语ulstm模型的wer。本发明的一些实施例认识到,利用软遗忘训练的块化blstm在所有解码块大小上显著改善了块化blstm。
[0077]
本发明的一些实施例认识到,全话语blstm模型倾向于过度拟合数据,并且软遗忘是减轻这种情况的一种方式。图3f示出了随着训练针对具有软遗忘的基线全话语si blstm和块化si blstm继续进行的训练和留出ctc损失。本发明的一些实施例认识到,当与全话语blstm相比时,具有软遗忘的基于块的blstm的汇聚训练和留出损失显著更接近,这指示软遗忘确实正规化该模型。
[0078]
本发明的一些实施例认识到,在随机块大小有效地创建数据扩充之后重置blstm的隐藏和单元状态。这种随机遗忘导致blstm针对相同输入声学特征序列输出的不同隐藏表示并且创建不同的训练样本。本发明的一些实施例利用具有软遗忘和前传hub5-2000 swb测试集的最佳sa blstm模型。对于每个话语,本发明的一些实施例在整个话语上和在表
示在训练中使用的块大小的大小30、31、

、50的块上展开blstm。本发明的一些实施例在每个块之后将隐藏和单元状态重置为零。本发明的一些实施例然后通过将最终blstm层的输出求平均并且使用t分布式随机邻居嵌入(t-sne)将其向下投影到2维来计算1024维表示。本发明的一些实施例认识到,嵌入示出了跨话语的声学聚类,例如,所有带有犹豫的话语聚集在所述空间的一个区域中。更重要地,本发明的一些实施例认识到,归因于在训练期间使用的双子正则化损失,在不同大小的块之后遗忘隐藏和单元状态扰乱了每个话语的局部邻域中的嵌入。这种扰动的性质对于每话语是不同的,并且不仅仅是归因于底层表示的高度非线性性质的独立且相同分布的噪声。本发明的一些实施例认识到,这种扰动是数据扩充的有效形式。
[0079]
如下,本发明的实施例利用软遗忘来训练由三个元件组成的更好的ctc asr模型。首先,本发明的实施例仅在输入声学帧的非重叠块上而不是全话语上展开blstm。因此,从一个块到下一个块遗忘隐藏和单元状态。第二,本发明的实施例扰乱跨训练批的块持续时间。最后,本发明的实施例认识到,ctc损失是通过促进blstm的隐藏表示接近来自预先训练的全话语blstm模型的那些表示来正则化的。本发明的一些实施例表明,相比于竞争性音素ctc基线,软遗忘使wer提高了7%-9%,并且还有助于使与现有技术的混合blstm的wer差距接近约70%。
[0080]
图4示出了根据本发明的说明性实施例的服务器计算机120的组件的框图。应当理解,图4仅提供一个实现方式的图示并且不暗示关于其中可以实现不同实施例的环境的任何限制。可以对所描绘的环境做出许多修改。
[0081]
服务器计算机120各自包括通信架构404,其提供高速缓存403、存储器402、永久存储装置405、通信单元407和输入/输出(i/o)接口406之间的通信。通信架构404可以用被设计用于在处理器(诸如微处理器、通信和网络处理器等)、系统存储器、外围设备和系统内的任何其他硬件组件之间传递数据和/或控制信息的任何架构来实现。例如,通信架构404可以用一个或多个总线或纵横开关来实现。
[0082]
存储器402和永久存储装置405是计算机可读存储介质。在该实施例中,存储器402包括随机存取存储器(ram)。通常,存储器402可以包括任何合适的易失性或非易失性计算机可读存储介质。高速缓存403是快速存储器,其通过保存来自存储器402的最近访问的数据和接近访问的数据的数据来增强计算机处理器401的性能。
[0083]
程序150可存储在永久性存储装置405和存储器402中,用于由一个或多个相应的计算机处理器401经由高速缓存403执行。在实施例中,永久存储装置405包括磁性硬盘驱动器。作为磁硬盘驱动器的替代或补充,永久存储装置405可包括固态硬盘驱动器、半导体存储设备、只读存储器(rom)、可擦可编程只读存储器(eprom)、闪存、或能够存储程序指令或数字信息的任何其他计算机可读存储介质。
[0084]
由永久存储装置405使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置405。其他示例包括光盘和磁盘、拇指驱动器和智能卡,它们被插入到驱动器中以便转移到也是永久存储装置405的一部分的另一计算机可读存储介质上。
[0085]
在这些示例中,通信单元407提供与其他数据处理系统或设备的通信。在这些示例中,通信单元407包括一个或多个网络接口卡。通信单元407可以通过使用物理和/或无线通信链路提供通信。程序150可通过通信单元407下载到永久性存储装置405。
[0086]
i/o接口406允许与可连接到服务器计算机120的其他设备进行数据的输入和输出。例如,(一个或多个)i/o接口406可以提供到(一个或多个)外部设备408(诸如键盘、小键盘、触摸屏和/或一些其他合适的输入设备)的连接。外部设备408还可以包括便携式计算机可读存储介质,诸如例如拇指驱动器、便携式光盘或磁盘、以及存储卡。用于实施本发明的实施例的软件和数据(例如,程序150)可存储在这种便携式计算机可读存储介质上并且可经由(一个或多个)i/o接口406加载到永久性存储装置405上。(一个或多个)i/o接口406还连接到显示器409。
[0087]
显示器409提供向用户显示数据的机制,并且可以是例如计算机监视器。
[0088]
在此描述的程序是基于在本发明的具体实施例中实施的应用来识别的。然而,应当理解,本文中的任何特定程序术语仅为了方便而使用,并且因此本发明不应局限于仅在由这样的术语标识和/或暗示的任何特定应用中使用。
[0089]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(一个或多个)。
[0090]
计算机可读存储介质可为可保留和存储供指令执行装置使用的指令的有形装置。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡之类的机械编码设备或具有记录在其上的指令的槽中的凸出结构、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输媒体传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
[0091]
本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0092]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任何组合来编写的源代码或目标代码,所述编程语言包括诸如smalltalk、c 等的面向对象的编程语言,常规的过程编程语言,诸如“c”编程语言或类似编程语言,以及量子编程语言,如“q”编程语言、q#、量子计算语言(qcl)或类似编程语言,低级编程语言,诸如汇编语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过任何类型的网络(包括局域网(lan)或广域网(wan))连接至用户计算机,或者可连接至外部计算机
(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
[0093]
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0094]
这些计算机可读程序指令可被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
[0095]
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
[0096]
附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个块实际上可以基本上同时执行,或者这些块有时可以以相反的顺序执行。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作或执行专用硬件与计算机指令的组合的专用的基于硬件的系统来实现。
[0097]
已经出于说明的目的呈现了本发明的各种实施方式的描述,但并不旨在是详尽的或者限于所公开的实施方式。在不背离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。在此所使用的术语被选择来最好地解释实施例的原理、实际应用、或优于市场中所发现的技术的技术改进、或使得本领域普通技术人员能够理解在此所披露的实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献