本文主要简析XLNet模型的动机,核心实现过程,以及优缺点。

一. 动机

目前,无监督表示学习中最成功有两种模型:AR(Auto Regression)自回归模型和AE(Auto Encoding)自编码模型。
自回归模型采用上文或下文信息预测当前词,典型模型例如GPT,ELMO,其中ELMO采用了两个方向自回归模型,本质上同样属于自回归模型。自回归模型和自然语言处理任务过程匹配,即从左至右或从右至左生成。但它的缺点在于不能同时利用上文或下文信息。
而自编码模型可以利用上下文信息预测当前词信息,典型模型如BERT:在输入中随机Mask掉一部分单词,训练时根据上下文单词来预测被Mask的单词。缺点在于预训练任务和真实场景之间存在偏差。
因此,为了利用二者的优点,同时避免它们的缺点,XLNet提出了融合自编码思想的自回归模型。

二. 模型实现

  1. 排列组合获取上下文信息

模型仍然遵循两阶段过程,第一阶段预训练阶段,为了预测当前词时,能够利用上文和下文信息,因此对输入重新排列组合,使得当前预测时能够用到后文信息,但预测模型上仍然采用自回归模型,即从左到右预测当前词。

对于句子T,有T!种排列组合方式。如下图所示,对于 自回归模型的训练目标 自回归模型的特征_Mask 句子,倘若当前待预测词为 自回归模型的训练目标 自回归模型的特征_自然语言处理_02,其中排列组合如 自回归模型的训练目标 自回归模型的特征_排列组合_03,则输入为 自回归模型的训练目标 自回归模型的特征_自然语言处理_04,预测 自回归模型的训练目标 自回归模型的特征_自然语言处理_02;若组合方式为 自回归模型的训练目标 自回归模型的特征_排列组合_06,则输入为 自回归模型的训练目标 自回归模型的特征_自回归模型的训练目标_07,预测 自回归模型的训练目标 自回归模型的特征_自然语言处理_02。具体实现过程为:在预测 自回归模型的训练目标 自回归模型的特征_排列组合_09 时,从输入句子中,随机选择 自回归模型的训练目标 自回归模型的特征_Mask_10个词作为 自回归模型的训练目标 自回归模型的特征_排列组合_09 的上文信息,其余词通过Attention Mask掉。

自回归模型的训练目标 自回归模型的特征_排列组合_12

  1. 双流注意力
    将上述排列组合模型应用到标准Attention模型中:
    自回归模型的训练目标 自回归模型的特征_Mask_13

可以发现,标准的Attention模型不再适用。比如,对于序列[暴雨,造成,大面积,晚点],产生排列组合序列 [暴雨,造成,大面积] 和 [暴雨,造成,晚点],在分别预测[造成]和[大面积]时,[暴雨,造成]是二者共同的前置序列,从而条件概率相等。这不符合逻辑。

因此,采用引入位置信息的隐层模型 自回归模型的训练目标 自回归模型的特征_Mask_14 来替换原 自回归模型的训练目标 自回归模型的特征_自回归模型的训练目标_15。调整后的概率分布计算公式为:
自回归模型的训练目标 自回归模型的特征_Mask_16
为了满足以下需求:1)在预测 自回归模型的训练目标 自回归模型的特征_自然语言处理_17 时,自回归模型的训练目标 自回归模型的特征_自回归模型的训练目标_18 只能参考位置信息 自回归模型的训练目标 自回归模型的特征_自然语言处理_19,而不能参考自回归模型的训练目标 自回归模型的特征_自然语言处理_17的内容;2)在预测 自回归模型的训练目标 自回归模型的特征_概率分布_21 ,其中 自回归模型的训练目标 自回归模型的特征_自然语言处理_22自回归模型的训练目标 自回归模型的特征_自回归模型的训练目标_18 需要参考位置信息 自回归模型的训练目标 自回归模型的特征_自然语言处理_19,以及自回归模型的训练目标 自回归模型的特征_自然语言处理_17的内容。因此XLNet提出了双流机制:
自回归模型的训练目标 自回归模型的特征_排列组合_26
其中,自回归模型的训练目标 自回归模型的特征_Mask_27 和标准注意力机制计算相同,编码上文以及 自回归模型的训练目标 自回归模型的特征_自然语言处理_17 本身;而 自回归模型的训练目标 自回归模型的特征_Mask_29 仅编码 自回归模型的训练目标 自回归模型的特征_自然语言处理_30 的信息,以及 自回归模型的训练目标 自回归模型的特征_自回归模型的训练目标_31

三. 优点

(1)XLNet提出了排列组合的思想对模型进行预训练,首先缩小了预训练和任务真实应用场景之间的偏差,其次一定程度上可以缓解某些任务预训练数据资源稀少。
(2)模型本质上属于自回归语言模型,能够天然匹配自然语言处理从左至右生成的过程,如文本摘要,机器翻译,使得模型在生成类任务上表现较好。

四. 待改进之处

(1)对于每个句子T,排列组合方式有T!种,把所有组合方式全部训练一遍是不现实的。但是文章中没有具体说明如何择优选取重排的训练数据,该过程在理论上还需要推敲。

(2)在自回归模型基础上,虽然采用了排列组合的方式来获取上下文信息,但是在训练时对于第 自回归模型的训练目标 自回归模型的特征_排列组合_32 个单词,同样只能看到 自回归模型的训练目标 自回归模型的特征_Mask_10