BART: Denoising Sequence-to-Sequence Pre-training翻译

摘要

我们介绍了BART,一种用于预训练序列到序列模型的去噪自编码器。通过(1)使用任意噪声函数来对文本进行加噪,并(2)学习模型以重建原始文本来训练BART。它使用基于标准Tranformer的神经机器翻译架构,尽管它很简单,但可以看作是BERT(由于双向编码器),GPT(具有从左至右解码器)以及许多其他最近的预训练方案的扩展。我们评估了多种加噪方法,发现通过随机改变原始句子的排列顺序并使用新的填充方案(其中文本段被单个mask标记替换)能获得最佳性能。当针对文本生成进行微调时,BART特别有效,并且对于理解任务也很有效。在使用可比较的GLUE和SQuAD资源训练时,它与RoBERTa的性能相匹配,并在一系列对话生成,问答和摘要任务方面取得了最好的成果,且获得了多达6 ROUGE的收益。与机器翻译的反向翻译系统相比,仅对目标语言进行了预训练,BART还提供了1.1 BLEU的提升。我们还报告了在BART框架内使用其他预训练方案的消融实验,以更好地衡量哪些因素最能影响下游任务性能。

1.介绍

在这里插入图片描述
  自监督方法在各种NLP任务中均取得了显著成功。最成功的方法是屏蔽语言模型的变体,该模型对自编码器进行去噪处理,这些自编码器经过训练可以重建文本,其中单词的随机子集已被屏蔽。最近的工作显示出通过改善屏蔽字符的分布,预测屏蔽字符的顺序以及替换屏蔽字符的可用上下文可以获得较大的收益。但是,这些方法通常专注于特定类型的下游任务(例如,跨度预测,生成等),从而限制了它们的适用性
  在本文中,我们提出了BART,它可以预先训练一个结合了双向和自回归的transformer模型。BART是一种采用序列到序列模型构建的去噪自编码器,适用于非常广泛的下游任务。预训练有两个阶段(1)使用任意的噪声函数对文本进行加噪,以及(2)学习序列到序列模型以重建原始文本。BART使用基于Tranformer的标准神经机器翻译结构,尽管它很简单,但可以看作是对BERT(由于双向编码器),GPT(从左至右解码器)以及许多其他最近的预训练方案的扩展(请参见图1)。
  这种设置的主要优点是噪声的灵活性。可以将任意加噪方式应用于原始文本,包括更改其长度。我们评估了多种加噪方法,发现通过随机改变原始句子的顺序并使用新的填充方案(其中任意长度的文本跨度(包括零长度)被单个mask标记替换)能获得最佳性能。这种方法通过强制模型对更复杂句子结构进行推理,并对输入进行更长的范围转换,从而扩展了BERT中的原始单词屏蔽和下一句预测目标
  当对文本生成进行微调时,BART特别有效,同时对于理解任务也很有效。在使用可比较的GLUE和SQuAD资源训练时,它与RoBERTa的性能相匹配,并在一系列对话生成,问答和摘要任务方面取得了最好的成果,且获得了多达6 ROUGE的收益。
  BART还开辟了关于微调的新思路。我们提出了一种新的机器翻译方案,其中BART模型堆叠在其他几个transformer层之上。这些层经过训练将外语本质上翻译为具有噪声的英语,然后通过BART进行传播,从而将BART作为预训练的目标端语言模型。在WMT Romanian-English基准中,此方法在强大的反向翻译MT基准上将性能提高了1.1 BLEU。
  为了更好地理解这些影响,我们还报告了一种消融分析,该分析可使用其他最近提出的训练目标。这项研究使我们能够谨慎地控制许多因素,包括数据和优化参数,这些因素对于最终性能与选择训练目标同样重要。我们发现,在我们考虑的所有任务中,BART表现出最稳定的性能。

2.模型

BART是一种去噪自编码器,可将具有噪声的文档映射到原始文档。它被实现为序列到序列模型,该模型包含在具有噪声的文本上进行双向编码的编码器,以及从左至右的自回归解码器。对于预训练,我们主要优化原始文档的负对数似然。

2.1 结构

