其他分享
首页 > 其他分享> > BART

BART

作者:互联网

原文链接https://baijiahao.baidu.com/s?id=1666132773787906658&wfr=spider&for=pc

自监督方法在自然语言处理(NLP)任务中取得了显著成功,例如谷歌的BERT(来自transformer的双向编码器表示)从两个方向捕获表示,而Open AI的GPT-2则显示了自回归特性。这两种基于transformer的模型都有各自的特点,BERT能够判别任务(discriminative tasks )但不能生成任务(generative tasks),GPT由于其自回归特性可以生成任务但不可以判别任务。去年,Facebook AI提出了BART,这是一个新的预训练模型,结合了双向transformer和自回归transformer ,可用于文本生成和理解。

介绍

BART是一种采用序列到序列模型构建的降噪自编码器,适用于各种最终任务。它使用基于标准transformer的神经机器翻译架构。BART的预训练包括:

1)使用噪声函数破坏文本;

2)学习序列到序列模型以重建原始文本。

这些预训练步骤的主要优势在于:该模型可以灵活处理原始输入文本,并学会有效地重建文本。

当为文本生成进行微调(fine-tuned)时,BART提供了健壮的性能,并且在理解任务中也能很好地工作。

模型

BART是一种降噪自编码器,可将损坏的文档映射到原始文档。它被实现为序列到序列模型,该模型具有在受损文本上的双向编码器和从左至右的自回归解码器。

架构

BART架构由两个主要组件组成:编码器和解码器。他们使用BERT的编码器组件,该组件用于从两个方向对输入语句进行编码,以获得更多上下文信息。

 

双向编码器:用掩码替换随机Tokens,文档双向编码。丢失的Tokens是独立预测的。

BART使用了来自GPT的解码器组件,该解码器组件用于重构噪声输入。然而,单词只能在leftward上下文使用,所以它不能学习双向互动。

 

自回归解码器:自回归预测的Tokens,这意味着GPT可以用于生成文本。

除了解码器部分使用GeLU激活函数而非ReLU外,BART使用标准的序列到序列transformer架构,参数的初始化是从N(0.0, 0.02)开始的。BART有两种变体,基本模型在编码器和解码器中使用6层,而大型模型则每个使用12层。

 

BART:此处文档已被替换为带有mask符号的文本,从而损坏了文档。使用双向模型对损坏的文档(左)进行编码,然后使用自回归解码器计算原始文档(右)的可能性。

Pre-Training BART

BART的训练方法是先破坏文档,然后使用交叉熵损失(解码器的输出与原始文档之间的交叉熵)通过解码器恢复它们。

有几个技巧可以用来破坏文档。

Token屏蔽:像BERT一样,对随机tokens进行采样并替换为[MASK] token。Token删除:从输入中删除随机tokens。与token屏蔽不同,该模型必须确定哪些位置缺少输入。文本填充:对几个文本范围进行采样,并用一个[MASK] token替换(可以是0长度)。句子排列:根据句号将文档分为句子。这些句子会随机排列。文档Rotation:随机选择一个token,然后对文档进行转换,使其以该token开头。此任务训练模型以识别文档的开始。

Transformations用于对试验的输入进行

Fine-Tuning BART

1.序列分类任务:就像BERT中的[CLS] token出现在编码器的开头一样,BART的[CLS] token位于最后一个解码器的最后一层。

 

2. Token分类任务:将相同的输入馈送到编码器和解码器,并使用来自解码器的最终隐藏表示对tokens进行分类。

3. 序列生成任务:由于BART具有自回归解码器,因此可以直接对它进行微调,以处理诸如抽象问题解答和摘要之类的序列生成任务。在这两个任务中,信息都是从输入中复制出来的,但经过了处理,这与降噪预训练目标密切相关。在此,编码器输入是输入序列,而解码器自动生成输出。

4. 机器翻译:对于机器翻译,将BART的编码器嵌入层替换为新的随机初始化的编码器。然后对模型进行端到端训练。新的编码器可以使用与原始BART模型不同的词汇表。

 

结果

 

在不同的任务中,预训练的表现差异很大Token masking是至关重要的:成功的方法为token删除、masking或者self-attention masks。从左到右的预训练可提高通用性双向编码对于SQuAD至关重要。最重要的是,BART在摘要任务上做得非常出色。以下示例摘要由BART生成。示例取自Wikinews文章。正如您所看到的,模型输出是流利且符合语法的英语。然而,模型输出也是高度抽象的,从输入中复制的短语很少。

 

这些例子表明,BART的预训练已经将自然语言理解和自然语言生成紧密的结合在一起了。

最后

这就是BART,一种学习将损坏的文档映射到原始文档的预训练方法。BART在discriminative任务上的表现与RoBERTa相似。

标签:编码器,BART,模型,解码器,文档,文本
来源: https://blog.csdn.net/yaohaishen/article/details/112462619