本文主要简析XLNet模型的动机,核心实现过程,以及优缺点。
一. 动机
目前,无监督表示学习中最成功有两种模型:AR(Auto Regression)自回归模型和AE(Auto Encoding)自编码模型。
自回归模型采用上文或下文信息预测当前词,典型模型例如GPT,ELMO,其中ELMO采用了两个方向自回归模型,本质上同样属于自回归模型。自回归模型和自然语言处理任务过程匹配,即从左至右或从右至左生成。但它的缺点在于不能同时利用上文或下文信息。
而自编码模型可以利用上下文信息预测当前词信息,典型模型如BERT:在输入中随机Mask掉一部分单词,训练时根据上下文单词来预测被Mask的单词。缺点在于预训练任务和真实场景之间存在偏差。
因此,为了利用二者的优点,同时避免它们的缺点,XLNet提出了融合自编码思想的自回归模型。
二. 模型实现
- 排列组合获取上下文信息
模型仍然遵循两阶段过程,第一阶段预训练阶段,为了预测当前词时,能够利用上文和下文信息,因此对输入重新排列组合,使得当前预测时能够用到后文信息,但预测模型上仍然采用自回归模型,即从左到右预测当前词。
对于句子T,有T!种排列组合方式。如下图所示,对于 句子,倘若当前待预测词为 ,其中排列组合如 ,则输入为 ,预测 ;若组合方式为 ,则输入为 ,预测 。具体实现过程为:在预测 时,从输入句子中,随机选择 个词作为 的上文信息,其余词通过Attention Mask掉。
- 双流注意力
将上述排列组合模型应用到标准Attention模型中:
可以发现,标准的Attention模型不再适用。比如,对于序列[暴雨,造成,大面积,晚点],产生排列组合序列 [暴雨,造成,大面积] 和 [暴雨,造成,晚点],在分别预测[造成]和[大面积]时,[暴雨,造成]是二者共同的前置序列,从而条件概率相等。这不符合逻辑。
因此,采用引入位置信息的隐层模型 来替换原 。调整后的概率分布计算公式为:
为了满足以下需求:1)在预测 时, 只能参考位置信息 ,而不能参考的内容;2)在预测 ,其中 , 需要参考位置信息 ,以及的内容。因此XLNet提出了双流机制:
其中, 和标准注意力机制计算相同,编码上文以及 本身;而 仅编码 的信息,以及
三. 优点
(1)XLNet提出了排列组合的思想对模型进行预训练,首先缩小了预训练和任务真实应用场景之间的偏差,其次一定程度上可以缓解某些任务预训练数据资源稀少。
(2)模型本质上属于自回归语言模型,能够天然匹配自然语言处理从左至右生成的过程,如文本摘要,机器翻译,使得模型在生成类任务上表现较好。
四. 待改进之处
(1)对于每个句子T,排列组合方式有T!种,把所有组合方式全部训练一遍是不现实的。但是文章中没有具体说明如何择优选取重排的训练数据,该过程在理论上还需要推敲。
(2)在自回归模型基础上,虽然采用了排列组合的方式来获取上下文信息,但是在训练时对于第 个单词,同样只能看到