向预训练进一步:掩码式非自回归模型训练

论文标题:

Jointly Masked Sequence-to-Sequence Model for Non-Autoregressive Neural Machine Translation

论文作者:

Junliang Guo, Linli Xu, Enhong Chen

论文链接:

https://www.aclweb.org/anthology/2020.acl-main.36.pdf

代码链接:

https://github.com/lemmonation/jm-nat

收录情况:

Accepted by ACL 2020


预训练模型大规模使用掩码自监督完成训练,基于上下文预测被掩码的词;而非自回归模型在预测时也是基于上下文一次性预测多个词,这二者有微妙的联系。

本文提出在序列到序列的非自回归模型上进行掩码训练,在编码端和解码端联合训练,进而更加全面地增强非自回归模型的效果。更加重要的是,这种方法为简洁、有效的非自回归模型预训练方法提供了思路。

掩码训练与非自回归

在过去的文章中,我们介绍了许多关于掩码自监督训练的论文、方法,也介绍了很多先进的非自回归模型,前者是先进生产力的代表,后者是一个潜在的发展潮流。但是有没有思考过,这二者之间似乎隐约存在着一些关系。

非自回归模型是接受源句子 ,一次性预测目标句子(的一部分) 。假设我们知道了目标句子的一部分 ,要去预测剩下的一部分 ,其中满足,那就是求下述概率:

另一方面,我们又知道,类似BERT的掩码预训练目标是:

显然,这二者显然存在着联系。到这里,读者可能会想直接把BERT的掩码预训练移植到非自回归上,但是,它们之间有着本质的区别, 在BERT中是已知的,但在序列到序列模型中是未知的!

也就是说,在非自回归模型中,我们想要基于 去预测其他词,也就是说我们要提前知道它,然而, 本身又是需要预测的,这就形成了一个矛盾!

那么,有没有什么办法可以在一定程度上解决这个问题呢?我们就可以用MASK-PREDICT(MP)的方法。MP是迭代地进行上述操作,每次预测一部分,掩码掉概率较低的部分。本文也是基于MP实现的。

基于MP,我们就可以非常愉快地把掩码训练嫁接到非自回归模型上了,这也是本文提出的方法。此外,为了进一步缓解非自回归模型重复生成的问题,本文还提出了n-gram损失,我们将在下面详细介绍。

总的来说,本文的贡献有:

  • 在非自回归模型上应用掩码训练,并提出n-gram损失函数增强模型解码能力;

  • 在三个翻译数据集上实现了很好的效果,在没有预训练的情况下已经逼近自回归模型的表现。

注意,尽管上面我们解释了非自回归模型和掩码预训练的联系,但是本文并没有研究如何基于掩码训练的策略去预训练非自回归模型。

在笔者看来,我们完全可以通过某种策略去预训练非自回归模型解码端(比如将解码端分为两部分,下部分使用单语语料预训练,上部分融入编码端特征),而其中的关键就在于掩码!这也是本文强调“非自回归预训练”的原因。

方法

下图是本文所提出方法的概览,核心是类似BERT的掩码训练。在编码端和解码端同时进行掩码训练,从而期望增强非自回归模型编码、解码的能力。

首先是编码端的掩码,这就和BERT是一致的,不再赘述,我们把此损失函数记为:

其次是解码端的掩码,本质上和BERT也是一样的,不同的是,在推理的时候,我们并不是每次都能看到所有的上下文(因为模型不能一次预测完所有的词),所以这也是本文推理使用MP的原因。

然而在训练的时候,我们却可以忽略这一点,也就是我们能看到整个目标句子。所以,训练的时候,解码端的目标就是:

注意此处 是连续的n-gram,这是为了和下面的n-gram损失相匹配。

我们知道非自回归模型的一大问题就是重复生成,那么n-gram损失就可以缓解这个问题。

具体来说,假设我们掩码的n-gram是 ,它在目标句子中出现的次数记为 ,那么,n-gram损失就是让模型去预测这个次数:

上式鼓励 中模型正确预测每个n-gram整体。这个损失和bag-of-ngrams类似。

综上,总的损失就是:

在推理的时候,只需要按照Mask-Predict的步骤去做就好了。

实验

本文在数据集IWSLT14 German-English、WMT16 English-Romanian 和 WMT14 English-German上实验, IWSLT14 De-En 用 small Transformer,其他两个用base模型。其他实验设置详见原文。下表是主要的实验结果:

可以看到,本文的方法超过了其他非自回归模型,和自回归模型相比,已经比较接近了。

在推理速度上,由于采用MP的迭代式方式,故相比one-pass模型较慢,但是也远远快于自回归模型。

下面来看重复生成。我们计算平均重复词的个数,结果如下表所示。可以看到,本文的方法有更少的重复词。

下面再来看看各个损失的影响,如下表所示:

可以看到,这些损失和掩码策略还是有比较大的影响的,这也从侧面印证了掩码训练和非自回归模型之间存在的关联性。

小结

本文提出MJ-NAT,一种基于掩码训练的非自回归模型,核心在于使用类似BERT掩码预训练的方式,使用Mask-Predict进行推理,可以在多个数据集上取得显著的效果。

笔者认为,基于掩码训练的方式还可以在非自回归模型上大有作为,尤其是在预训练方面。

思考

  • 你认为掩码训练的方式可以用于非自回归模型的预训练吗?是采用平行语料预训练还是单语语料预训练?请读者进行思考。

  • 过去的序列到序列模型预训练,如MASS,都是掩码n-gram然后在解码端去预测它,思考非自回归模型需要掩码n-gram吗?如果不需要,为什么?

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页