1)输入文本经掩码操作后由编码器(Encoder)映射为隐空间中的语义向量;而后解码器(Decoder)借助语义向量将另一段独立掩码的输入文本还原为原始的输入文本
2)编码器的掩码率为15%-30%;解码器的掩码率为50%-70%
3)Encoder是完整的BERT(12层,768隐层维度,CLS代表句子向量)。Decoder只有单层transformer,由于掩码率很高,会使得解码变得具有挑战性,可以迫使(decoder or encoder ?)生成高质量的句子嵌入,以便可以以良好的保真度恢复原始输入。
现有的sentence embedding方法可分为基于自对比学习(SCL)和基于自编码(AE)两种。基于SCL的方法依赖于数据增强,例如逆完形任务(ICT),其中为每个目标句子生成正样本。然后,通过对比学习学习语言模型来区分正样本和负样本。然而,自对比学习通常需要大量的负样本,这在计算上是昂贵的。此外,预训练效果会受到数据增强质量的严重制约。基于AE的方法不受这些限制,通过学习语言模型来基于句子嵌入来重构输入句子。
自回归从整个输入令牌中提取训练损失,MLM只从掩码位置学习,占输入令牌的15%。我们对decoder的要求很高,因为它将encoder完全捕获有关输入的语义,以确保重建质量。
Enhanced Decoding
1)从输入的句子中得到更多的训练信号,
2)根据不同的上下文执行重建任务。
提出two-stream self-attention 和 position-specific attention mask。
M掩码率很高,同时可以利用除了特殊tokens之外的所有tokens来训练模型,因此训练语料的利用率很高。
参考
https://zhuanlan.zhihu.com/p/651017743
https://github.com/staoxiao/RetroMAE