[nlp] 小傻学XLNet
[nlp] 小傻学XLNetwhat is XLNet?why XLNet?the architecture of XLNetAR & AEAR(Autoregressive LM,GPT)AE(Autoencoder LM,BERT)comparePermutation Language Model双流自注意力codeothers与bert比较Referenceswhat is XLNe
[nlp] 小傻学XLNet
what is XLNet?
XLNet:Generalized Autoregressive Pretraining for Language Understanding
类bert模型,在20 个任务上超过了 BERT 的表现,并在 18 个任务上取得state-of-the-art
why XLNet?
XLNet为优化版bert,先看看bert优缺点:
优点:双向,基于encoder,maskLM,可由上下文词来预测当前词
缺点:mask LM(下游任务中并没有进行mask)
再看看常用的GPT模型优缺点:
优点:单向,基于decoder,当前模型:前边词预测后边词
缺点:获取后边词对前边词对影响,单向,没有双向。
bert和gpt形成明显的互补,是否有一个模型,可以进行双向预测,又不引入mask(导致训练和预测不一致)
- 引入Transformer-XL(Segment-level Recurrence & Relative Positional Embedding),具备Transformer-xl上述两个优点;
- Two-Stream Self-Attention:双流注意力机制
- Permutation Language Modeling:采用AR模型替代AE模型,解决mask带来的影响
the architecture of XLNet
AR & AE
AR(Autoregressive LM,GPT)
根据上文内容预测下一个可能的单词,自左向右的语言模型任务(或自右向左,单向),主要任务在于评估预料的概率分布。
缺点:只能利用上文或者下文的信息
优点:可以完成生成类NLP任务
目标函数:
s.t.
To predict the token,
g
(
X
z
<
t
;
Z
t
)
g(X_{z<t}; Z_t)
g(Xz<t;Zt)should only use the position
Z
t
Z_t
Zt and not the content
X
z
t
X_{zt}
Xzt
to predict the other tokens
X
z
j
X{zj}
Xzjwith j > t,
g
(
X
z
<
t
;
Z
t
)
g(X_{z<t}; Z_t)
g(Xz<t;Zt)should also encode the
content
X
z
t
X_{zt}
Xztto provide full contextual information.
Patial prediction
Longer Context
Modeling Multiple Segments:
[CLS, A, SEP, B, SEP]
AE(Autoencoder LM,BERT)
根据上下文单词来预测这些被Mask掉的单词(噪音)。
优点:双向语言模型,
缺点:预训练阶段和Fine-tuning阶段不一致,fine-tuning阶段没有进行mask,引入误差。
m
t
m_t
mt: mask,
XLNet的出发点:融合两者的优点,利用双向,可进行生成任务,不引用mask
Permutation Language Model
一种基于排列组合的输入方法,不再对传统的AR模型的序列的值按顺序进行建模,而是最大化所有可能的序列的因式分解顺序的期望对数似然。
不会改变原始词的顺序。实现是通过Attention的Mask来对应不同的分解方法
如下图:
对序列[1, 2, 3, 4]进行排列组合,若目标为3。
传统AR模型:
P
(
3
)
=
∏
t
=
1
3
P
(
3
∣
x
<
t
)
P(3) = \prod_{t=1}^3P(3|x_{<t})
P(3)=∏t=13P(3∣x<t)
排列组合:一共有4!= 24 种组合,下图为4种可能的情况:
1. 3左边没有其他值,无需做相应计算;
2. 3左边为2, 4,故P(3) = P(3|2) * P(3|2, 4)后续类似。
这样进行处理,保留来序列上的上下文信息,同时避免引入mask标记位。
双流自注意力
任务:
预测后面的字符是哪个
预测自己到底是哪个字符
两套表征方式:
Content Stream
Query Stream(只参与Q的计算,不参与K,V的计算)
Transformer 天然和乱序语言模型相契合
若用标准softmax对下式求对数似然:
式中
h
θ
(
x
z
<
t
)
)
h_θ(x_{z<t}))
hθ(xz<t))为添加mask后的transformer值,其不依赖要预测内容的位置信息。(因为无论预测目标的位置在哪里,因式分解后得到的所有情况都是一样的,并且transformer的权重对于不同的情况是一样的,因此无论目标位置怎么变都能得到相同的分布结果)
为解决上述问题,加入位置作为预测信息实现目标位置感知。
g
θ
(
x
z
<
t
,
z
t
)
g_θ(x_{z<t}, z_t)
gθ(xz<t,zt):将位置信息作为输入后的表达形式。
两种attention的构造(即其两套表征方式)
训练方法:
数据输入:50%的概率是连续的句子(前后语义相关),有50%的概率是不连续(无关)的句子
排列组合数据随机采样
CLS放在最后,为什么?(可描述整个句子向量的表示,在最后,可有全部的信息)
为了减少计算量,只预测最后1/K个Token
code
others
与bert比较
XLNet预测部分词是出于性能考虑,而BERT是随机的选择一些词来预测
尽量规避Bert的独立假设:
[
N
e
w
,
Y
o
r
k
,
\color{red}{New, York, }
New,York,is, a, city]
Independence Assumption: BERT factorizes the joint conditional probability based on an independence assumption that all masked tokens are separately reconstructed
Input noise: The input to BERT contains artificial symbols
Context dependency: The AR representation is only conditioned on the tokens to the left
References
更多推荐
所有评论(0)