Bert改进模型汇总(2)

目录

MASS:Masked Sequence to Sequence Pre-training for Language Generation

UNILM:UNIfied pre-trained Language Model

Unidirectional LM

Bidirectional LM

Seq2Seq LM

Reference


MASS:Masked Sequence to Sequence Pre-training for Language Generation

论文地址 https://arxiv.org/abs/1905.02450

GitHub https://github.com/microsoft/MASS

BERT在自然语言理解(比如情感分类、自然语言推理、命名实体识别、SQuAD阅读理解等)任务中取得了很好的结果,受到了越来越多的关注。然而,在自然语言处理领域,除了自然语言理解任务,还有很多序列到序列的自然语言生成任务,比如机器翻译、文本摘要生成、对话生成、问答、文本风格转换等。在这类任务中,目前主流的方法是编码器-注意力-解码器框架。

编码器(Encoder)将源序列文本X编码成隐藏向量序列,然后解码器(Decoder)通过注意力机制(Attention)抽取编码的隐藏向量序列信息,自回归地生成目标序列文本Y。

专门针对序列到序列的自然语言生成任务,微软亚洲研究院提出了新的预训练方法:屏蔽序列到序列预训练(MASS: Masked Sequence to Sequence Pre-training)。MASS对句子随机屏蔽一个长度为k的连续片段,然后通过编码器-注意力-解码器模型预测生成该片段。
图 1 MASS训练结构

如上图所示,编码器端的第3-6个词被屏蔽掉,然后解码器端只预测这几个连续的词,而屏蔽掉其它词,图中“_”代表被屏蔽的词。
MASS预训练有以下几大优势:

1.解码器端其它词(在编码器端未被屏蔽掉的词)都被屏蔽掉,以鼓励解码器从编码器端提取信息来帮助连续片段的预测,这样能促进编码器-注意力-解码器结构的联合训练;
2.为了给解码器提供更有用的信息,编码器被强制去抽取未被屏蔽掉词的语义,以提升编码器理解源序列文本的能力;
3.让解码器预测连续的序列片段,以提升解码器的语言建模能力。

###统一的预训练框架
MASS有一个重要的超参数k(屏蔽的连续片段长度),通过调整k的大小,MASS能包含BERT中的屏蔽语言模型训练方法以及GPT中标准的语言模型预训练方法,使MASS成为一个通用的预训练框架。

MASS预训练的loss 函数如下:

当k=1时,根据MASS的设定,编码器端屏蔽一个单词,解码器端预测一个单词,如下图所示。解码器端没有任何输入信息,这时MASS和BERT中的屏蔽语言模型的预训练方法等价。

图 2 遮蔽方法,k=1

当k=m(m为序列长度)时,根据MASS的设定,编码器屏蔽所有的单词,解码器预测所有单词,如下图所示,由于编码器端所有词都被屏蔽掉,解码器的注意力机制相当于没有获取到信息,在这种情况下MASS等价于GPT中的标准语言模型。

图 3 遮蔽方法,k=m

可以看到,当K=1或者m时,MASS的概率形式分别和BERT中的屏蔽语言模型以及GPT中的标准语言模型一致。

UNILM:UNIfied pre-trained Language Model

论文地址 https://arxiv.org/abs/1905.03197

GitHub https://github.com/microsoft/unilm

UniLM 是一种统一的预训练语言模型,既可应用于自然语言理解(NLU)任务,也能用于自然语言生成(NLG)任务。采用BERT的模型,使用三种特殊的Mask的预训练目标,从而使得模型可以用于NLG,同时在NLU任务获得和BERT一样的效果。 模型使用了三种语言模型的任务:

  • unidirectional prediction
  • bidirectional prediction
  • seuqnece-to-sequence prediction

给定一个输入序列 x,UniLM 会获取每个 token 的基于上下文的向量表征。如图 1 所示,预训练会根据多种无监督语言建模目标优化共享的 Transformer 网络,这些目标为单向语言模型、双向语言模型、序列到序列语言模型。为了控制对所要预测的词 token 的上下文的读取,作者使用了不同的自注意掩码。换句话说,作者使用了掩码来控制在计算基于上下文的表征时 token 应该关注的上下文的量。UniLM 训练完成后,当用于下游任务时,我们可以使用特定于任务的数据来对其进行微调。

 

Unidirectional LM

 对于MASK的预测,只能使用token1和token2以及自己位置能够被使用,使用的就是一个对角矩阵的。同理从右到左的LM也类似。

Bidirectional LM

对于双向的LM,只对padding进行mask。

Seq2Seq LM

在训练的时候,一个序列由[SOS]S_1[EOS]S_2[EOS]组成,其中S1是source segments,S2是target segments。随机mask两个segment其中的词,其中如果masked是source segment的词的话,则它可以attend to 所有的source segment的tokens,如果masked的是target segment,则模型只能attend to 所有的source tokens 以及target segment 中当前词(包含)和该词左边的所有tokens。这样的话,模型可以隐形地学习到一个双向的encoder和单向decoder。(类似transformer)

 

Reference

MASS: Masked Sequence to Sequence Pre-training for Language Generation

[paper] MASS: Masked Sequence to Sequence Pre-training for Language Generation

NeurIPS 2019 | 既能理解又能生成自然语言,微软提出统一预训练新模型UniLM

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值