理解XLNet

参考:XLNet:运行机制及和Bert的异同比较 by:张俊林

明确AR&AE两类语言模型的区别

Auto-Regressive Language Model

AR language modeling seeks to estimate the probability distribution of a text corpus with an autoregressive model.

自回归语言模型,即根据上文内容预测下一个单词,或根据上文内容预测上一个单词,典型模型有GPT、ELMo。该模型由于符合生成类NLP任务依序生成内容的过程,适用于这一类的文本摘要、机器翻译等任务。但由于该模型只能单向利用上文或下文的信息,效果有所欠佳。

Auto-Encoder Language Model

AE based pretraining does not perform explicit density estimation but instead aims to reconstruct the original data from corrupted input.

自编码语言模型采用Denoising Autoencoder的基本思路,其典型代表便是BERT,它预训练中的一个主要任务便是通过在输入中随机对部分单词做MASK操作,继而基于上下文信息对这些被MASK的单词进行预测。这样的做法很自然地融入了双向语言模型,但MASK操作会带来预训练阶段和Fine-tuning阶段的输入不一致问题,因为FIne-tuning阶段的输入是不存在[MASK]标记的;另外,BERT假设所有被MASK的词是条件独立的,XLNet的作者认为这一假设尚存在优化的空间,

The Motivation of XLNet

According to the comparison above, AR language modeling and BERT possess their unique advantages over the other. A natural question to ask is whether there exists a pretraining objective that brings the advantages of both while avoiding their weaknesses.

XLNet的出发点在于融合AR语言模型和BERT的优点,在抛弃MASK做法的同时实现双向语言模型同样的效果。

XLNet

以AR的方式实现双向语言模型效果的基本思想

Borrowing ideas from orderless NADE, we propose the permutation language modeling objective that not only retains the benefits of AR models but also allows models to capture bidirectional contexts. Specifically, for a sequence x of length T, there are T! different orders to perform a valid autoregressive factorization. Intuitively, if model parameters are shared across all factorization orders, in expectation, the model will learn to gather information from all positions on both sides.

Permutation-Language-Modeling.png

XLNet在预训练阶段引入Permutation Language Model的目标。假设当前输入的句子由x_1,x_2,x_3,x_4四个单词顺序组成,对这四个单词的位置顺序进行排列可以得到4!=24种结果,上图给出了排列结果中的4种情况。对于某个单词的预测,仅考虑排列顺序在该词之前的单词作为其上文。随着序列长度的增加,排列组合的结果有很多,因此给定序列\mathbf{x},每次仅从其中随机采样某种排列顺序进行概率分解。需要注意的是,此处的顺序改变并非对原生序列顺序进行修改,而是依靠attention中的mask机制实现顺序上的排列,即在attention层,随机选取部分单词作为被预测单词的上文,而将剩余单词mask掉,从而实现随机排序的效果。

Two-Stream Self-Attention

Two-Stream-Self-Attention.png

为了实现上述随机排序的效果,需要对原始的Transformer结构进行修改,同时还需要考虑对单词自身的预测不能引入其自身语义的问题。XLNet在原transformer的注意力机制(称为Content stream attention)上额外引入了人一个Query stream attention来实现BERT中预测MASK任务的效果。Query stream的不同之处在于其并不考虑要预测单词自身的语义编码,以便于后期该单词自身的预测。

Transformer-XL

引入了Transformer-XL中的相对位置编码和分段循环机制的基本思想,Transformer-XL的主要目标是解决Transformer对于长文档NLP应用不够友好的问题。

存疑:对Transformer-XL的理解与其在XLNet中的应用、模型的目标函数的理解

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容