《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.预测他们对应的翻译候选。

方法


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

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实验结果,以及消融实验。该文对实验的分析还是很丰富,在此不一一列举和分析。

结论

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

个人一些理解

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

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

  1. face - Phrase-Based Neural Unsupervised Machine Translation

    无监督神经机器翻译三 Phrase-Based & Neural Unsupervised Machine Translation 技术点 主要思想 整体流程 设计细节 神经机器翻译 初始化 ...

  2. FasterMoE:Modeling and Optimizing Training of Large-Scale Dynamic Pre-Trained Models阅读笔记

    FasterMoE:Modeling and Optimizing Training of Large-Scale Dynamic Pre-Trained Models FasterMoE阅读笔记 b ...

  3. 文献阅读笔记:Unsupervised Machine Translation Using Monolingual Corpora Only

    文章目录 0. 背景 0.1 摘要 1. 介绍 2. 无监督神经机器翻译 2.1 神经机器翻译模型 2.2 模型概述 2.3 降噪自编码 2.4 跨域训练 2.5 对抗训练 3. 训练 3.1 迭代训 ...

  4. 低光图像增强论文:Self-supervised Image Enhancement Network: Training with Low Light Images Only阅读笔记

    论文地址:https://arxiv.org/abs/2002.11300 项目地址:https://github.com/hitzhangyu/Self-supervised-Image-Enhan ...

  5. Survey of Low-Resource Machine Translation阅读笔记

    文章目录 1 Introduction 2 Data Sources 2.1 Searching Existing Data Sources 2.2 Web-crawling for Parallel ...

  6. [持续更新] 神经机器翻译论文汇总 Papers on Neural Machine Translation

    [持续更新] 神经机器翻译论文汇总 Papers on Neural Machine Translation 源文地址 :http://polarlion.github.io/nmt/2017/02/ ...

  7. 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction

    台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

    台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

  9. Bridging the Gap between Training and Inference for Neural Machine Translation翻译

    Bridging the Gap between Training and Inference for Neural Machine Translation 翻译 原文链接:https://arxiv ...

最新文章

  1. 系统一定要做成中台吗?
  2. Vue底层实现原理概述
  3. Curl中的参数知多少
  4. vscode 在标签的src引入别名路径_从零开始 - VSCode 插件运行机制
  5. 对于Dubbo一些自己的答案
  6. 90 % 的 Python 开发者不知道的描述符应用
  7. 理解Unix/Linux系统中的文件描述符
  8. 数据挖掘的办法有哪些
  9. 无聊特意去拍月亮。呵呵
  10. 利用vCard实现电子名片扫码将个人信息保存到通讯录
  11. 西门子PLC程序调试方法
  12. GIS空间分析之Clip
  13. Nginx配置文件目录实现pdf文件预览及下载
  14. 得力打印机(DL888D型号)Linux对接——Java+C版
  15. 【数据架构系列-02】从《数据中台能力成熟度模型》的发布,聊聊火了的中台
  16. Matlab R2012b 重复激活,License 失效问题解决
  17. Unity自定义材质自发光烘焙设置工具
  18. js获取用户选择的文件路径[曲线救国]
  19. python3之Scrapy+Selenium切换iframe抓取网易云音乐排行榜
  20. 14 EXCEL仪表盘制作1

热门文章

  1. VINS技术路线与代码详解
  2. FLAG_SECURE:安卓无法抓取页面截屏
  3. UIImage加载内存性能比较
  4. STM32-uasrt发送0X01给上位机,上位机接收到的字符串为0XFC
  5. 如何卸载阿里云盾(安骑士)和腾讯云镜的监控?你对这件事一定很感兴趣!
  6. 加拿大魁北克投资移民申请费用一览表
  7. 开源APP CoCoin
  8. vue引入音乐播放器插件
  9. 西门子PLC200smart (一)
  10. SpringBoot @ConditionalOnBean、@ConditionalOnMissingBean注解源码分析与示例