XLNet入门(1)

1. 自回归(AR)语言模型和自编码(AE)语言模型

AR语言模型是利用上下文单词预测下一个单词的一种模型。但是在这里,上下文单词被限制在两个方向,要么向前,要么向后。
AR语言模型
GPT, GPT-2, XLNet都是AR语言模型

AR语言模型的优点是擅长NLP生成任务。因为在生成上下文时,通常是正向的。AR语言模型在这类NLP任务中很自然地工作得很好。

但是AR语言模型有一些缺点,它只能使用前向上下文或后向上下文,这意味着它不能同时使用前向上下文和后向上下文。


AE语言模型的目的是从损坏的输入中重建原始数据。损坏的意思就是我们使用在训练前阶段将原始 token “into” 替换为 [MASK] 。我们的目标是预测 “into” 来得到原来的句子。如下图所示:
AE语言模型
BERT就是AE语言模型

AE语言模型的优点是它可以在向前和向后两个方向上看到上下文。

但是AE语言模型也有其不足之处。它在预训练中使用了[MASK],但是这种人为的符号在finetune的时候在实际数据中时没有的,导致了预训练和finetune的不一致。[MASK]的另一个缺点是它假设所预测的(mask掉的)token是相互独立的,给出的是未掩码的tokens。例如,我们有一句话 “It shows that the housing crisis was turned into a banking crisis”。我们盖住了“banking”和“crisis”。注意这里,我们知道,盖住的“banking”与“crisis”之间隐含着相互关联。但AE模型是利用那些没有盖住的tokens试图预测“banking”,并独立利用那些没有盖住的tokens预测“crisis”。它忽视了“banking”与“crisis”之间的关系。换句话说,它假设预测的(屏蔽的)tokens是相互独立的。但是我们知道模型应该学习(屏蔽的)tokens之间的这种相关性来预测其中的一个token。

2. XLNet简介

AR语言模型只能使用前向或后向的上下文,如何让它学习双向上下文呢?语言模型由预训练阶段和调优阶段两个阶段组成。XLNet专注于预训练阶段。在预训练阶段,它提出了一个新的目标,称为重排列语言建模。我们可以从这个名字知道基本的思想,它使用重排列。

XLNet的目标是语言模型预训练阶段不像Bert那种带Mask符号的Denoising-autoencoder的模式,而是采用自回归LM的模式;即看上去输入句子X仍然是自左向右的输入,看到Ti单词的上文Context_before,来预测Ti这个单词。但是又希望在Context_before里,不仅仅看到上文单词,也能看到Ti单词后面的下文Context_after里的下文单词

下面使用一个例子来表达XLNet的基本思想:
比如包含单词Ti的当前输入的句子X,由顺序的几个单词构成,比如x1,x2,x3,x4四个单词顺序构成。其中,要预测的单词Ti是x3,位置在Position 3,固定住x3所在位置,就是它仍然在Position 3,之后随机排列组合句子中的4个单词,在随机排列组合后的各种可能里,再选择一部分作为模型预训练的输入X。比如随机排列组合后,抽取出 x4, x2,x3, x1这一个排列组合作为模型的输入X。于是,x3就能同时看到上文x2,以及下文x4的内容了, 如果遍历所有组合,那么既能看到上文单词也可看到下文单词

3. XLNet总结

PLM(Permutation Language Model)是XLNet的主要理论创新,它开启了自回归语言模型如何引入下文的一个思路; 当然,XLNet不仅仅做了这些,它还引入了其它的因素,也算是一个当前有效技术的集成体。XLNet就是Bert、GPT 2.0和Transformer XL的综合体变身,首先,它通过PLM预训练目标,吸收了Bert的双向语言模型;然后,GPT2.0的核心其实是更多更高质量的预训练数据,这个明显也被XLNet吸收进来了;再然后,Transformer XL的主要思想也被吸收进来,它的主要目标是解决Transformer对于长文档NLP应用不够友好的问题

4. 本章小结

本章主要讲解了以下内容:

扫描二维码关注公众号,回复: 10247878 查看本文章
  • 什么是自回归语言模型及其优缺点
  • 什么是自编码语言模型及其优缺点
  • XLNet入门知识,基本原理

下一章节我们将继续讲解XLNet的双流自注意力机制

发布了33 篇原创文章 · 获赞 1 · 访问量 2604

猜你喜欢

转载自blog.csdn.net/orangerfun/article/details/104444590