Improved Zero-shot Neural Machine Translation via Ignoring Spurious Correlations

Improved Zero-shot Neural Machine Translation via Ignoring Spurious Correlations

这是2019ACL的一篇文章,是香港大学和facebook AI实验室合作完成的一篇文章。

文章链接:

Improved Zero-shot Neural Machine Translation via Ignoring Spurious Correlations

技术点

  1. 使用了Decoder预训练和回译。

摘要

Zero-shot translation是指从未在NMT系统中训练过的语言对的翻译。是在多语言环境中训练系统时的紧急属性。但是 zero-shot NMT系统训练很容易失败,并且对超参数设置很敏感。性能通常远远落后于更传统的基于数据透视的方法,后者使用第三种语言作为数据透视进行两次翻译。在这项工作中,我们通过定量分析源和解码语句的语言ID之间的互信息来解决由于捕获虚假相关性而引起的退化问题。受此分析的启发,我们建议使用两种简单但有效的方法:(1)解码器预训练;(2)回译。这些方法在三个具有挑战性的多语言数据集上比zero-shot translation有显著提高(4到22个BLEU点),并且与基于数据透视的方法相比取得了相似或更好的结果。

引言

zero-shot NMT对训练条件很敏感,并且翻译质量通常落后于使用共享语言作为翻译桥梁的基于枢轴的方法。我们首先从数量上表明,zero-shot NMT的退化性问题是捕获数据中虚假相关性的结果。 然后,提出了两种方法来帮助模型忽略这种相关性:语言模型预训练和反向翻译。我们在Europarl的四种语言,IWSLT的五种语言和MultiUN提供的四种语言上验证方法的有效性。我们的实验表明,所提出的方法可显着提高基线 zero-shot NMT性能,并且在某些语言对中比基于轴枢的翻译要好2-3个BLEU点。

Degeneracy Issue of Zero-shot NMT

该部分分析了Zero-shot NMT 为什么落后于基于轴枢的翻译。首先 Zero-shot NMT 对训练条件很敏感。其次是 Zero-shot NMT 捕获数据中虚假相关性。

改善方法

文中提出了两种改善方法:Decoder预训练和回译,回译已经用烂了,但Decoder预训练我还是头一次见。

Language Model Pre-training

第一种方法是在MT训练之前增强解码器语言模型(LM)。译码器语言模型的学习增加了I(j;z)有利于zero-shot translation。一旦模型捕获了引导模型输出所需语言的正确依赖项,那么在标准的NMT训练期间,模型就更有可能忽略虚假的相关性。也就是说,我们将解码器预先训练成多语言语言模型。这表示可以通过在标准NMT训练期间简单地将所有源表示替换为零向量来实施预训练。在Transformer中,这等效于忽略编码器和解码器之间的attention modules 。提出的LM预训练可以被看作是对所有可能的源句进行边缘化的粗略近似,而从经验上我们发现它是有效的。经过几个梯度下降步骤后,预处理模型继续进行MT训练。在这项工作中,我们只考虑在预训练期间使用相同的平行数据。我们总结了利弊如下:

  • 优点:高效(几个LM训练步骤+ NMT训练),不需要额外数据。
  • 缺点:LM预训练目标不一定与NMT目标一致。

j 和 z 之间的互信息 I(j;z) 计算公式为:
在这里插入图片描述

Back-Translation

为了在实现NMT目标的同时应用语言模型训练,我们必须考虑编码器。我们使用反向翻译,尤其是多语言训练。与使用BT进行半监督学习的初衷不同,我们利用BT生成所有 zero-shot 方向的合成并行语句,并在真实和合成语句的合并数据集上从零开始训练多语言模型。这样一来,每种语言都被迫翻译成其他所有语言。因此,I(i; z)从一开始就有效地接近于0,从而防止模型捕获 i 和 z 之间虚假的相关性。

生成合成语料库至少需要一个合理的起点,该起点在zero-shot语言对上进行翻译,可以通过枢轴语言(表示为BTTP)或当前没有BT训练的 zero-shot NMT(表示为BTZS)进行选择。例如,在前面的例子中,为了生成Es-Fr的合成对,给定En-Fr的训练集,BTTP使用一个预先训练的En-Es模型将每一个En句子翻译成Es(在基于数据轴的MT中使用),而BTZS使用预先训练的 zero-shot NMT直接将所有Fr句子翻译成Es。接下来,我们将生成的句子按照反向Es-Fr对,并将它们合并到训练集。在为所有翻译对创建合成语料库之后,应用相同的多语言训练方法。

  • 优点:BT明确避免了虚假相关。同样,通过利用LM预训练增强的 zero-shot NMT模型,BTZS可能会进一步改善。
  • 缺点:BT在计算上更加昂贵,因为我们需要为所有语言对创建合成的平行语料库,以训练K语言的多语言模型。BTTP和BTZS的性能都可能受到预训练模型的质量的影响。
发布了52 篇原创文章 · 获赞 7 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_38937984/article/details/102406585