摘录自知乎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单词之间互相独立的问题,我置信这个不太重要,起因前面会说。当然,我认为这点不重要的事件,纯正是个人观点。