1. 创新点
XLNet主要解决了Bert存在的一些问题,所以在介绍XLNet前,先简单介绍一下Bert,及其问题。
1.1 BERT
凭借对双向上下文进行建模的能力,Bert在自然语言处理任务上表现优异。
Bert有两个训练任务。
训练任务1
一句话中取15%的词用替换, 然后预测替换的词原来是什么词。
预测替换的词原来是什么词时,把位置对应的最终输出输入到一个softmax层(softmax层为词汇表大小)。
虽然这允许我们获得双向预训练模型,但缺点是我们在预训练和微调之间产生不匹配,因为[MASK]在微调期间不会出现。 为了缓解这种情况,我们并不总是用实际的[MASK]替换随机选择的字。
训练数据生成器随机选择15%的词进行预测。 如果选择了第i个词,我们用
- 80%的可能用[MASK]替换选中的第i个词
- 10%的可能随机选一个词来替换选中的第i个词
- 10%的可能选中的第i个词保留原来的词
训练任务2
略
Bert存在的问题
- 随机mask一句话中15%的单词,忽略了被mask的单词之间的依赖性
- XLNet的作者认为,训练任务1的训练方法使预训练阶段和微调阶段存在差异,虽然通过一些方法缓解这种了情况,但未完全解决。
既然存在这些问题,让我们看看XLNet是怎么解决的。
1.2 XLNet创新点
XLNet,一种广义自回归预训练方法。
- 通过最大化因子分解顺序的所有排列的预期可能性来学习双向上下文。
- 由于其自回归公式,克服了BERT的局限性。
- XLNet将最先进的自回归模型Transformer-XL的创意整合到预训练中。
XLNet在20个任务上的表现优于BERT,通常大幅度提升,并在18个任务中实现最先进的结果,包括问答,自然语言推理,情感分析和文档排名。