文章来源于微信公众号:雨石季
原文链接:请点击
文章仅用于学习交流,如有侵权请联系删除
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. "Bart: Denoising sequence-to-sequence pre-training for natural language generation, translation, and comprehension." arXiv preprint arXiv:1910.13461 (2019).
「华来知识」成立于2017年,孵化于清华大学智能技术与系统国家重点实验室,是一家技术领先的人工智能企业。公司专注于提供新一代人工智能人机交互解决方案,利用自身技术为企业打造由人工智能驱动的知识体系,借此改善人类生活。华来科技将持续为企业客户提供优质服务,助力企业在专业领域的人工智能应用,提供完善可靠高效的产品解决方案。