XLNet:论文阅读笔记 PPT

XLNet:论文阅读笔记 PPT_第1张图片

参考文献:

  1. 论文地址:https://arxiv.org/pdf/1906.08237.pdf
  2. 预训练模型及代码地址:https://github.com/zihangdai/xlne
  3. 知乎专栏:https://zhuanlan.zhihu.com/p/70473423

阅读笔记主要从以下几个方面展开:

  • Abstract 摘要
  • Autoregressive LM VS Bert 自回归语言模型 vs bert
  • Problems 论文主要讨论的问题
  • Permutation Language Model 排列语言模型
  • Two-Stream Self-Attention for Target-Aware Representations 双流self-attention
  • Incorporating Ideas from Transformer-XL 应用 Transformer-XL的思路
  • Experiments 实验

XLNet:论文阅读笔记 PPT_第2张图片

首先概括下这篇文章的核心思路,这篇文章和今年年初的Transformer-XL都是由同一个团队完成层的(CMU && Google Brain)。本文的一些思路也继承了Transformer-XL中的思路,详细内容可看Transformer-XL这篇文章。
XLNet也是一个NLP与训练模型。与bert不同,它是机遇自回归语言模型开发的,而且解决了传统模型中无法获取双向语言信息的问题。同时,它解决了bert不能处理超长文本信息的问题。XLNet的表现非常好,在20个task上都超过bert,而且有一些任务有着巨大的提升。
XLNet:论文阅读笔记 PPT_第3张图片

传统的与训练语言模型有两种训练思路。1)自回归语言模型的训练思路是:根据当前位置的上文或者下文进行预测;2)而bert(一种去噪的自编码语言模型)是对某位置进行mask,然后根据当前位置的上下文共同预测。
这两种思路各有各的好处和缺点。自回归语言模型的训练思路与生成式任务训练思路类似,在这些任务会有比较好的表现,但是这种模型不能同时利用上下文信息。Bert能够获取上下文信息,但是引入了[MASK]这个人造符号,导致与训练阶段和fine-tuning阶段信息不一致。

总的来说,这篇文章接下来讨论主要围绕以下两个问题:

  1. 自回归语言模型如何获取双向文本信息?ELMo利用双向LSTM,把两个方向的引向量进行拼接,以此获取双向文本信息,但是并没有获得很好的效果。本篇文章提出了一个新思路,Permutation Language Model(下文会详细介绍)
  2. Bert不能处理超长文本信息?这里直接借鉴了Transformer-XL中的思路。
    XLNet:论文阅读笔记 PPT_第4张图片

接下来介绍Permutation Language Model(排序语言模型)。排序语言模型继承了原本的自回归语言模型评估思路,他们的区别在于“排列顺序”。举例来说,给定[x1, x2, x3, x4] 评估x3,传统自回归模型和排序语言模型分别会如何处理?
传统自回归语言模型:

  • token 顺序: 1 - 2 - 3 - 4
  • 公式: P(x3) = P(x3|x_< 3) = P(x3|x1, x2)
    排序语言模型:
  • token 顺序: 2 - 4 - 3 - 1
  • 公式: P(x3) = P(x3|x_< 3) = P(x3|x2, x4)
    可以看到调整分解顺序,能够将下文信息“提前”。虽然不能利用全部的上下文信息,但是能够将部分下文信息提前,达到同时获取部分上下文信息的效果。

看下方公式,其中Z_T代表所有token的全排列,z表示随机抽取一种排列方式。调整顺序后,再根据传统自回归的思路进行评估。
但是,在实际开发的过程中,我们不能直接改变数据中文本的顺序,因为之后还需要进行其他的步骤。那么,该如何在这一过程改变顺序?这里论文提出了attention mask,用以调整顺序。
XLNet:论文阅读笔记 PPT_第5张图片

attention mask如下所示,通过掩码矩阵,就能改成你想要的排列组合,并让当前单词看到它该看到的所谓上文,其实是掺杂了上文和下文的内容。这是attention mask来实现排列组合的背后的意思。那么掩码矩阵如何运作?
如下图所示举例来说,对于4,可以看到4的上文是3和2,下文是1。所以,在掩码矩阵的第四行2和3位置为红色,表示可见,而1位白色为不可见。(对角线表示是否能看到自己)。
XLNet:论文阅读笔记 PPT_第6张图片

可以看到论文中提到了两种attention mask(可以看见自己或者不可见),为什么要有两种呢?这是为了解决一种矛盾。在预测z_t时,无需用到content信息,只需要用到位置信息,但是预测它后面的token时,则需要用到content信息。
XLNet:论文阅读笔记 PPT_第7张图片

于是,有了这两种attention,content stream attention(能够看见自己)和query stream attention(不能看见自己),也因此有了双流self-attention。
XLNet:论文阅读笔记 PPT_第8张图片

除此之外,为了降低优化难度,预训练过程中并没有预测所有位置的token,仅预测了1/K的全部token。K是一个超参数。
XLNet:论文阅读笔记 PPT_第9张图片

下面是模型的整体结构,(a) 和 (b)分别展示了两个self-attention分别的运作过程, ©的右边展示了attention mask,左边展示了整体结构。

为了解决之前提到的第二个问题,“Bert不能处理超长文本信息?”,这里接见了Transformer-XL中相对位置编码和分段RNN机制的思路。具体可参考Transformer-XL论文。
XLNet:论文阅读笔记 PPT_第10张图片

论文的实验部分主要讨论的影响因素有三个:

  • transformer-xl思路对结果的影响
  • PLM排列语言模型的yingxiang
  • Pretrain使用更大的数据集
    XLNet:论文阅读笔记 PPT_第11张图片

你可能感兴趣的:(NLP)