【NLP】UNILM粗读

上周讲了一个MASS模型,我觉得挺好的,参考BERT提出了新的Seq2Seq任务的预训练方法,今天要讲的是另一个BERT-based生成模型-UNILM,也是微软出的。

论文链接


UNILM全名Unified Language Model Pre-training for Natural Language Understanding and Generation,其实也是提出了一种预训练方法,而且很简洁,直接复用BERT的结构和参数就好。NLU直接用BERT做,NLG直接把BERT的 S1 [SEP] S2 当成 encoder-decoder,虽然没有那个结构,但是心中有那个思想。

1. 模型结构

作者很巧妙的抓住了MASK这个点,认为不管是什么LM,本质都是在训练时能获取到什么信息,在实现层面其实就是mask什么输入的问题。所以完全可以把Seq2Seq LM整合到BERT里,在 S1 [SEP] S2 [SEP] 中,S1用encoder编码,S2中的token只能获取S1和自己之前的token信息,如上图最下面那个mask矩阵(其实图比我说的清楚)。

基本原理很好懂,主要是在论文里细看一下训练时的细节。

2. Pre-training

  1. Input representation:这里和BERT一样使用了三个Embedding,但是参考WordPiece把token都处理成了subword,增强了生成模型的表现能力。另外,作者强调了segment embedding可以帮助区分不同的LM。
  2. Transformer:没有变化,只是强调了会通过不同的Mask矩阵控制LM任务。
  3. 单向LM:只输入单句。其他单向LM是计算每一个token预测的损失,而作者依旧采用Masked LM的思路,只计算Mask的token损失。个人认为是由于BERT为了实现BiLM,在预训练时都是做完形填空(给[MASK]预测当前应有的编码),显然不适合给x1预测x2的情形。因此为了统一单向LM和BiLM的结构,采用了Masked left-to-right LM这种方式。
  4. Seq2Seq LM:输入两句。第一句采用BiLM的编码方式,第二句采用单向LM的方式。同时训练encoder(BiLM)和decoder(Uni-LM)。处理输入时同样也是随机mask掉一些token。
  5. 同样包含了Next sentence任务。
  6. 训练时,在一个batch里,优化目标的分配是1/3的时间采用BiLM和Next sentence,1/3的时间采用Seq2Seq LM,1/6的时间分别给从左到右和从右到左的LM。这里我没懂具体如何实现的,是一个batch里放不同的数据?懂得童鞋们说一下~
  7. 参数是从BERT-large初始化的。
  8. 加Mask的频率和BERT一样,但是对于加Mask,80%的时间随机mask一个,20%时间会mask一个bigram或trigram,增加模型的预测能力。

3. Fine-tunning

  1. NLU:参考BERT
  2. NLG:在精调期间只mask S2 句子中的token,而且S2的[SEP]也会被随机mask,让模型学习如何停止。

4. 实验

  1. 生成式摘要:增加了抽取式摘要作为辅助任务,根据first token预测input sentence是否出现在抽取式数据中。
  2. 问答(阅读理解):在抽取式任务SQuAD和CoQA上都超越了BERT;在生成式问答上表现尤其好,比2018年的一个PGNet提升了小40个点
  3. 问题生成:利用生成的问题,把SQuAD结果提升了4个点。
  4. GLUE:在大部分任务上>=BERT,最终提升了0.3个点。

5. 总结

UNILM和MASS的目标一样,都是想统一BERT和生成式模型,但我个人认为UNILM更加优雅。首先UNILM的统一方法更加简洁,从mask矩阵的角度出发改进,而MASS还是把BERT往Seq2Seq的结构改了,再做其他任务时只会用到encoder,不像UNILM一个结构做所有事情。UNILM给出了较多的结果,尤其是生成式问答有巨大的提升,而且也保证了总体效果和BERT相当,而MASS没有太注重自己的encoder。

然而UNILM和MASS没有做相同的实验,无法直接对比,个人觉得在简单些的生成式任务中可以用UNILM,但较难的翻译任务,尤其是缺少训练语料的情况下,MASS应该更合适。


端午快乐!

转载于:https://juejin.im/post/5cfbf2a0f265da1b6a348721

猜你喜欢

转载自blog.csdn.net/weixin_34297300/article/details/91426365
NLP
今日推荐