Pretrained Language Models for Document-Level Neural Machine Translation. Liangyou Li, Xin Jiang, Qun Liu. ArXiv. [PDF]
动机
现有篇章翻译工作大都只能有限的上下文(前面3句话),当利用更长上下文时,由于训练不稳定模型效果反而下降。理论上来说更长的上下文可以提供更多信息,更有助于翻译。本文就是希望能够在篇章翻译中利用更长的上下文。
方法
BERT初始化
现有有些篇章翻译工作先利用大量平行句对预训练(有些只有利用篇章语料的平行句对预训练),然后再利用平行篇章语料微调。本文不再使用平行句对预训练,而是使用别人训练好的BERT来初始化模型参数。(BERT是在大量单语篇章语料上训练得到的)
利用上下文
本文使用的上下文为前面512个词。将上下文和当前句子拼接起来,中间有个分隔符,但是如果直接使用Encoder对拼接后的句子进行编码,生成的译文反而更差(训练不稳定)。
本文提出了三个改进方法:
Segment Embeddings:
用来标记每个词是属于当前要翻译句子,还是属于上下文。Reverse Position Embeddings:
先对当前要翻译句子进行编号,再对上下文进行编号。Context Masks:
经过编码器后,当前句子已经包含了上下文信息,对上下文的隐状态加 mask,使得解码器更加关注当前句子。(不加mask,训练不稳定)
多任务
本文引入了Mask Language Model
X: 源端当前句子
C: 源端上下文
Y: 目标端当前句子
S: X 和 C 的拼接
实验
可以训12层encoder还是比较 NB 的。
我认为作者可以补充一个只加BERT的实验结果。