论文地址:https://arxiv.org/abs/2206.08317
代码:https://github.com/modelscope/FunASR/
摘要:
Transformers在 ASR 领域占据主导地位。虽然能够产生良好的性能,但它们使用自回归(AR)解码器来逐一生成令牌,这在计算效率上是低效的。为了加快推理速度,可以使用非自回归 (NAR) 方法,例如单步 NAR 的设计是为了实现并行生成。然而,由于输出标签之间的独立性假设,单步 NAR 的性能不如 AR 模型,尤其是在大规模语料库的情况下。改进single-step NAR 面临两个挑战:首先是准确预测输出 token 的数量并提取隐藏变量;其次,增强输出标签之间相互依赖性的建模。为了应对这两个挑战,我们提出了一种快速且准确的并行Transformer,称为 Paraformer。该模型属于单步非自回归模型。这利用基于连续积分和激发的预测器来预测令牌的数量并生成隐藏变量。然后,扫视语言模型(GLM)采样器生成语义嵌入,以增强 NAR 解码器对上下文相互依赖进行建模的能力。最后,我们设计了一种策略来生成负样本以进行最小错误率训练,以进一步提高性能。使用公共 AISHELL-1、AISHELL-2 基准和工业级 20,000 小时任务的实验表明,所提出的 Paraformer 可以达到与最先进的 AR Transformer相当的性能,并且加速超过 10 倍。
1. Paraformer使用基于CIF的predictor预测输出标签的个数并产生隐变量;【文献18】
2. GLM sampler用于产生语义向量增强非自回归模型对上下文的建模能力;【文献19】
3. 最后作者设计了一个策略产生负例,并用MWER损失训练使模型的识别能力进一步提升。【文献20】
介绍:
过去几年,端到端(E2E)模型在自动语音识别(ASR)任务上的性能已经超越了传统层级系统。存在三种流行的 E2E 方法:连接主义时间分类 (CTC)、循环神经网络转换器 (RNN-T) 和基于注意力的编码器-解码器 (AED) 。其中,AED 模型由于其卓越的识别精度而在 ASR 的 seq2seq 建模中占据主导地位。例如 Transformer 和 Conformer。虽然性能良好,但此类 AED 模型内的自回归 (AR) 解码器需要一一生成令牌,因为每个令牌都以所有先前的令牌为条件。因此,解码器的计算效率低下,并且解码时间随着输出序列长度线性增加。为了提高效率并加速推理,有人提出使用非自回归(NAR)模型并行生成输出序列。
基于推理时需要的迭代次数,NAR 模型可以分为迭代模型或单步模型。在前者中,A-FMLM 是单步自回归模型的最早尝试,旨在通过不断迭代来预测以未屏蔽标记为条件的屏蔽标记。由于需要预先定义目标令牌长度,性能受到影响。为了解决这个问题,Mask-CTC 和变体提出通过 CTC 解码来增强解码器输入。即便如此,这些迭代 NAR 模型需要多次迭代才能获得有竞争力的结果,限制了实践中的推理速度。最近,提出了几种单步 NAR 模型来克服这一限制。它们通过消除时间依赖性同时生成输出序列。虽然单步 NAR 模型可以显着提高推理速度,但其识别精度明显不如 AR 模型,尤其是在大规模语料库上评估时。
前面提到的单步非自回归模型主要关注如何预测输出标签的个数和准确提取隐变量。和机器翻译通过predictor预测输出标签个数相比,ASR预测输出标签个数确实比较难,因为有很多的潜在影响因素,比如说话人的语速、静音、噪音。另一方面,经过作者的观察和分析,单步非自回归模型相比自回归模型具有更多的替换错误,如下图1。作者认为缺少上下文依赖信息导致预测标签个数准确率差不多,但替换错误上升明显(AR和vanilla NAR比较),尤其是单步自回归模型的条件独立假设。另外,所有的非自回归模型都是在学术基准阅读音频上实验的,并没有验证这些模型在工业基准数据上的效果。这篇论文的目标是提升单步非自回归模型的识别效果,使其达到和自回归模型相同的水准,并在大规模工业级数据上验证。
文章提出了一个又快又准的并行transformer模型,可以克服上面提到的两个挑战。首先,不像前面的基于CTC的工作,作者提出了使用基于CIF【continuous integrate-and-fire】的predictor网络评估目标长度并产生隐变量。对于第二个挑战,作者设计了基于GLM【glancing language mode】的sampler模块增强非自回归解码器对输出上下文的建模能力。这个工作受到了机器翻译工作的启发。作者另外设计了一个包含负例的策略,利用MWER损失指导模型学习提升模型性能。
Paraformer是第一个在性能上可以和自回归模型媲美,并且在大规模数据集上相比自回归模型有10倍+的推理速度提升。
方法
整体框架
如上图所示,整个框架包含五个模块:encoder、 predictor、sampler、decoder、loss function。其中Encoder和自回归模型的Encoder一样,本文使用SAN-M【multihead-attention的部分换成了san-M】和FFN,也可以使用conformer等结构。Predictor用于生成声学特征指导解码。Sampler模块使用声学特征和标签特征生成语义特征【用于学习输入的上下文内容语义信息,增强非自回归解码器对输出上下文的建模能力】。Decoder和自回归解码器相同,只不过这里是双向解码器[类似bert]。解码器包含多个SAN-M、FNN和cross MHA模块。除了CE loss,还会使用MAE loss训练predictor,MWER损失也一起参与模型训练。
整个流程阐述:
输入音频为X,长度为T;音频对应的文本标签为Y,长度为N。Encoder的输入为X,输出为H。Predictor的输入为H,输出为预测的输出标签长度N’并生成声学向量Ea。第一轮解码Decoder的输入为H和Ea,输出为Y’。图中红色虚线Pass1标记部分表示输入Ea,但是并不对这个输入进行反向传播学习。第二轮解码前会首先经过Sampler模块。Sampler模块在声学向量Ea和输出标签向量Ec之间进行采样得到语义向量Es。其中Char指的是标签Y。采样过程依赖Y和Y’之间的距离。第二轮解码Decoder的输入为H和Es,输出为Y’‘,这次进行反向传播学习。此次反向传播学习指导decoder学习上下文语音信息,同时也会指导predictor和encoder的学习。Sampler使用Y’进行距离计算不会进行反向传播学习。最后输出的Y’’会被采样为MWER训练生成负例候选。使用N和N’计算MAE。MWER、MAE和CE loss一起作为loss进行训练。
推理时,sampler模块是不激活的,并且双向并行解码器只使用声学向量Ea和隐向量H通过一轮输出最终的预测结果。尽管decoder在每次训练时会前向推理两次,但是因为在推理时只进行了一次所以并不会使计算复杂度变大。
Predictor
Predictor由两个卷基层组成,输出的float weight α 在0~1之间。作者通过累计此权重预测输出标签的长度。MAEloss定义为:
其实就是将所有α 进行了累加,加起来的长度就是预测的长度。LOSS就是真实长度和预测长度差的绝对值。作者引入了CIF机制产生声学向量。CIF是一个软的(非0/1,可以是小数)和单一对齐的,在AED模型中作为流式解决方案的实现。声学向量的生成时,CIF对权重α 进行累计,如果超过了设定的阈值β ,说明某一个声学向量的边界确定了。对边界之内的向量H根据权重α 进行缩放累计即可得到某一个声学向量。此过程重复直到结尾,可得到所有的声学向量。如下图所示:
在训练时权重α会根据N进行缩放(比如累计的α为N’,使用N/N’对所有的α 进行缩放,使用缩放后的α计算声学向量Ea。缩放是为了让的Ea维度和Ec的维度保持一致),但是在推理时无法进行缩放,导致训练和推理之间存在不一致。为了弥补这个不一致,作者提出了使用动态阈值β而不是固定阈值。计算公式如下:
下面是一个向上取整,所以分子小于等于分母,阈值β < = 1 。
Sampler 【参考字节Glancing Transformer】
GLM目的就是更好的学习输出序列的上下文语义关系,利用上下文进行当前的文本预测, 学习输出标签之间的依赖关系
在普通的单步非自回归模型中,优化的目标为:
然而,正如上面所说的,单步非自回归模型中的输出标签独立性假设导致模型识别效果不如自回归模型。GLM模块的loss定义如下:
其中GLM(Y,Y′)表示Sampler模块在Ea和Ec中选中Ec替换Ea对应的Y′′中token的集合;GLMˉ(Y,Y′)表示Sampler模块在Ea和Ec中未选中Ec替换Ea对应的Y′′的token的集合;GLM(Y,Y′)的定义如下:
上面公式的含义是从Ec中采样⌈αd(Y,Y′)⌉个向量替换对应位置的Ea,生成新的向量为Es。其中α是控制采样率的采样因子,越大表示使用Ec替换Ea的概率越大。该采样概率应该在最初模型效果不好时设置的稍微大一些,然后随着整个的训练过程的进行逐渐减小。为了达到这个目的,作者简单实用汉明距离,其定义为:
也就是,最开始的时候模型学习不好,d会比较大,当模型学习越来越好时,d也逐渐减小。表示最开始训练时,使用较多的Ec替换Ea,也就是上下文信息更多和准确,减小模型的学习难度;当模型学习的越来越好时,使用较少的标签信息迫使模型进一步学习。
总结,sampler模块结合了标注标签向量Ec,实现方法是随机替换Ea中⌈αd(Y,Y′)⌉个向量生成新的含有语义的向量Es。训练并行decoder使用语义上下文GLM(Y,Y′)预测目标标签GLMˉ(Y,Y′),使模型学习输出标签之间的依赖关系。
补充Glancing Transformer 原理:
自回归模型中最为常用的训练方式是最大似然估计(MLE),不少非自回归模型也直接使用 MLE 进行训练。但是非自回归模型的输出方式是并行的,输出语句中的任何部分在输出之前都无法获得输出语句中其余词的确切值。所以直接使用 MLE 训练并行输出的非自回归模型无法有效地建模输出语句中词之间的依赖关系。值得注意的是,词之间依赖关系的建模对输出通顺的语句至关重要,拥有良好生成质量的自回归模型和多轮迭代解码的模型均对这种依赖关系进行了有效的建模。
直接训练完全并行生成来学习目标语句中词之间的依赖关系对模型并不友好。一种更为简单有效的依赖关系学习方式是根据部分输入词预测其余目标词。但是这种学习方式需要部分目标词作为输入,不符合非自回归模型并行生成的要求。作者观察到随着模型自身更好地学习到词之间的依赖关系,模型对于依赖关系的学习可以逐渐摆脱使用目标语句部分词作为输入的需求。基于以上观察,Glancing Transformer(GLAT)利用了一种 glancing language model 的方法,通过渐进学习的方式进行词之间依赖关系的建模。在渐进学习的过程中,模型会先学习并行输出一些较为简单的语句片段,然后逐渐学习整句话的单步并行生成。
具体地,在第一次解码的时候,和常规的非自回归模型一样,模型使用完全并行解码的方式输出语句。然后将第一次解码得到的输出和训练数据中的目标语句进行对比。如果输出和目标语句差距较大,说明模型在训练中难以拟合该训练样本,因此这时 GLAT 会选择提供更多目标词作为输入来帮助学习词之间依赖关系。反之,如果输出和目标语句比较接近,则模型自身已经较好地学习了如何并行生成该目标语句,所需要的目标词数量也相应减少。
在第二步解码之前,模型的解码器可以得到部分目标词作为输入,这些词的数量由第一步的解码结果所决定。这时,模型在并行输出之前可以获得部分目标词的确切值,所以在学习输出剩余目标词的过程中就可以对目标语句中词之间的依赖关系进行建模。
随着训练的进行,模型对数据拟合程度更高,因此能够更准确地生成目标语句。与此同时,需要作为解码器输入的目标语句中的词的数量会越来越少,在训练后期逐渐接近学习完全并行生成的训练场景(例如上图右边的例子)。具体的方法细节和实现方式可以参考论文。
Loss Function:
一共定义了三个loss:CE、MAE、MWER。训练时进行联合训练:
对于MWER,具体的计算公式如下:
非自回归模型使用贪婪搜索,所以只有一个输出路径。正如前面提到的,在使用MWER训练时作者使用负例采样策略通过随机遮蔽top1分值标签产生多个候选路径。
实验
实验设置
在AISHELL-1、AISHELL-2以及工业级2wh数据集上验证上述方法的效果。其中工业级的测试集有两个:普通30h、远场15h。具体的工业级语料介绍可以参考文献21和28。RTF的测试在NVIDIA tesla V100上完成。
结果如上表格。在上述两个测试集上的测试都是在ESPNET框架上实现的,不包含LM和预训练模型。
AISHELL-1 的AR baseline参考文献15,效果在所有AR模型中是最好的(排除使用更多数据知识的模型)。因为作者当前的目标是通过模型结构提升模型效果而不是通过数据。普通的NAR和Paraformer的结构相同,但是没有Sampler。
结论:
1. 普通NAR的表现超过了其它的NAR工作,比如文献15和文献12
2. 普通NAR模型的表现比AR模型稍微差一些,因为缺乏了输出标签之间的上下文信息。
3. Paraformer通过使用基于GLM的Sampler模块对普通NAR模型增强,得到了和AR模型相近的识别表现。
4. Paraformer模型在dev和test测试上的CER分别为:4.6%和5.2%,推理速度比AR基线模型快12倍
工业级2wh数据集
结果如上表格所示,进行了多个扩展实验。动态β表示2.2节中的动态阈值,CTC表示带有LM的DFSMN-CTC-sMBR系统,参考文献32。RTF在OpenNMT上进行评估。
实验有两个模型,一个41M的一个63M的。AR基线模型中attention的维度为256,和文献21一致。这里的结论和前面有所不同。
结论
- 可以看到在大型数据集上,普通NAR模型和AR模型的识别效果差距很大(AISHELL上差别较小)。
- 普通NAR模型虽然和CTC都有输出标签独立假设限制,但是普通NAR模型效果优于CTC效果。
- 普通NAR模型结合GLM时,效果提升。
- 当进一步结合MWER训练方法时,效果进一步提升。
- Paraformer模型效果和AR模型效果很接近,差别在相对2%以内,但是推理速度提升10倍+。
- Paraformer结合动态β \betaβ,效果进一步提升。因为相比固定阈值,动态阈值减少了推理和训练的不一致,更准确地提取了声学向量信息。
- 将模型变大时,得到了和前面相似的结论。Paraformer相比普通NAR模型效果提升;和AR模型效果相当,但是推理速度提升10倍+。
- Paraformer-63M和AR transformer-41M模型相比较,尽管Paraformer模型较大,但是Paraformer推理速度更快。也就是说,在远场测试集上Paraformer-63M模型相比AR transformer-41M模型,识别效果相对提升6.0%,并且推理速度提升7.4倍。 也就是,在实际生产中,可以通过使用较大的Paraformer模型达到比AR模型更好的识别效果以及更快的推理速度。
对采样因子α的超参数测试结果参见上表格。和预期相同α变大时,模型效果变好,因为在训练时提供了更多的上下文信息;然而如果该参数太大会导致训练和测试不一致。基本上,α 在0.5~1.0之间的表现比较稳定。
- 在小型训练集上普通NAR和AR模型的识别性能差别不大,但是在工业级大数据集上差距明显。这是第一个在大规模工业级数据上验证NAR模型效果的研究。
- Paraformer相比普通NAR模型识别效果相对提升11%,和精细训练的AR模型效果相当。
分析:见文章第一张图。普通NAR模型相比AR模型,插入错误多一点,但是删除错误少一点。说明普通NAR模型的predictor预测输出的标签个数较准确。然而替换错误比较多,侧面反应两者性能差距很大。作者认为这是由普通NAR模型的条件独立假设造成的。Paraformer模型相比普通NAR模型替换错误下降很多,也暗示了识别效果提升很多。作者认为这是由于GLM模块使NAR模型学习到了标签之间的依赖关系。Paraformer模型相比AR模型替换错误稍微多一些,也暗示着识别准确率稍微差一些。作者认为AR模型中基于LM的beam search解码扮演了很重要的角色,相比GLM效果更好。为了减少这个性能差距,作者将在未来工作中在Paraformer模型上结合外部语言模型。
个人思考/疑问
- MWER loss没看懂,需要看文献20.
- Char 的 Embedding使用的torch.nn.Embedding,直接学习嘛?还是预设值好的。
- 端到端语音识别中的Embedding,例如wenet框架的token 的 Embedding能不能使用NLP领域用文字训练得到的Embedding,如果能的话为啥主流的不是这种的,这个Embedding不比直接学习更好嘛?
- wenet的重打分架构,decoder能不能直接根据CTC N-best结果得到矫正的识别结果,相当于做矫正/纠错?
- Paraformer能不能直接结合在当前的wenet框架中,使用conformer那套encoder,而不是SAN-M。从文章结论看,可以使用更大的模型训练Paraformer,效果比之前的模型效果好,且推理速度快,是一个可以实践的方向。
- Paraformer结构能不能和wenet重打分那套结合?Pafaformer的输出替代CTC的那一支,然后再加上decoder部分的重打分。这样相当于有了两个decoder。按道理就是训练会慢,但是推理应该还好吧?可能可行。——》Paraformer输出只有一个结果,重打分啥啊。。这个做不了。但是decoder可以作为纠错模型对结果进行纠错。
- 作者提出的在外面再结合一个语言模型应该是可行的。
[18] L. Dong and B. Xu, “CIF: Continuous integrate-and-fire for end-to-end speech recognition,” in ICASSP 2020-2020 IEEE Interna-tional Conference on Acoustics, Speech and Signal Processing(ICASSP). IEEE, 2020, pp. 6079–6083.
[19] L. Qian, H. Zhou, Y. Bao, M. Wang, L. Qiu, W. Zhang, Y. Yu,and L. Li, “Glancing transformer for non-autoregressive neural machine translation,” arXiv preprint arXiv:2008.07905, 2020.
[20] R. Prabhavalkar, T. N. Sainath, Y. Wu, P. Nguyen, Z. Chen, C.-C. Chiu, and A. Kannan, “Minimum word error rate training for attention-based sequence-to-sequence models,” in 2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018, pp. 4839–4843