摘录自知乎 XLNet: 运行机制及和 Bert 的异同比拟
1. 自回归语言模型(Autoregressive LM)
在 ELMO/BERT 进去之前,通常讲的语言模型其实是依据上文内容预测下一个可能追随的单词,就是常说的自左向右的语言模型工作,或者反过来也行,就是依据下文预测后面的单词,这种类型的 LM 被称为自回归语言模型。GPT 就是典型的自回归语言模型。ELMO 只管看上去利用了上文,也利用了下文,然而实质上依然是自回归 LM,这个跟模型具体怎么实现有关系。ELMO 是做了两个方向(从左到右以及从右到左两个方向的语言模型),然而是别离有两个方向的自回归 LM,而后把 LSTM 的两个方向的隐节点状态拼接到一起,来体现双向语言模型这个事件的。所以其实是两个自回归语言模型的拼接,实质上依然是自回归语言模型。
自回归语言模型有长处有毛病,毛病是只能利用上文或者下文的信息,不能同时利用上文和下文的信息 ,当然,貌似 ELMO 这种双向都做,而后拼接看上去可能解决这个问题,因为交融模式过于简略,所以成果其实并不是太好。它的长处,其实跟上游 NLP 工作无关,比方生成类 NLP 工作,比方文本摘要,机器翻译等, 在理论生成内容的时候,就是从左向右的,自回归语言模型人造匹配这个过程。而Bert 这种 DAE 模式,在生成类 NLP 工作中,就面临训练过程和利用过程不统一的问题,导致生成类的 NLP 工作到目前为止都做不太好。
2. 自编码语言模型(Autoencoder LM)
自回归语言模型只能依据上文预测下一个单词,或者反过来,只能依据下文预测后面一个单词。相比而言,Bert 通过在输出 X 中随机 Mask 掉一部分单词,而后预训练过程的次要工作之一是依据上下文单词来预测这些被 Mask 掉的单词,如果你对 Denoising Autoencoder 比拟相熟的话,会看出,这的确是典型的 DAE 的思路。那些被 Mask 掉的单词就是在输出侧退出的所谓乐音。相似 Bert 这种预训练模式,被称为 DAE LM。
这种 DAE LM 的优缺点正好和自回归 LM 反过来,它能比拟天然地融入双向语言模型,同时看到被预测单词的上文和下文,这是益处。 毛病次要在输出侧引入 [Mask] 标记,导致预训练阶段和 Fine-tuning 阶段不统一的问题,因为 Fine-tuning 阶段是看不到 [Mask] 标记的。DAE 吗,就要引入乐音,[Mask] 标记就是引入乐音的伎俩,这个失常。
3. XLNET 运行机制
XLNet 的出发点就是:是否交融自回归 LM 和 DAE LM 两者的长处 。就是说如果站在自回归 LM 的角度,如何引入和双向语言模型等价的成果;如果站在 DAE LM 的角度看,它自身是融入双向语言模型的,如何抛掉外表的那个[Mask] 标记,让预训练和 Fine-tuning 保持一致。当然,XLNet 还讲到了一个 Bert 被 Mask 单词之间互相独立的问题,我置信这个不太重要,起因前面会说。当然,我认为这点不重要的事件,纯正是个人观点。