Explicit Cross-lingual Pre-training for Unsupervised Machine Translation(CMLM阅读笔记)

《Explicit Cross-lingual Pre-training for Unsupervised Machine Translation》是北航的SKLSDE Lab发表于EMNLP 2019一篇论文,主要介绍一种无监督机器翻译的显式跨语言预训练方法。

摘要

在无监督机器翻译中,预训练被证明能够在跨语言场景中建模深层的上下文信息。然而从共享BPE词表空间获得的跨语言信息是意义不明确的以及十分有限的。在本文中,作者提出了一种新的跨语言预训练方法,该方法通过加入明确的跨语言训练信号来实现无监督机器翻译。具体来说,首先计算跨语言的n-gram embeddings,并从中推断出一个n-gram翻译表。利用这些n-gram的翻译对,提出了一种新的预训练模型,称为Cross-lingual Masked Language Model(CMLM),它在输入文本流中随机选择源语的n-grams,并在每个时间步预测它们的翻译候选。实验表明,该方法可以将有用的跨语言信息融入到预先训练的模型中。最后利用预先训练好的CMLM模型作为编码器和解码器,显著提高了无监督机器翻译的性能。
该项目的代码也开源出来了:https://github.com/Imagist-Shuo/CMLM

前言

无监督机器翻译近年来已成为一个新兴的研究领域。常见的无监督机器翻译框架首先建立了两个初始翻译模型(source to target 和 target to source),然后进行迭代Back Translation。所以初始化这一过程对于最终的翻译表现很关键。
先前的方法大多数受益于跨语言的n-gram embeddings,但最近的研究证明,通过跨语言的语言模型预训练来建立初始的无监督机器翻译模型可能是一种更有效的方法。但是,在他们的方法中,跨语言的信息主要是通过预训练时共享BPE空间获得的,这是意义不明确并且有限制性的。主要有两点原因:

  1. 首先,虽然来自不同语言的相同BPE片段可能共享相同的语义空间,但是不同语言的n-gram或句子的语义信息可能不能正确共享。但是n-gram 等级的跨语言信息对于无监督机器翻译的初始化建模至关重要,这在当前的预培训方法中是不存在的。
  2. BPE共享仅限于共享大部分字母表的语言。对于不是这样的语言对,上面的预训练方法可能不能提供很多有用的跨语言信息。

然后再复述一下本文的贡献:

  1. 提出了一种新的跨语言预训练方法,将明确的跨语言信息加入到预训练模型中,显著提高了无监督机器翻译的性能。
  2. 引入IBM模型来计算CMLM的step-wise训练损失,打破了在BERT训练中掩盖和预测n-grams必须是相同长度的限制。
  3. 通过提出的预训练方法,产生了强大的上下文感知跨语言表示,这有助于词对齐和跨语言分类任务。

需要了解的一些背景

BERT

BERT (Bidirectional Encoder Representations from Transformers)是一种强大的自然语言处理的预训练方法,微调后打破了许多NLP任务的记录。主要就是用以下两个任务预训练一个深层双向Transformer编码器:1. 被称为Masked Language Model (MLM)采用一种简单方法随机mask掉输入句子一定百分比的tokens,然后用模型预测他们。2.预测两个句子是否相邻。这个任务是为一些需要对两个句子之间的关系建模的任务设计的,比如Question Answering(QA)和Natural Language Inference(NLI)
不了解的同学可以了解一下~
Bert: Pre-training of deepbidirectional transformers for language understanding
知乎大佬详解

XLM

XLM是基于BERT提出了一个跨语言的版本,并在一些跨语言NLP任务上达到了state-of-the-art的性能(跨语言分类、机器翻译和无监督跨语言词嵌入)。XLM主要有两个点:1.第一个是使用BPE的共享词汇表来提供两种语言之间潜在的跨语言信息。2.第二点是一个新提出的训练任务,叫做Translation Language ModelingTLM),它通过将并行语句连接到单个训练文本流来扩展MLM。这样,模型就可以利用平行句对提供的跨语言信息来预测屏蔽标记。
然而,对于无监督机器翻译,由于缺少平行句对,TLM不能使用。
Cross-lingual Language Model Pretraining
一个关于XLM的解读

不同之处

作者提出的预训练方法:1.mask源语n-grams。2.预测他们对应的翻译候选。

方法

Overview
如上图所示,该方法可分为三步:

1. n-gram 翻译词表推断

这一部分讲的就是怎么实现源语与目标语的n-gram互译。换句话说,介绍了如何通过某一语端n-gram的embedding推断另一个语端的n-gram。
作者采用如下公式计算的相似度得分作为n-gram表中x和y之间的翻译概率。对于源语中的每个常见的n-gram,都要检索目标语中的前k个n-gram的翻译候选。
在这里插入图片描述

2. 使用提出的跨语言Mask语言模型进行预训练(CMLM),用于预测随机mask的n-gram的翻译候选词

CMLM在源语输入中按照某个百分比随机选择n-gram mask操作,并利用第一步中预测它们的翻译候选对象。BERT在训练中预测目标短语的困难在于,候选翻译的长度有时与源的n-gram不同。为了处理这个问题,作者引入了IBM Model 2来计算每个时间步的训练损失。该方法打破了在BERT训练过程中mask n-gram和预测n-gram长度必须相同的限制。

3. 利用预训练好的跨语言模型作为神经机翻译模型的编码器和解码器,对翻译模型进行迭代微调

利用上面两步预训练的两种跨语言模型作为翻译模型的编码器和解码器,作者首先初始化建立了一个无监督神经机翻译模型,然后用单语数据通过去噪自动编码器和迭代反向翻译训练模型,直到收敛。需要注意的是,作者对n-gram翻译表进行另一次迭代更新。具体来说,作者利用最新训练好的翻译模型翻译单语句子,并运行GIZA++对最新生成的并行伪数据提取更新的n-gram翻译对。这些n-gram翻译对用于优化编码器(第二步)。

实验

在此只列举Overall实验结果,以及消融实验。该文对实验的分析还是很丰富,在此不一一列举和分析。
Overall
在这里插入图片描述

结论

提出了一种无监督机器翻译的显式跨语言预训练方法。该方法利用跨语言Mask语言模型(CMLM)将显式的、强跨语言的信息融合到预训练模型中。在En-Fr、En-De和En-Ro语言对上的实验结果证明了该方法的有效性。

个人一些理解

该文所做的事情就是将BERT的MLM任务从一对一的映射,改进成N对M的映射(引入IBM2模型实现),实现了一种无监督机器翻译的显式跨语言预训练方法。

猜你喜欢

转载自blog.csdn.net/Jayson13/article/details/106281585