【源头活水】XLNet--自回归语言模型的复兴
“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。
地址:https://www.zhihu.com/people/dengbocong
标题:XLNet: Generalized Autoregressive Pretraining for Language Understanding
原文链接:https://arxiv.org/pdf/1906.08237.pdf
nlp-paper:https://github.com/DengBoCong/nlp-paper
nlp-dialogue:https://github.com/DengBoCong/nlp-dialogue
说明:阅读原文时进行相关思想、结构、优缺点,内容进行提炼和记录,原文和相关引用会标明出处,引用之处如有侵权,烦请告知删除。
Google发布的XLNet在问答、文本分类、自然语言理解等任务上都大幅超越BERT,XLNet提出一个框架来连接语言建模方法和预训练方法。我们所熟悉的BERT是denoising autoencoding模型,最大的亮点就是能够获取上下文相关的双向特征表示,所以相对于标准语言模型(自回归)的预训练方法相比,基于BERT的预训练方法具有更好的性能,但是这种结构同样使得BERT有着它的缺点:
生成任务表现不佳:预训练过程和生成过程的不一致,导致在生成任务上效果不佳;
采取独立性假设:没有考虑预测[MASK]之间的相关性(位置之间的依赖关系),是对语言模型联合概率的有偏估计(不是密度估计);
输入噪声[MASK],造成预训练-精调两阶段之间的差异;
无法适用在文档级别的NLP任务,只适合于句子和段落级别的任务;
鉴于这些利弊,作者提出一种广义自回归预训练方法XLNet,该方法:
enables learning bidirectional contexts by maximizing the expected likelihood over all permutations of the factorization orde
overcomes the limitations of BERT thanks to its autoregressive formulation
01
首先在此之前需要了解一下预训练语言模型的相关联系和背景,这里推荐两篇文章,一篇是邱锡鹏老师的关于NLP预训练模型的总结Paper:Pre-trained Models for Natural Language Processing: A Survey
https://arxiv.org/pdf/2003.08271.pdf
BERT系列模型引入独立性假设,没有考虑预测[MASK]之间的相关性; MLM预训练目标的设置造成预训练过程和生成过程不一致; 预训练时的[MASK]噪声在finetune阶段不会出现,造成两阶段不匹配问题;
不再像传统AR模型中那样使用前向或者反向的固定次序作为输入,XLNet引入排列语言模型,采用排列组合的方式,每个位置的上下文可以由来自左边和右边的token组成。在期望中,每个位置都要学会利用来自所有位置的上下文信息,即,捕获双向上下文信息。 作为一个通用的AR语言模型,XLNet不再使用data corruption,即不再使用特定标识符号[MASK]。因此也就不存在BERT中的预训练和微调的不一致性。同时,自回归在分解预测tokens的联合概率时,天然地使用乘法法则,这消除了BERT中的独立性假设。 XLNet在预训练中借鉴了Transformer-XL中的segment recurrence机制的相对编码方案,其性能提升在长文本序列上尤为显著。 由于分解后次序是任意的,而target是不明确的,所以无法直接使用Transformer-XL,论文中提出采用“reparameterize the Transformer(-XL) network”以消除上述的不确定性。
02
PLM的本质就是LM联合概率的多种分解机制的体现,将LM的顺序拆解推广到随机拆解,但是需要保留每个词的原始位置信息(PLM只是语言模型建模方式的因式分解/排列,并不是词的位置信息的重新排列!)
03
在预测当前单词的时候,只能使用当前单词的位置信息,不能使用单词的内容信息。 在预测其他单词的时候,可以使用当前单词的内容信息
content stream:上面图(a)中, ,预测其他单词时,使用自己的内容信息 ,即Content 流主要为 Query 流提供其它词的内容向量,包含位置信息和内容信息 query stream:上面图(b)中, ,预测当前单词时,不能使用当前单词内容信息 ,Query 流就为了预测当前词,只包含位置信息,不包含词的内容信息; 总流程:上图(c)中,首先,第一层的查询流是随机初始化了一个向量即 ,内容流是采用的词向量即 ,self-attention的计算过程中两个流的网络权重是共享的,最后在微调阶段,只需要简单的把query stream移除,只采用content stream即可。
04
前一个segment计算的representation被修复并缓存,以便在模型处理下一个新的segment时作为扩展上下文resume; 最大可能依赖关系长度增加了N倍,其中N表示网络的深度; 解决了上下文碎片问题,为新段前面的token提供了必要的上下文; 由于不需要重复计算,Transformer-XL在语言建模任务的评估期间比vanilla Transformer快1800+倍;
05
仍使用自回归语言模型,未解决双向上下文的问题,引入了排列语言模型 排列语言模型在预测时需要target的位置信息,为此引入了Two-Stream:Content流编码到当前时刻的所有内容,而Query流只能参考之前的历史信息以及当前要预测的位置信息 为了解决计算量大的问题,采取随机采样语言排列+只预测1个句子后面的 的词 融合Transformer-XL的优点,处理过长文本
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“源头活水”历史文章
联邦学习 | FedProx 算法
Deep Layer Aggregation - 聚合不同尺度特征图的架构
CVPR 2021 | 利用时序差分进行动作识别的最新Backbone--TDN
视觉子领域中的Transformer
一种高效评估预训练模型是否适合当前任务的方法
CVPR'21 | involution:超越convolution和self-attention的神经网络新算子
特征提取网络HS-ResNet
CVPR2021:目标引导的人类注意力估计提升零样本学习
CVPR 2021 | TCANet:最强时序动作提名修正网络解读
在基于会话的图神经推荐系统中加入停留时间
类似于Multi-head注意力的Multi-Cast Attention网络
旋转目标检测方法解读(DCL, CVPR2021)
TIP 2021论文速递:多曝光图像融合及超分辨的联合实现
层次风格解耦:人脸多属性篡改终于可控了(CVPR 2021 Oral)
Transformer实现Video Instance Segmentation
更多源头活水专栏文章,
请点击文章底部“阅读原文”查看
分享、在看,给个三连击呗!