- Published on
理解大规模反向翻译
Understanding Back-Translation at Scale, Facebook AI,2018EMNLP
Abstract
反向翻译中sampling or noised beam 是最有效的,它们可以提供much stronger训练信号。
比较了合成数据和真实双语数据以及各种领域的影响
在WMT14 英德测试机 SOTA 35BLEU
Introduction
单于数据的利用:语言模型融合,回译,对偶学习
这些方法可以组合获得更好的准确率,参考一下论文
> Achieving hu-man parity on automatic chinese to english news translation
对于回译,虽然简单,但是这种方法已经被证实有助于基于短语的翻译以及无监督的MT
根据实验分析:sampling from the model distribution or noising beam outputs 比原生的beam或贪心搜索效果好。在几个测试集下平均有1.7BLEU的评分。
Generating synthetic sources
beam和greedy注意力集中在模型的头部分布,只取概率最大的,不能覆盖真实的数据分布
首先,探索了不受限制的采样,输出非常多样化但是有时候不一定很多样化
其次,限制最可能的词,在每一个decode步骤,从输出分布中选择k个最有可能的tokens,归一化,然后进行sample。
其次,在beam search加入噪声。在source sentence以三种方式加入噪声:1. 删除概率小于1的单词2. 用概率为0.1的token替换单词3. 交换单词,随机排列,从均匀分布中抽取,交换token不超过3个
Model and hyperparameters
这个不重要,基线一样就行。transformer big
Results
生成方法对比
分别加入不同量的合成数据进行测试,训练步数也随着合成数据而增加,sampling和beam + noise的效果比较好。top10比原始的beam和greedy效果好。
生成方法分析
为什么sampling和beam noise要比pure MAP方法要好。
beam search和argmax只寻求最有可能的输出,结果缺乏多样性,丰富性。而sampling可以近似数据的分布,产生更加多样性的结果,并且为source sentence加入了部分噪音,可能会帮助训练。
比较了每种方法在训练数据上的损失,并且区分合成数据和真实文本数据。
上图说明,greedy beam与beam noise,sampling,top10相比更容易训练。
除了抽样,发现训练数据上的困惑与终端模型的准确性有一定的相关性。并且除了抽样以外的所有方法都比真实文本的损失更低
为什么sampling和noise可以提供更强的训练信号,推测:采样和噪声 argmax 都将模型暴露在更广泛的源语句中,这使得模型对自然发生的重新排序和替换更加鲁棒,即使通过噪声重新排序和替换的模型不是很现实。
同时上面可以观察到beam noise和sampling的,因为抽样有时会选择非常不可能的输出,很难拟合。
使用真实文本训练出来的语言模型在不同数据下的困惑度。beam的困惑度是最低的,所以可能在一定程度上可以解释,beam提供的训练信号弱。
低资源和高资源设置
在低资源的语料下 NON-MAP的方法还是否有效?
当低资源时候,beam的效果较好,而sampling生成噪音数据会对训练造成不好的结果。
领域的合成数据
真实数据和合成数据相比在模型准确率如何? 领域单语数据影响如何?
图a看到,在新闻领域的测试集下,2.56m数据情况,BT-news效果比真实文本的要好。
由于BT数据域和测试集不匹配,BT-news的准确性不如以前。然而,BT-news仍然将基线提高了1.2 BLEU。另一方面,bt - bittext匹配了valid-mixed域,提高了2.7 BLEU。这只比真正的文本低1.3个BLEU,对应于真正的人类文本获得的67%的增益。
bitext上采样
上采样的比率为2,就说明 合成数据量是 真实数据的两倍。
从上图可以看出,Beam和greedy从更高的速率中受益很多,这导致对文本数据进行更多的训练。beam noise和sampling不需要对文本进行上采样,他们的增长很少,这可能是合成数据已经足够难拟合。
大规模上的结果
作者增强了35.7M句子。通过sampling 31M newscrawl 句子。
WMT18
Analyzing Uncertainty in Neural Machine Translation这篇论文指出beam search有时会输出原句子的复制而不是目标的翻译。文章中说:任务本身固有的不确定性同一个语句存在几个语义等价的翻译,数据收集过程引起的伪翻译(spurious artifacts)导致的不确定性(extrinsic 不确定性) 目标语句可能只是源语句的部分翻译,或者目标可能包含源中不存在的信息。
所以作者进行了filter copies,如果源和目标 unigram 之间的 Jaccard 相似度超过 0.5,则输出被视为源副本。 大约 0.5% 的输出被确定为源副本。filter copies之后效果有一点提升。
Oppo在CCMT2020时,发现使用纯beam的效果比sampling的效果好。具体的效果还需要进一步验证。