BART:Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension
主要工作
-
提出了BART (Bidirectional and Auto-Regressive Transformers), 是一种用于自然语言生成、翻译和理解的序列到序列的预训练方法。它通过先用任意噪声函数损坏文本,然后学习一个模型来重构原始文本来进行训练。BART使用标准的基于Transformer的神经机器翻译架构,结合了BERT的双向编码器和GPT的从左到右解码器的特点。
-
研究发现,BART在文本生成任务中表现尤为出色,同时也适用于理解任务。它在GLUE和SQuAD任务中与RoBERTa表现相当,并在一系列抽象的对话、问答和摘要任务中取得了新的最先进结果,显示出高达6 ROUGE的增益。此外,BART还在机器翻译任务中表现出色,比只使用目标语言进行预训练的反向翻译系统提高了1.1 BLEU分。
图 1:BART 与 BERT和的示意性比较。
模型
BART 是一个去噪自编码器,它将受损的文档映射回其来源的原始文档。这个模型以序列到序列的形式实现,具有对受损文本的双向编码器和一个从左到右的自回归解码器。在预训练阶段,我们优化原始文档的负对数似然。
架构
BART 使用了标准的序列到序列变换器(Transformer)架构,但是有所改动。继承自GPT的一个修改是,它将ReLU激活函数替换为GeLUs(Hendrycks & Gimpel, 2016),并且将参数初始化为N(0, 0.02)。在我们的基础模型中,编码器和解码器各使用了6层,而在我们的大型模型中,每个部分各使用了12层。这种架构与BERT使用的架构密切相关,但存在以下差异:(1)解码器的每一层还会对编码器的最后一个隐藏层进行交叉关注(如在Tansformer sequence-to-sequence模型中所做的那样);以及(2)BERT在单词预测前使用了一个额外的前馈网络,而BART没有使用。总体而言,BART比同等大小的BERT模型包含大约多10%的参数。
预训练
BART 通过破坏文档然后优化重建损失来进行训练,重建损失是解码器输出和原始文档之间的交叉熵。不同于现有的针对特定噪声方案定制的去噪自编码器,BART 允许我们应用任何类型的文档破坏方式。在极端情况下,即源信息完全丢失时,BART 相当于一个语言模型。
我们试验了几种先前提出的和新颖的转换方法,但我们认为开发其他新的替代方案仍有重大潜力。我们使用的转换方法在下面进行了总结,示例显示在图2中。
图 2:我们实验的输入噪声的转换。这些变换可以组合起来。
Token Masking(令牌遮蔽)
遵循BERT(Devlin等人,2019年)的方法,随机采样令牌并将其替换为[MASK]元素。
Token Deletion(令牌删除)
从输入中随机删除令牌。与令牌遮蔽不同,模型必须决定哪些位置缺少输入。
Text Infilling(文本填充)
采样一定数量的文本跨度(span),这些跨度的长度根据泊松分布(λ=3)确定。每个跨度被单个[MASK]令牌替换。0长