一、概要
BART(Bidirectional and Auto-Regressive Transformers)模型使用标准的基于Transformer的序列到序列结构,主要区别在于用GeLU(Gaussian Error Linerar Units)激活函数替换了原始结构中的 ReLU,以及参数根据正态分布进行初始化。BART 结合双向的 Transformer 编码器与单向的自回归Transformer解码器,通过对含有噪声的输入文本去噪重构进行预训练,是一种典型的 去噪自编码器 (Denoising autoencoder)。BART模型的基本结构如下图所示。
二、预训练
bart模型引入5种噪声:
1、单词掩码:与bert类似,随机采样一部分单词,并替换为mask。
2、单词删除:随即采样一部分单词删除。
3、句子排列变换:根据句号将输入文本为多个句子,并将句子顺序打乱,为了恢复句子顺序,模型对整段文本语义具备一定的理解能力。
4、文档旋转变换:随机选择输入文本中的一个单词,并旋转文档,使其以该单词作为开始。为了重构原始文本,模型需要从扰乱文本中找到原始文本的开头;
5、文本填充:随机采样多个文本片段,片段长度根据泊松分布(λ=3)进行采样得到。用单个掩码标记替换每个文本片段。当片段长度为0时,意味着插入一个掩码标记。要去除这类噪声,要求模型具有预测缺失文本片段长度的能力。