《SEMI-SUPERVISED ASR BY END-TO-END SELF-TRAINING》
链接:https://pan.baidu.com/s/1aYgZxWZuaNba-azxUaAyog
提取码:bo0m
论文题目《端到端自训练半监督ASR》
作者 杨晨-俄亥俄州立大学 王蔚然-Salesforce研究 王超-亚马逊亚历山大
基于深度学习的端到端自动语音识别(ASR)系统虽然大大简化了建模流程,但存在数据稀疏问题。在这项工作中,我们提出了一个端到端系统的半监督ASR自训练方法。从一个训练在监督数据上的连接主义时态分类(CTC)系统出发,用当前的模型迭代地在一小批无监督话语上生成伪标签,并使用伪标签对监督数据进行扩充,以便立即进行模型更新。我们的方法保留了端到端ASR系统的简单性,可以看作是在定义良好的学习目标上执行交替优化。我们还对我们的方法进行了实证研究,包括数据增加的影响、伪标签生成的解码波束大小以及伪标签的新鲜度。在一个使用WSJ语料库的半监督ASR设置上,我们的方法比一个经过精心训练的数据库系统有14.4%的相对功耗提高,使基本系统和oracle系统的性能差距减少了50%。
关键词: 半监督ASR,自我训练,连接主义时间分类(CTC)
现代ASR系统面临的一个挑战是,随着模型容量的不断扩大,需要大量的标记数据来对其进行彻底的训练。不幸的是,收集和转录庞大的数据集既昂贵又耗时。因此,半监督ASR已成为一个重要的研究方向,其目标是利用大量未标记数据和少量标记数据进行训练。在这种情况下,最简单的方法之一是自训练,它使用解码结果或非监督数据上的伪标签(通常在字级别)来增强有监督的训练。它已被证明对传统的ASR管道非常有效[1,2,3,4]。
在这项工作中,我们提出了一个新颖的端到端自我训练框架。从一个经过精心训练的连接主义时态分类(CTC,[5])系统开始,我们交替使用以下两个步骤:
1. 在一小批无监督话语上使用令牌级解码器生成伪标签
2. 增加刚刚解码的(输入,伪标签)对进行监督训练
我们证明,这种方法可以通过在声学模型和无观测无监督数据的标签上对统一目标进行交替优化。这两个过程有效地相互加强,导致越来越精确的模型。
我们强调了我们方法的几个重要方面,它将我们的工作与其他人区分开来(关于相关工作的详细讨论稍后提供):
• 我们使用的伪标签是离散的,令牌级的标签序列,而不是每帧的软概率。
• 伪标签是动态生成的,而不是一次性生成的,因为新标签的质量高于从过时模型生成的标签。
• 我们不仅对有监督的数据,而且对无监督的数据进行数据扩充。
我们的实证结果支持了这些建模选择,这些选择导致了性能优于替代方案。我们在《华尔街日报》(WSJ)语料库上展示了我们的方法。1我们的方法在开发集上的PER提高了31.6%,在经过优化的基础系统的测试集上,我们的PER提高了14.4%,弥补了基本系统和oracle系统之间50%的差距,这些系统都是用所有数据的基本真实标签训练的。在本文的其余部分,我们在第2节回顾了我们的方法的监督部分,在第3节中详细描述了所提出的方法,并与第4节中的半监督ASR的相关工作进行了比较,第5节提供了综合的实验结果,并在第6节中总结了未来的方向。
在描述所提出的方法之前,我们简要回顾了我们的系统中有监督的组件-带数据扩充的CTC。2.1条。端到端ASR,CTC给定输入序列X=(x1,…,xT)和相应的标签序列Y=(y1,…,yL),CTC引入一个额外的标记并定义条件概率
式中,B−1(Y)是移除重复和标记后将减少到Y的所有路径(帧对齐)的集合,P(pj | X)是声学模型在第j帧标记pja的后验概率。基本的假设是,在整个输入序列x的条件下,帧上路径耦合的概率。然后定义一个话语(X,Y)的CTC损失。C(X,Y)=−logP(Y | X)。CTC训练最大限度地减少了一组labeld话语的平均损失。众所周知,经过训练后,声学模型的每帧后验点趋于峰值,最多帧最有可能的标记是高置信度的,表示“没有发射”。
图1:我们的半监督ASR的自训练方法
由上述独立性假设,CTC未明确建模标签之间的转移概率,因此解码(maxY P(Y | X)问题)相对简单。 CTC最简单的译码器是贪婪解码器,它在每一帧选取最有可能的标记,然后通过删除重复和来折叠它们;我们将主要使用这个解码器,因为它非常高效。我们可以通过在每个帧上维护一个W假设列表来改进贪婪解码器,从而得到波束大小为W的波束搜索解码器。当建模单元是子词但需要字级假设时,可以合并词典和语言模型,这可以在WFST框架中高效地实现[6]。我们不使用字级解码器来产生伪标签,因为它比令牌级波束搜索慢得多,而且只用于评估字错误率(WERs)。需要注意的是,我们的自我训练方法也可以利用基于注意力的系统[7,8]。我们使用CTC主要是因为它在解码过程中的简单性和高效性,用于动态生成伪标签。
为了缓解数据稀疏的问题,一种不需要无监督数据的自然方法就是用失真的版本对训练数据进行扩充。各种数据增强技术已经证明了ASR的一致性改进[9,10,11,12]。这种获取有监督训练信号的简单方法有助于我们改进我们的基本系统,而这个系统又会在无监督的数据上生成质量更高的伪标签。在这项工作中,我们采用了速度扰动和光谱掩蔽技术。这两种技术都会在频谱图特征级别干扰输入。我们可以把输入的话语看作一个维数为D×T的图像,其中D对应于频率盒的数目,T对应于帧数。速度扰动沿着时间轴执行线性插值,如在图像大小调整操作中;这里使用了两个速度系数0.9和1.1。频谱掩蔽在频率轴上随机选择输入的mF段,其宽度从{0,1。,nF},并类似地选择时间轴上的mT段,宽度可达nT。我们对有监督的CTC系统进行了超参数的网格搜索,在所有实验中,setmF=1,nF=8,mT=2,nT=16。
当一个基本系统在监督数据上得到充分训练后,就可以用来预测原始非转录数据上的标签。如果我们接受有信心的预测并假设它们是正确的,我们可以将输入和预测(伪标签)添加到训练中。如果伪标签中的噪声足够低,声学模型可以从额外的训练数据中获益,以获得更高的精度。我们建议重复伪标签生成和增广训练步骤,使两者相辅相成,并不断改进。在我们的方法中,对于每一次更新,我们使用带波束搜索的当前声学模型生成一小批无监督话语的伪标签,并根据它们的最可能假设计算这些话语的CTC损失。无监督话语的损失通过因子γ>0进行折现,以适应标签噪声,并结合监督数据的CTC损失来推导下一个模型更新。我们的自我训练方法的示意图如图1所示。等效地,我们可以将我们的方法表述为最小化以下目标:
其中L(X,Y)表示CTC损失,我们有nl监督的话语和无监督的话语,Θ表示声学模型中的权重参数,并且我们还将无监督话语的(未观察到的)标签序列{Yj}作为变量。这是一个定义明确的学习目标,我们的方法有效地在小批量的Yj(通过波束搜索)和权重Θ(通过梯度下降)上执行交替优化。此外,我们还可以利用原始数据在失真版本上解码的标签序列对无监督数据进行数据扩充。我们将通过实验证明,增加无监督数据和增加有监督数据一样有效。我们的方法源于半监督学习的无监督数据扩充(UDA,[13]),因为这两种方法都对无监督数据使用伪标签和数据扩充。但两者之间有一个关键的区别:UDA使用软目标(以前的模型输出)来计算无监督损失,这使得模型不会偏离上一步的结果,事实上,如果不增加数据,则无监督数据的损失将为零,对学习没有影响;相反,我们使用波束搜索译码器的离散标签序列输出对每个无监督话语的软目标,提供更强的监督信号。虽然[13]没有研究序列数据,但是我们已经实现了一个序列版本,它使用每帧的后验概率作为软目标,并使每个帧处的软目标和模型输出之间的交叉熵损失最小化;否则UDA的实现与我们的方法是一致的。如后所述,我们的方法在很大程度上优于UDA。考虑到CTC模型的峰值每帧后验分布,我们认为我们的方法的优点是伪标签是自然的高置信度预测,从而避免了软概率离散化的阈值。虽然非代币的对齐或位置在CTC系统中可能不精确,但这不是一个问题,因为我们在计算无监督的CTC损失时只使用标签序列,而不使用其对齐方式,这会将所有可能的对齐边缘化。在这方面,端到端系统提供了一个更优雅的自我训练公式,而传统的混合系统依赖于对齐。
半监督ASR的研究由来已久,自训练是传统ASR系统中最成功的方法之一(见文献[1,2,3]及相关文献)。我们发现,在自我训练中,伪标签的质量起着至关重要的作用,而且很多研究都致力于测量伪标签的可信度,并选择高可信度的标签进行监督训练[2,3]。基于LSTM的声学模型具有较高的记忆能力,因此标签质量的问题变得更加突出[14]。本着类似的精神,[4]在混合系统上采用了学生-教师的学习方法,以提高学生使用教师在一百万小时非转录数据上提供的软目标的准确性。除了自我训练外,循环一致性正则化[15,16]也被应用于半监督的ASR。[17,18,19,20,21]通过将ASR与文本到语音(TTS)模块相结合,利用未配对的语音和文本数据,训练损失鼓励来自ASR的伪标签与TTS系统很好地重建音频特征,TTS输出将由ASR识别。作者提出了不同的技术,允许梯度反向传播通过模块,并减轻音频信息在文本解码过程中的损失。或者,[22]将音频数据与ASR模型的编码器映射,并将具有另一编码器的文本映射到公共空间,从该公共空间使用共享解码器预测文本(从ASR侧)或重建(从文本侧);使用附加的正则化项来鼓励成对音频和文本的表示相似。这些工作背后的共同直觉是自动编码器,这是无监督学习最直接的方法。另一方面,[23]使用对抗性训练,鼓励非监督数据上的ASR输出具有与未成对文本数据相似的分布,并使用批评语言模型。我们的模型比上述模型简单得多,因为我们没有额外的文本模态神经网络模型,而是使用一个高效的解码器来离散声学模型输出,并立即将伪标签作为目标应用于声学模型训练。
在我们提交论文之前,我们注意到了这项工作[24],它也采用了端到端的自我培训方法。我们的工作与[24]的一些不同之处在于:首先,我们使用基于CTC的ASR模型来评估我们的方法,而他们使用的是基于注意力的模型;其次,我们对有标记和未标记的数据都使用了数据扩充,并证明两者都是有用的,而它们都不是;第三,我们的方法更简单,因为我们既没有使用字级语言模型,也没有使用集成方法来生成伪标签;最后,我们的伪标签是动态生成的,它们在整个未标记的数据集上生成一次伪标签。
接下来,我们在《华尔街日报》语料库上展示了上述技术。我们使用si84分区(7040个话语)作为监督数据,si284分区(37.3K个话语)作为无监督数据。dev93分区(503个语句)用作所有超参数调整的开发集,eval92分区(333个语句)用作测试集。该设置通常用于演示半监督ASR[19,20,22]。对于输入特征,我们从录音中提取窗长为25ms、跳长为10ms的40维LFBEs,并对每个说话人的平均值进行归一化处理。此外,我们每3个连续的输入帧进行叠加,以减少输入序列的长度(数据扩充后),从而加快训练和解码速度。我们的CTC声学模型使用的令牌集是351个位置相关的电话以及由Kaldi s5配方生成的符号[25]。声学模型训练是用Tensorflow[26]实现的,我们使用它的波束搜索生成伪标签(具有波束大小W)和用于评估开发/测试中的PER的算法(固定波束大小为20)。为了报告评估集上的字错误率(WER),我们采用基于WFST的框架[6]和词典提供的词汇量为20K的三元语言模型,并使用beamsize 20更快地使用Kaldi的解码进行波束搜索。在字解码之前,将同一手机的不同位置版本合并在一起,并使用si84计算出的电话计数将后验概率(声学模型输出)转换为似然。在整个实验中,我们的声学模型由4个双向LSTM层组成[27],每个方向有512个单元。对于模型训练,我们使用ADAM[28],初始学习率由网格搜索调整。我们应用dropout[29],其速率调整在{0.0、0.1、0.2、0.5}以上,从而不断提高精确度。我们使用在每个训练周期结束时评估的dev set PER作为超参数搜索和模型选择的标准。
如前所述,带数据扩充的基本系统,我们将使用一个只对监督数据进行训练的基础系统来启动半监督训练。对于这个系统,我们将小批量大小设置为4,每个模型被训练到40个纪元。我们应用第节中描述的数据扩充。2.2,由于速度扰动,有效地产生了3x的大监督集。在表1中,我们给出了基本系统和另一个未经增强训练的PER。观察到数据扩充提供了一个相当大的增益超过培训纯数据(开发PER的收益为18.52%,而开发PER的收益为16.83%),导致更高的伪标签质量。从现在起,我们将始终对监督数据使用数据扩充。
继续从基本系统初始化的自训练,我们现在继续训练我们的半监督目标(1)。每个模型更新都是用8个监督语句和32个无监督语句计算的(si284大约是si84的4倍)。通过网格搜索,我们将辍学率设置为0.2,初始学习率设置为0.0001,这比训练初始基本模型时的学习率小5倍,从而抑制了模型偏离基本模型太多的效果。每一个模型都被训练到另外30个时代。我们首先设置与贪婪解码器相对应的波束大小W=1,以便动态生成伪标签。我们训练了两组模型,一组对无监督话语进行数据增强,另一组没有;但是我们在两种情况下都对有监督的话语进行了扩充。图2中给出了权衡参数γ的不同值的偏差,γ=0对应于基本系统。我们的方法在较宽的γ范围内表现良好。最佳γ值在表1中:不同方法的性能(按百分比衡量)。
图3:γ=1.0时,不同方法对dev集的学习曲线。半监督学习从基础模型的第36个时代开始
在这两种设置下都是1.0,并且性能在γ>1时不会降低太多,这表明伪标签中的噪声在很大程度上是可以容忍的。此外,增加无监督数据大大提高了最终精度。为了说明伪标签生成和带伪标签的监督训练相互加强,我们在图3中提供了γ=1.0的模型的dev PER.epoch的学习曲线。随着时间的推移,dev-set的精确度稳步提高,在基础模型的最初几个时期,每次都有显著的降低。
光束尺寸W的影响我们现在探讨更大的W的影响,这将直观地给出更高的伪标签质量。对于这个实验,我们将其他超参数固定到W=1处的值。在表2中,我们给出了dev PER,以及W在{1,5,10,15}中的训练时间。图3绘制了W=15的学习曲线。结果是,随着W的增大,我们可以稍微提高最终的PER,但代价是更长的训练时间(主要来自波束搜索)。因此,我们建议使用小W和一个好的基础模型。
通过与UDA的比较,我们发现硬标签比软目标更有用,UDA用以前模型的后验信息计算交叉熵来代替无监督数据的CTC损失。我们还对无监督数据使用数据增广,后验点的插值方法与输入速度扰动中的插值方法相同。我们通过网格搜索调整折衷参数γ,性能最好的模型(γ=0.1)的偏差率为14.56%,学习曲线如图3所示。
为了进一步证明新的伪标签的重要性,我们比较了一种更广泛使用的方法,即在整个无监督数据集上使用基本模型生成一次伪标签。我们用一个大的解码波束大小W=20,然后从目标(1)的基本模型继续训练,而不需要再次更新伪标签。这种方法确实比基本系统有明显的改进,其开发效率为13.68%,但不如我们的W=1方法。它的学习曲线如图3所示,并且曲线比我们的方法更快地达到平稳。5.6条。结果汇总表3给出了不同的评估方法。最近的工作[30]也包括了使用相同的数据分区来进行注意模型的半监督学习。为了将我们的结果放在更紧密的背景下,我们将[31]中的CTC模型仅包含在si84上。为了获得半监督ASR的性能上界,我们在完整的si284分区上训练了一个具有地面真实转录的模型,测试WER为8.15%,接近[6]的7.87%,尽管管道不同。我们的方法W=1时,每减少一个相对31.6%的dev(16.83%→11.51%),测试功耗相对减少14.4%(11.43%→9.78%),有效地将基本系统(11.43%)和oracle系统(8.15%)之间的性能差距缩小了50%。
在表3中,我们在eval92上给出了不同方法的WER。 还包括使用相同数据分区进行注意力集中的半监督学习的最新工作[30]。 为了将结果紧密地结合在一起,我们仅包括了在si84上训练的[31]中的CTC模型。 为了获得半监督ASR的性能上限,我们在完整的si284分区上训练了具有地面实况转录的模型,尽管管道有所不同,但测试WER为8.15%,接近[6]的7.87%。 与经过精心训练的,具有数据增强功能的基本系统相比,我们的W = 1的方法相对于经过精心培训的基础系统,可将dev PER降低31.6%(16.83%!11.51%),相对14.4%的WER降低(11.43%!9.78%)。 基本系统(11.43%)与oracle系统(8.15%)之间的性能差距降低了50%。
关于未来方向,我们认为结合词典和语言模型的词级解码可以在将单词序列转换回令牌序列后进一步提高伪标签的质量(参见,例如,[32]),而代价是解码时间较长。在我们的方法中使用的另一个有前途的模型是rnntransfucer[33],它有一个内置的RNN LM来对标签依赖性建模,并改进令牌级解码。此外,对于更大的W,可以考虑前几个假设,并使用所有这些假设来计算无监督数据的损失[34,24]。