超级小白要开始看论文了!就写一写笔记吧毕竟英文的看一遍好像是啥也记不住感觉头都要秃了~
论文:Multilingual Denoising Pre-training for Neural Machine Translation
摘要
本文提出mBART:一个seq2seq的去噪自动编码器,使用了BART目标对多种语言的大规模单语语料库进行预训练。
之前的方法都是仅仅集中于编码器,解码器或者重新组织部分文本,mBART是第一个用于与训练整个seq2srq模型的方法。
1.Introduction
mBART:a multilingual sequence-to-sequence (Seq2Seq) denoising auto-encoder.
mBART的训练方式:将BART应用于跨多种语言的大规模单语预料库。不同于其他的机器翻译预训练方法,mBART预训练一个完整的自回seq2seq模型。
本文的实验证明这个方法的实际效果很好,尤其是在低资源/中资源的翻译任务中的结果取得了较高的提升,同时不损害在高资源翻译任务中的表现。另外,本论文展示了mBART支持跨语言对的新迁移类型。
2.多语种去噪预训练
2.1数据:CC25 Corpus
数据集 本实验在25种语言上进行了预训练,这些数据(下称CC25)提取自Common Crawl (CC) corpus。CC25包含不同的语言族和不同数量的文本。为了重新均衡语料库,对于每种语言i,按照比例λi进行采样:
其中,pi是CC25中每种语言的占比,本实验中令平滑参数α=0.7。
预处理 本实验使用句子模型SPM对完整的CC数据进行标记,包括250,000个子单词标记(虽然不是所有的语言都用于预训练)。除此之外不进行额外的预处理。
2.2模型:mBART
本模型遵循BART Seq2Seq预训练计划,尽管BART只是预先接受过英语训练,但是本实验系统地研究了预先训练对不同语言组的影响。
结构 本实验采取标准Seq2Seq变压器结构,含12层编码器和12层解码器,模型维度为1024。在编码器和解码器的基础上增加了一层标准化层,该层的稳定训练精度达到FP16。
学习 本实验的训练数据包含K种语言:D = {D1, . . . , DK},Di指语言i的单语文档集合。
g:噪声函数
X:原始文本,是语言i种的一个实例
p:是由Seq2Seq模型定义的
目标:最大化Lθ
噪声函数 本实验在g种使用了两种类型的噪声。首先删除文本种的空格,并用掩码标记它们。
在每个实例中,根据泊松分布随机抽样一个跨度长度来掩盖35%的单词,并且在每个实例中改变句子的顺序。
实例格式 对于一个批处理的每个实例,取样一个语言id符号,然后从相应的语料库中尽可能多地抽取连续的句子,知道它到达文档边界或达到最大长度(512)。实例中的句子由句尾标记分隔。然后,附加选定的来标记这个实例的结束。
优化 本实验的完整模型(含25种语言)是在256个Nvidia V100 GPU(32GB)上训练的,共500K步,每个GPU的总批量大小约为128K个标记,与BART配置相匹配。
使用Adam优化器()和线性学习率衰减调度。总训练时间约为2.5周。
可复现性 该方法的一个潜在问题是由于需要大量的单语语料和计算资源,在训练前对超级参进行细粒度选择而产生的可复现性问题。如果再次对系统进行训练,可能会得到稍微不同的微调性能。为了处理这一问题,作者发布了预训练的检查点,以及带有完整说明的代码,用以预训练一个新的模型。
2.3 预训练模型
为了更好地衡量预训练期间不同的多语言程度的效果,本实验建立了以下一系列模型:
mBART25 使用在2.2节种描述的设置,在全部25种语言上预训练了模型。
mBART06 为了探索预训练对相关语言的影响,本实验对六种欧洲语言的子集进行了预训练:Ro, It, Cs, Fr, Es, and En。为了比较的公平性,使用了mBART批量大小的四分之一,这使得该模型在预训练种每种语言都有相同数量的更新。
mBART02 预训练双语模型,使用英语和其他一种语言的语言对:En-De, En-Ro, En-It。批量大小大约为mBART25的1/12。
BART-En/Ro 为了建立对多语预训练的理解,本实验还分别在En和Ro语料库上训练了单语BART模型。
Random 作为额外的基线,本实验还包括一个比较模型。该模型在未经预训练的情况下随机初始化,用于每个翻译任务。
2.4 扩大规模
扩大训练数据和模型参数事预训练的一个关键因素。与传统的半监督方法(如反向翻译)和其他针对机器翻译的预训练相比,本实验对mBART进行了更多的单语数据和相对更深层次的架构的预训练。
3.句子级机器翻译
本节显示,mBART 预训练在中低资源句子级别的机器翻译设置中提供了一致的性能增益,包括双文本和反向翻译,并且优于其他现有的预训练方案。
3.1实验设置
数据集 收集了24对公开可用的并行语料库,涵盖CC25中的所有语言。将数据集划分为三类: 低资源(< 1M 句子对)、中资源(> 1M 和 < 10M)和高资源(> 10M)。
微调及解码
3.2主要结果
如图所示,与随机初始化的基线相比,使用预训练的mBART权重初始化对所有中低资源语言对的翻译效果有明显的提高。但是在高资源案例中没有观察到连续的提升,甚至在平行语句的大小超过25M时会产生反作用。
添加反向翻译(BT) 将预训练与BT结合,结果如图所示,可以在每次迭代中提高BLEU分数,从而表明预训练的mBART权重可以直接插入到现有的管道使用BT。
与其他预训练方法的比较
3.3分析
应该在多少种语言上进行预训练?
如图所示,在目标语言单语数据有限的情况下,对更多语言的预训练是有帮助的。但是,当单语数据很丰富时,多语言训练会对最终结果有轻微的损害。
预训练需要多少步?
如图所示,在没有预训练的情况下,模型表现比基线差得多;
经过25K步(训练的5%)两种模型就都超过了基线;
在500K步之后仍然没有完全收敛。
需要多少双语文本?
预训练模型仅用10k训练样本就可以达到20个BLEU以上,而基线系统得分为0。
两种模型的性能都会随着语料库的增加而提升,预训练模型始终优于基线模型,但是差距在减小,特别是在10M句子对之后。
3.4泛化到没有预训练的语言
这一部分展示了mBART可以提高那些没有出现在预训练语料库中的语言的翻译性能,这表明预训练语言具有通用性。
实验设置
语言对:Nl-En,Ar-En,De-Nl
模型: mBART25,mBART06,mBART02 (EnRo)
结果
如图所示,En-Ro翻译有很大好处,即使是对于关系较远的语言。最好的结果是包含两种测试语言的预训练,也就是两种测试语言都可见的预训练。
4.文档级机器翻译
这部分证明文档级别的预训练可以显著提高文档级的翻译效果。
4.1实验设置
数据集 两个文档级机器翻译数据集:WMT19 En-De 和 TED15 Zh-En。
预处理 与之前预训练的预处理方式相同。对于每个块,句子由符号分隔,整个实例以特定的语言id()结束,平均来看,文档被划分为2-4个实例。
微调及解码 微调方案与句子级翻译相同。解码时,只需将源语句打包成块,然后自回归地翻译每个块。
基线与评估 本实验训练了四个模型:文档级MT模型和相应的句子级MT模型(基线),都包括预训练和未预训练。
另外还与针对Zh-En的层次注意网络进行了对比,也是针对这一语言对的文档级翻译的最先进非预训练方法,它把两层注意力结合起来:首先是句子内部注意力,然后是跨句子注意力。
4.2主要结果
随机初始化与预训练对比
对于句子级和文档级的训练,用预训练的权值初始化的MT模型比随机初始化的模型有更大的优势。
句子级MT与文档级MT的对比
对于En-De和En-Zh来说,mBART25 文档级MT模型要优于mBART25在句子级上的微调表现更好。如图是一个抽样示例。
5.无监督机器翻译
除了有监督的翻译,本实验还评估了该模型在没有双文本可用的目标语言对条件下的效果。定义以下三种类型的无监督翻译:
(1)没有任何类型的双文本。常见解决方案是从反向翻译中学习。
(2)目标对没有双文本,但是两种语言都与其他对一起出现在双文本语料库中。
(3)目标对没有双文本可用,但有双文本可用于将其他语言翻译成目标语言。
5.1基于反向翻译的无监督机器翻译
数据集 En-De,En-NE,En-Si,使用与3.1节相同的测试集。
学习 利用mBART权重初始化翻译模型,然后根据动态BT生成的源语句学习预测单语句。此外,约束mBART只在运行BT的前1000个步骤中在目标语言中生成标记,以避免它复制源文本。
结果
如图所示,mBART模型在所有方向上都比未经过训练的模型获得更好的效果,并且在现有方法完全失效的情况下,对于不同的配对(En-Ne,En-Si),mBART模型的性能明显优于XML。
5.2基于语言转换的无监督机器翻译
这部分显示了目标语言与其他源语言以双文本形式出现时的结果。
数据集
只考虑X->En的翻译,从3.1节中选择12个语言对的双文本,包括印度语言(Ne, Hi, Si, Gu)、欧洲语言(Ro, It, Cs, Nl)、东亚语言(Zh, Ja, Ko)和阿拉伯语(Ar)。
结果
预训练的mBART25模型对每个语言对进行微调,然后对其余的语言进行评估,如图所示。在某些情况下,可以得到与监督翻译相似(Cs-En)甚至更好(Ne-En,Gu-En)的结果。
下图是一个语言转换的例子。
作为比较,本实验也对没有预训练的随机初始化模型应用了同样的方法,结果总是≈0BLEU。这表明,多语预训练至关重要,这会产生跨语种的通用表示,因此,一旦模型学会将一种语言翻译成En,它就学会以类似表示方式翻译所有语言。
语言转换在什么时候有用?
上表还显示,转换效应的大小随不同语言的相似性而变化。对于大多数配对来说,当微调也是在同一语系中进行时,语言转换效果最好。
与反向翻译的对比
上图比较了带有反向翻译的无监督机器翻译和语言转换的对比。当转换的两种语言关系紧密时,语言转换的效果更好。此外还展示了将这两种记述结合起来的效果,在所有配对中都有所提升。
6.相关工作
累了
7.Conclusion
本论文证明,多语言去噪再训练能够显著改善有监督和无监督的机器翻译在句子和文档级别的翻译效果。并分析了什么时候以及如何进行预训练是最有效的,并且可以与其他方法(比如反向翻译)结合。实验还显示了多语预训练学习的迁移学习能力。
(刚刚开始学习,个别术语的翻译拿不准,如果以后发现了一定回来改。)