Token-level Adaptive Training for Neural Machine Translation
发布时间(2020)
token 级自适应训练
1)首先损失是交叉熵损失,工作是对于不同词频 token 的损失权重修改
Ps:目标是词频低的权重高,同时还要保证不要过于伤害词频高的词
2)两种方式:
a)指数获取 token 权重
b)卡方获取 token 权重
摘要
自然语言中存在 token 不平衡现象,因为不同的 token 出现的频率不同,这导致神经机器翻译 (NMT) 中 token 的学习难度不同。普通 NMT 模型通常对具有不同频率的目标 token 采用简单的等权重目标,与黄金 token 分布相比,它倾向于生成更多的高频 token 和更少的低频 token。然而,低频 token 可能携带关键的语义信息,一旦被忽略,将影响翻译质量。在本文中,我们探索了基于 token 频率的目标 token 级自适应目标,以便在训练期间为每个目标 token 分配适当的权重。我们的目标是那些有意义但相对低频的词可以在目标中分配更大的权重,以鼓励模型更多地关注这些 token。我们的方法在 ZH-EN、ENRO 和 EN-DE 翻译任务上取得了翻译质量的持续改进,特别是在包含更多低频 token 的句子上,与基线相比,我们分别获得了 1.68、1.02 和 0.52 BLEU 的提升。进一步分析表明,我们的方法还可以提高翻译的词汇多样性。
1 引言
神经机器翻译 (NMT) 系统 (Kalchbrenner and Blunsom, 2013; Cho et al, 2014; Sutskever et al, 2014; Bahdanau et al, 2015; Gehring et al, 2017; Vaswani et al, 2017) 是数据驱动模型,高度依赖于训练语料库。NMT 模型倾向于对频繁观察(例如单词、单词共现)过度拟合,而忽略那些低频观察。不幸的是,自然语言中存在标记不平衡现象,因为不同的标记以不同的频率出现,这大致遵循 Zipf 定律 (Zipf, 1949)。表 1 显示高频标记和低频标记之间存在严重的不平衡。NMT 模型在训练过程中很少有机会学习和生成那些真实的低频标记。
一些工作尝试通过维护短语表或退避词汇表(Luong et al, 2015; Jean et al, 2015; Li et al, 2016; Pham et al, 2018)或添加额外组件(Gul¨ c¸ehre et al, 2016; Zhao et al, 2018)来改进罕见词翻译,这带来了额外的训练复杂度和计算开销。一些基于较小翻译粒度的 NMT 技术可以缓解此问题,例如基于混合字字符的模型(Luong and Manning, 2016)、基于 BPE 的模型(Sennrich et al, 2016)和基于词块的模型(Wu et al, 2016)。这些有效的工作在一定程度上缓解了 token 不平衡现象,并成为大多数 NMT 模型的事实标准。虽然基于子词的 NMT 模型已经取得了显着的改进,但它们仍然存在 token 级别频率不平衡现象,如表 1 所示。
此外,目前的 NMT 模型一般会为目标 token 分配相同的训练权重,而不考虑其频率。由于低频 token 在训练集中所占比例较小,NMT 模型很可能会忽略它们产生的损失,导致与它们相关的参数无法得到充分训练,进而导致 NMT 模型倾向于优先考虑输出流畅度而非翻译充分性,并在解码过程中忽略低频 token 的生成,如表 1 所示。从中可以看出,普通 NMT 模型倾向于生成更多高频 token 和更少的低频 token。 然而,低频 token 可能携带关键的语义信息,一旦被忽略,可能会影响翻译质量
为了解决上述问题,我们提出了基于目标 token 频率的 token 级自适应训练目标。我们的目标是在训练期间为那些有意义但相对低频的 token 分配更大的损失权重,以便模型更多地了解它们。为了探索适合 NMT 的自适应目标,我们首先将其他任务中现有的自适应目标应用于 NMT 并分析其性能。我们发现,虽然它们可以对低频 token 的翻译带来适度的改进,但它们对高频 token 的翻译造成了很大的损害,导致整体性能明显下降。这意味着目标应该首先确保高频 token 的训练。然后,根据我们的观察,我们提出了两个基于目标 token 频率的 token 级自适应目标设计的启发式标准。最后,我们根据标准为不同的应用场景提供了两种具体形式。我们的方法在中英、中韩和英德翻译任务上取得了持续的翻译质量提升,特别是在包含更多低频标记的句子上,与基线相比,BLEU 分别提高了 1.68、1.02 和 0.52。进一步的分析表明,我们的方法还可以提高翻译的词汇多样性。 我们的贡献可以总结如下:
• 我们分析了现有自适应目标在 NMT 中的性能。基于我们的观察,我们提出了两个设计标记级自适应目标的启发式标准,并提出了两种具体形式来缓解标记不平衡现象带来的问题。
• 实验结果验证了我们的方法不仅可以提高翻译质量,尤其是那些低频标记,还可以提高词汇多样性。
2 背景
在我们的工作中,我们将我们的方法应用于 Transformer 框架(Vaswani 等,2017),这里将简要介绍一下。我们将符号的输入序列表示为 x = (x1; : : : ; xJ ),将真实序列表示为 y ∗ = (y ∗ 1 ; : : : ; y∗ K),将平移表示为 y = (y1; : : : ; yK)。
编码器和解码器 编码器由 N 个相同的层组成。每层都有两个子层。第一个子层是用于计算输入的自注意力的多头注意力单元,称为自注意力多头子层,第二个子层是完全连接的前馈网络,称为 FNN 子层。两个子层后面都跟有残差连接操作和层归一化操作。输入序列 x 将首先转换为向量序列 Ex = [Ex[x1]; : : : ; Ex[xJ ]],其中 Ex[xj ] 是源词 xj 的词嵌入与位置嵌入之和。然后,该输入向量序列将被输入到编码器中,并将第 N 层的输出作为源隐藏状态。解码器也由 N 个相同的层组成
除了每个编码器层中的同一种两个子层之外,它们之间还插入了第三个交叉注意子层,该子层对编码器的输出执行多头注意。第 N 层的最终输出给出目标隐藏状态 S = [s1; : : : ; sI ],其中 si 是 yk 的隐藏状态
目标通过最小化与真实值的交叉熵损失来优化模型:
3 方法
我们的工作旨在探索合适的自适应目标,这些目标不仅可以改善低频标记的学习,还可以避免损害高频标记的翻译质量。我们首先研究了两个现有的自适应目标,这两个目标是为了解决其他任务中的标记不平衡问题而提出的,并分析了它们的性能。然后,根据我们的观察,我们引入了两个用于设计自适应目标的启发式标准。基于提出的标准,我们从不同角度提出了两种简单但有效的函数形式,可适用于 NMT 中的各种应用场景。
3.1 现有的自适应目标调查
自适应目标的形式如下:
其中 w(yi) 是分配给目标 token yi 的权重,它会随着 token 频率的变化而变化。 实际上,一些现有的自适应目标已被证明对其他任务有效。如果我们将这些方法应用于 NMT,它可以帮助我们了解 NMT 合适的自适应目标需要什么。我们研究的第一个目标是 Focal loss 中的形式(Lin et al,这是为了解决物体检测任务中的标签不平衡问题而提出的:
虽然它没有直接利用频率信息,但它实际上降低了高频类别的权重,因为它们通常更容易分类,预测概率更高。我们按照他们的实验建议将γ设置为1。我们注意到这种方法大大降低了高频标记的权重,权重的方差很大。第二种是线性加权函数(Jiang et al,2019),它是为对话响应生成任务提出的:
其中Count(yk)是训练集中标记yk的频率,Vt表示目标词汇。然后,将均值为1的归一化权重w(yi)分配给目标标记。 我们注意到高频标记的权重仅略小于1,权重的方差很小。我们在中英翻译任务上测试了这两个目标,验证集上的结果如表2 1所示。为了验证它们对高频和低频标记的影响,我们还根据句子的平均标记频率将验证集分为两个子集,结果也在表2中给出。这表明,虽然这两种方法可以在低频标记的翻译中带来适度的改进,但对高频标记的伤害很大,这对整体性能产生了负面影响。 我们注意到这两种方法都不同程度地降低了高频 token 的权重,并且我们认为当高频 token 在 NMT 语料库中占很大比例时,这会阻碍它们的正常训练。为了验证我们的论点,我们简单地将 focal loss 的权重项加 1:
结果也在表 2(第 5 行)中给出,这表明该方法实际上避免了对高频 token 的损坏。整体结果表明它不够稳健,无法提高在 NMT 训练过程中,通过降低高频 token 的权重来减少低频 token 的学习。虽然我们的目标是提高低频 token 的训练效果,但我们应该首先确保高频 token 的训练效果,然后适当增加低频 token 的权重。基于以上发现,我们提出了以下标准。
3.2 token 权重的启发式标准
我们提出了设计 token 级训练权重的两个启发式标准:
最小权重保证
目标词汇表中任何标记的训练权重应等于或大于 1,可以描述为:
虽然我们可以通过缩小高频 token 的权重来强制模型更加关注低频 token,但之前的分析已经证明,由于高频 token 在训练集中的占比很大,训练性能对高频 token 权重的变化更敏感。高频 token 权重的相对较小的减少将阻止真实 token 的生成概率持续上升,这可能导致整体性能的明显下降。因此,考虑到训练稳定性和设计便利性,我们确保所有 token 权重等于或大于 1
权重期望范围控制
在满足第一个标准的条件下,那些高频标记可能已经很好地学习过了,不需要任何额外的关注。现在,那些低频标记可以被赋予更高的权重。同时,我们还需要确保低频标记的权重不能太大,否则肯定会损害高频标记的训练。因此,整个训练集上的训练权重的期望应该在[1; 1 + δ]中:
其中 jVt j 表示目标词汇表的大小,δ 与 1 相比是一个相对较小的数字。权重期望越大,意味着我们为那些低频标记分配的权重越大。相反,按照此标准定义适当的权重期望可以帮助提高整体性能。
这里提出的两个标准并不是 NMT 的唯一选择,但根据我们的实验观察,满足这两个标准的自适应目标不仅可以提高低频标记的翻译性能,还可以提高整体性能。
3.3 两个具体的自适应目标
在本文中,我们根据先前的标准启发式地为 w(yk) 提出了两种简单的函数形式,并用一些直觉证明了它们的合理性。
指数:给定目标标记 yk,我们将指数加权函数定义为:
其中有两个超参数 A 和 T,控制函数的形状和取值范围,可以根据上面的两个标准进行设置。该权重函数的图如图 1 所示。在这种情况下,我们不考虑噪声 token 的因素,因此权重会随着频率的降低而单调增加。因此,该权重函数适用于更干净的训练数据,其中极低频 token 只占很小的比例。
卡方:指数形式的加权函数不适用于包含许多噪声标记的训练数据,因为它们会被分配相对较大的权重,并且当它们的权重加在一起时会产生更大的影响。为了缓解这个问题,我们提出了另一种形式的加权函数:
该函数的形式与卡方分布的形式相似,因此我们将其命名为卡方。该加权函数的图如下
从图中我们可以看出,权重一开始随着频率的降低而增加。 然后,在超参数 T 决定的特定频率阈值之后,权重随着频率的降低而降低。在这种情况下,最频繁的 token 和极其罕见的 token(可能是噪音)都将被分配较小的权重。同时,那些中频词将具有较大的权重。它们中的大多数对于翻译来说是有意义和有价值的,但不能用等权重目标函数很好地学习。这种形式的权重函数适用于噪声较大的训练数据
4 实验
4.1 数据准备
4.2 系统
4.3 超参数
4.4 实验结果
5 分析
5.1 考虑标记频率对翻译质量的影响
为了进一步说明我们的方法的效果,我们根据 token 频率评估了性能。对于 ZH!EN 翻译任务,我们将 MT03-08 测试集连接在一起作为一个大测试集。对于 EN!RO 和 EN!DE 翻译任务,我们只使用它们的测试集。每个句子根据公式 10 进行评分并按升序排序。然后将测试集分为三个大小相等的子集,分别表示为 HIGH、MIDDLE 和 LOW。子集 LOW 中的句子包含更多低频 token,而 HIGH 则相反。
结果见表 5 和表 6。对比方法在 LOW 子集上的表现优于 Baseline-FT,但在 HIGH 和 MIDDLE 子集上的表现不如 Baseline-FT,这表明低频词翻译的提升是以牺牲高频词翻译为代价的。相比之下,我们的两种方法不仅在 LOW 子集上取得了显著的改进,而且在 HIGH 和 MIDDLE 子集上也取得了适度的改进。可以得出结论,我们的方法可以在不损害高频词翻译的情况下改善低频词的翻译。
5.2 不同 BPE 大小对翻译质量的影响
众所周知,BPE 的大小对数据分布有很大的影响。直观地讲,较小的 BPE 大小会带来更均衡的数据分布,但也会增加平均句子长度并忽略一些 token 的共现。为了验证我们的方法在不同 BPE 大小下的有效性,我们在 ZH!EN 翻译任务上将 BPE 大小从 1K 变为 40K。结果如图 2 所示。结果显示,随着 BPE 大小数量的增加,baseline 的 BLEU 先上升后下降。与 base 系统相比,我们的方法总能带来改进,而且 BPE 大小越大,即数据分布越不平衡,我们的方法带来的改进就越大。在实践中,BPE 大小要么来自经验,要么是从多次反复试验中选择出来的。无论在什么情况下,我们的方法总能带来稳定的改进
5.3 对标记分布和词汇多样性的影响
与参考文献相比,vanilla NMT 模型的输出包含更多高频 token,词汇多样性较低 (Van massenhove et al, 2019b)。为了验证我们的方法是否可以缓解这些问题,我们基于 ZH!EN 翻译任务做了以下实验。首先将目标词汇表中的 token 按照其 token 频率降序排列。然后将它们均等地分成十个区间。最后,我们统计了参考文献和不同系统翻译的每个 token 频率区间中的 token 数量。结果如图 3 所示,为了方便显示,我们取了常用对数。结果显示 Baseline-FT 与参考之间存在明显差距,除前 10% 外,Baseline-FT 的曲线在每个频率区间都低于参考曲线。相比之下,我们的方法可以缩小这一差距,token 分布更接近真实分布。此外,我们还用几个标准来测量译文的词汇多样性,即类型标记比率(TTR)(Templin,1957),超几何分布近似(HD-D)和文本词汇多样性测量(MTLD)(Mccarthy and Jarvis,2010)。结果列于表7。这表明我们的方法也可以提高译文的词汇多样性
5.4 案例研究
表8展示了ZH!EN翻译方向的两个翻译实例。在第一句中,Baseline-FT系统未能生成低频名词‘coalmine’(频率:43),但生成了一个相对高频的单词‘mine’(频率:1155)。我们可以看出,这个低频标记承载了该句子的中心信息,它的误译阻碍了人们正确理解该句子。在第二句中,我们的方法正确生成了低频动词‘assigned’(频率:841),而Baseline-FT生成了一个更频繁的标记‘match’(频率:1933),这降低了翻译的准确率和流畅度。这些例子可以作为我们方法有效性的证据的一部分
7 结论
在本研究中,我们重点研究了 NMT 的 token 不平衡问题。我们发现 vanilla NMT 的输出包含更多高频 token,词汇多样性较低。为了缓解这个问题,我们研究了其他任务的现有自适应目标,然后根据观察结果提出了两个启发式标准。接下来,我们根据标准给出了两种简单但有效的形式,可以为目标 token 分配适当的训练权重。最终结果表明,我们的方法可以显著提高性能,尤其是在包含更多低频 token 的句子上。进一步分析表明,我们的方法还可以提高词汇多样性。