[文献阅读]—When and Why is Unsupervised Neural Machine Translation Useless?

前言

在这里插入图片描述
论文地址:https://aclanthology.org/2020.eamt-1.5.pdf

前人工作&存在问题

先前的UNMT方法都是在高资源的语言对上评估,没有实际意义。

前人UNMT的主要框架:

  • Initialization:
    • 在单词级别,使用cross-lingual词嵌入初始化;
    • 在句子级别,使用cross-lingual的序列训练初始化的整个encoder-decoder对模型初始化
  • DAE:初始化后,BT之前,模型需要、但缺少reorder(attention层对齐)和generate(decoder生成)的能力。所以一般使用DAE。DAE损失函数的权重随着训练而减小。而目前的一些预训练框架直接对整个encoder-decoder进行预训练,缓解了这一问题。

本文贡献

本文探讨了以下问题:

  • UNMT的单语数量的影响
  • UNMT的语种相似度的影响
  • UNMT的域相似度的影响

具体方法

使用XLM,encoder端移除了language embedding。首先进行pretrain,然后进行UNMT的训练,分为三个情景:

  • 无监督机器翻译(U)
  • 有监督机器翻译(S)
  • 半监督机器翻译(SEMI):在有监督翻译之后,再利用BT,继续训练

具体实验

U vs S vs SEMI

如图1所示,结论如下:

  • de< - >en和ru < - >en中的source和target更为相似,UNMT能训练,其它三个语言对在字母表、词形学、词序上有很大差异,UNMT差;
  • SEMI使用了少量的bilingual就能超过U;

在这里插入图片描述

图1 U vs S vs SEMI

对于UNMT而言,单语语料的规格需要多大才有效?

如图2所示,结论如下:

  • UNMT只需要20M左右的单语就能达到比较好的结果,更大的单语用处不大
  • 因为de-en比起ru-en更为相似,所以单语的数量没有语言的相似重要

在这里插入图片描述

图2 UNMT的单语语料规格

如果两端单语数量很不平衡,有什么影响?

如图3所示,实线是控制target端数量为20M,然后不断增大source端的数据量,并使用oversample来解决不平衡。得到结论如下:

  • 一端单语数据的极端多不会带来好处
    图2 单语语料
图3 不平衡

如果两端单语来自不同的域,有什么影响?(单语语料不像双语语料,source和target的单语语料往往属于不同的域。)

如图4所示,结论如下:

  • domain mismatch影响很大
    在这里插入图片描述
图4 不同域(来源)

如图5所示,结论如下:

  • 计算数据量很大,但来自不同的年份,依然比不过来自相同年份,数据量很小的情形,进一步说明domain mismatch影响很大

在这里插入图片描述

图5 不同域(年份)

初始化重要,还是UNMT的训练重要?

如图6所示,结论如下:

  • 在一个坏的初始化下(init 10K),UNMT使用再多的单语数据性能也不好;相反情况下,UNMT只需要使用1M的单语数据,就已经可以基本达到最好的结果。

在这里插入图片描述

图6 初始化 vs UNMT training

定性样例(qualitative example)分析

如图7所示,主要暴露了以下问题:

  • 复制问题:文章把它归结于encoder没有完成很好的跨语言建模,使得decoder认出了encoder端语言的语种,然后翻译出了相同的语种,甚至是copy过来了。理想的情况是: decoder依赖的语种信息完全来自于decoder端的language embedding或者是language specific token等信息。文中的一个改进方法是: 移除了encoder端的language embedding。当然复制问题还可能来源于:1. 差的初始化;2. DAE,因为DAE本身是让decoder去生成和encoder相同语种的句子
  • 词义误识别问题:模型识别出了vier是一个数字(four),但翻译成了eight。可用subword modeling\orthographic features等方法来解决。(?)

在这里插入图片描述

图7 样例分析 training

心得总结

  • 大规模单语数量不会带来很大的增益,相反,语种更加相似、域更加适应、好的预训练初始化,效果更加明显。
  • 在有少量bilingual语言的情况下,优先使用SEMI。
  • 接下来的研究方向:
    • 探索更好的预训练初始化方式,理想情况是,模型对语种、域不可知(agnostic);
    • 探索更好的UNMT训练方式:差的预训练初始化方法会使得BT出的样本具有很大的噪声,试着过滤掉差的样本

猜你喜欢

转载自blog.csdn.net/jokerxsy/article/details/121464077