490 Chapter 14. 神经机器翻译模型推断 肖桐 朱靖波
源语言片段翻译的多样性相对低一些
[273]
。虽然从人工翻译的角度看,这可能并不是
理想的译文,但是使用这样的译文可以在一定程度上缓解多峰问题。因为,经过训
练的自回归翻译模型会始终将相同的源语言句子翻译成相同的译文。这样得到的数
据集噪声更少,能够降低非自回归翻译模型学习的难度。此外,相比人工标注的译
文,自回归翻译模型输出的译文更容易让模型进行学习,这也是句子级知识蒸馏有
效的原因之一。
3. 自回归翻译模型打分
通过采样不同的繁衍率序列,可以得到多个不同的翻译候选。之后,把这些不
同的译文再交给自回归翻译模型来评分,选择一个最好的结果作为最终的翻译结果。
通常,这种方法能够很有效地提升非自回归翻译模型的译文质量,并且保证较高的
推断速度
[273, 737, 738, 739, 740]
。但是,缺点是需要同时部署自回归翻译和非自回归翻译两套
系统。
14.4.3 更好的训练目标
虽然非自回归翻译可以显著提升翻译速度,但是很多情况下其翻译质量还是低
于传统的自回归翻译
[273, 736, 741]
。因此,很多工作致力于缩小自回归翻译模型和非自回
归翻译模型的性能差距
[742, 743, 744]
。
一种直接的方法是层级知识蒸馏
[745]
。由于自回归翻译模型和非自回归翻译模型
的结构相差不大,因此可以将翻译质量更高的自回归翻译模型作为“教师”,通过
给非自回归翻译模型提供监督信号,使其逐块地学习前者的分布。研究人员发现了
两点非常有意思的现象:1)非自回归翻译模型容易出现“重复翻译”的现象,这些
相邻的重复单词所对应的位置的隐藏状态非常相似。2)非自回归翻译模型的注意力
分布比自回归翻译模型的分布更加尖锐。这两点发现启发了研究人员使用自回归翻
译模型中的隐层状态和注意力矩阵等中间表示来指导非自回归翻译模型的学习过程。
可以计算两个模型隐层状态的距离以及注意力矩阵的 KL 散度
6
,将它们作为额外的
损失指导非自回归翻译模型的训练。类似的做法也出现在基于模仿学习的方法中
[737]
,
它也可以被看作是对自回归翻译模型不同层行为的模拟。不过,基于模仿学习的方
法会使用更复杂的模块来完成自回归翻译模型对非自回归翻译模型的指导,比如,在
自回归翻译模型和非自回归翻译模型中都使用一个额外的神经网络,用于传递自回
归翻译模型提供给非自回归翻译模型的层级监督信号。
此外,也可以使用基于正则化因子的方法
[739]
。非自回归翻译模型的翻译结果中
存在着两种非常严重的错误:重复翻译和不完整的翻译。重复翻译问题是因为解码
器隐层状态中相邻的两个位置过于相似,因此翻译出来的单词也一样。对于不完整
翻译,即欠翻译问题,通常是由于非自回归翻译模型在翻译的过程中丢失了一些源
语言句子的信息。针对这两个问题,可以通过在相邻隐层状态间添加相似度约束来
6
KL 散度即相对熵。