自回归和自编码
2021-05-02 本文已影响0人
三方斜阳
1. 自回归语言模型:Autoregressive LM
-
概念定义:
- 一般的语言模型都是从左到右计算某个词出现的概率,但是当我们做完型填空或者阅读理解这一类NLP任务的时候词的上下文信息都是需要考虑的,而这个时候只考虑了该词的上文信息而没有考虑到下文信息。所以,反向的语言模型出现了,就是从右到左计算某个词出现的概率,这一类语言模型称之为自回归语言模型。
- 像坚持只用单向Transformer的GPT就是典型的自回归语言模型,所以GPT适合做生成类的任务,比如摘要生成等,也有像ELMo那种拼接两个上文和下文LSTM的变形自回归语言模型。
-
缺点:
只能利用上文或者下文的信息,不能同时利用上文和下文的信息,貌似ELMO这种双向都做,然后拼接看上去能够解决这个问题,因为融合模式过于简单,所以效果其实并不是太好。
-
优点:
生成类NLP任务有优势,比如生成类NLP任务有优势,比如文本摘要,机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。而Bert这种DAE(Denoising Autoencoder)模式,在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务到目前为止都做不太好。
2. 自编码语言模型:Autoencoder LM
- 是一种无监督学习输入的特征的方法:用一个神经网络把输入(输入通常还会增加一些噪声)变成一个低维的特征,就是编码部分。然后再用一个Decoder尝试把特征恢复成原始的信号。
- 自回归语言模型只能根据上文预测下一个单词,或者反过来,只能根据下文预测前面一个单词。相反,把句子中随机一个单词用[mask]替换掉,是不是就能同时根据该单词的上下文来预测该单词。我们都知道Bert在预训练阶段使用[mask]标记对句子中15%的单词进行随机屏蔽,然后根据被mask单词的上下文来预测该单词,这就是自编码语言模型的典型应用。
-
缺点:
主要在输入侧引入[Mask]标记,导致预训练阶段和Fine-tuning阶段不一致的问题,因为Fine-tuning阶段是看不到[Mask]标记的,所以这就会带来一定的误差
-
优点:
自编码语言模型能很自然的把上下文信息融合到模型中(Bert中的每个Transformer都能看到整句话的所有单词,等价于双向语言模型)
XLnet:
XLNet的思路采用的是自回归语言模型,根据上文来预测下一个单词,但是在上文中添加了下文信息,这样就既解决了[mask]带来的两阶段不一致问题和无法同时引入上下文信息的问题。改进之后,取了个新名字:Permutation Language Model.
关于 XLnet 具体的应用主要参考张俊林博士的文章:
XLNet:运行机制及和Bert的异同比较 - 知乎 (zhihu.com)