Press "Enter" to skip to content

Bart: Seq2Seq预训练模型

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

Overall

 

Transformer最早出来是为了解决机器翻译问题,因而Transformer模型分为两部分,Encoder和Decoder。Bert模型使用了Encoder部分,而GPT模型使用了Decoder部分,分别得到了很好的预训练模型。

 

而本文所解说的Bart,则返本溯源,重新拾起了Encoder-Decoder并用的结构,即seq2seq结构

 

Bart预训练模式

 

Bert,GPT和Bart的对比如下,可以看到,Bart是在Encoder中输入被损坏的句子,然后在Decoder中去还原。这样做的好处在于相对于Bert中单一的数据损坏方式,Bart更灵活。

 

 

Bart的数据处理方式

 

在Bert中,数据是按照15%的概率采样出来替换成特殊标记[MASK],当然,里面还有一个8:1:1的分配,在这里就不细说了,感兴趣可以去Bert那一篇细看。

 

而在Bart中,数据的处理就多种多样了。如下,可以是类似Bert的Mask方式,可以是删除,可以是颠倒顺序,可以是多个词语替换为一个[MASK]。

 

 

其中,词语删除和多个词语替换为一个[MASK]等方式会改变句子的长度,这点是Bert做不到的。

 

这样的数据复原方式,使得Bart会在生成问题上很有优势,实验也表明了这点,另外,Bart可以在判别任务上也达到和Roberta相近的结果。

 

实验

 

在GLUE数据集上的结果如下,Bart可以达到和Roberta相近的结果。

 

 

在Summarization数据集上的结果如下:

 

 

在Abstractive QA上的结果如下:

 

 

可以看到,Bart这种方式在生成问题上效果很好。

 

参考文献

 

[1]. Lewis, Mike, et al. “: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension.” arXiv preprint arXiv:1910.13461 (2019).

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注