BART使用(Vaswani et al., 2017)中的标准序列到序列transformer架构,并与GPT类似,我们将ReLU激活函数修改为GeLU,并以 N ( 0 , 0.02 ) \mathcal N(0,0.02) N(0,0.02)初始化参数。对于我们的base模型,我们使用6层编码器和解码器,对于我们的big模型,我们则使用12层。BART架构与BERT中使用的架构密切相关,但有以下区别:(1)解码器的每一层还对编码器的最终隐藏层执行自注意力(如在transformer序列到序列模型中一样); (2)BERT在进行单词预测之前使用了一个附加的前馈网络,而BART则没有。总体而言,BART包含的参数比同等大小的BERT模型大约多了10%。

2.2 训练BART

在这里插入图片描述
  对BART的训练是通过对文档加噪,然后优化重构损失(解码器输出与原始文档之间的交叉熵)来进行的。与针对特定加噪方案量身定制的现有去噪自编码器不同,BART允许我们应用任何类型的文档加噪方式。在极端情况下,所有有关源的信息都丢失了,BART相当于一种语言模型。
  我们尝试了几种先前提出的新的加噪方法,但我们相信其他新替代方法具有更大的潜力。下面总结了我们使用的加噪方法,图2显示了示例。
  Token Masking。与BERT相似,对随机字符进行采样并替换为[MASK]元素。
  Token Deletion。随机字符将从输入中删除。与字符屏蔽相反,该模型必须确定哪些位置缺少输入。
  Text Infilling。采样了多个文本跨度,跨度的长度来自泊松分布( λ = 3 λ=3 λ=3)。每个跨度都替换为一个[MASK]字符。0长度跨度对应于[MASK]字符的插入。文本填充的灵感来自于SpanBERT,但是SpanBERT采样了来自不同(固定几何)分布的跨度长度,并用完全相同长度的[MASK]字符序列替换了每个跨度。文本填充可以指导模型预测某个跨度中缺少多少字符。
  Sentence Permutation。根据句号将文档分为多个句子,然后将这些句子随机排列。
  Document Rotation。均匀地随机选择一个字符,然后旋转文档,使其从该字符开始。此任务训练模型以识别文档的开始。

3.微调BART

在这里插入图片描述
  BART产生的表示形式可以以多种方式用于下游任务。

3.1 序列分类任务

对于序列分类任务,将相同的输入馈入编码器和解码器,并将最后一个解码器字符的最终隐藏状态馈入新的线性分类器。此方法与BERT中的CLS字符相似;但是,我们时在末尾添加了额外的字符,以使解码器中字符的表示形式可以参与来自完整输入的解码器状态(图3a)。

3.2 字符分类任务

对于字符分类任务,例如SQuAD的答案终点分类,我们将完整文档输入编码器和解码器,并使用解码器的顶部隐藏状态作为每个单词的表示。该表示用于对字符进行分类。

3.3 序列生成任务

由于BART具有自回归解码器,因此可以针对诸如生成式问答和摘要之类的序列生成任务直接进行微调。在这两个任务中,信息都是从输入中复制但受到操纵的,这与去噪预训练目标密切相关。此处,编码器输入是输入序列,解码器自动生成输出。

3.4 机器翻译

我们还将探索使用BART来改进机器翻译解码器以翻译成英语。以前的工作显示可以通过合并预训练的编码器来改进模型,但是在解码器中使用预训练的语言模型的收益受到限制。我们证明,通过添加从bitext学习到的一组新的编码器参数,可以将整个BART模型(编码器和解码器)用作单个预训练解码器进行机器翻译(参见图3b)
  更准确地说,我们将BART的编码器嵌入层替换为新的随机初始化的编码器。该模型是端到端训练的,它训练了新的编码器以将其他语言的词映射到输入中,BART可以将其去噪为英语。新的编码器可以使用与原始BART模型不同的词表。
  我们分两步训练源编码器,在两种情况下都从BART模型的输出反向传播交叉熵损失。第一步,我们冻结大多数BART参数,仅更新随机初始化的源编码器,BART位置嵌入以及BART编码器第一层的自注意输入投影矩阵。第二步,我们训练所有模型参数进行少量迭代。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值