原标题 | What is XLNet and why it outperforms BERT 作者 | Xu LIANG 译者 | Ryan(西安理工大学)、依耶芙特•欧 注:本文的相关链接请访问文末【阅读原文】
XLNet发布后仅仅不到一周的时间,我周围NLP领域的每个人似乎都在谈论它。
XLNet:NLP领域中一个新的预训练方法,相比BERT可以显著提高20个任务的准确率。
arxiv:https://arxiv.org/abs/1906.08237
github (代码 预训练模型):https://github.com/zihangdai/xlnet
由Zhilin Yang, @ZihangDai, Yiming Yang, Jaime Carbonell, @rsalakhu等发出。
是的,“在 BERT 基础上20个任务提高了准确率”确实吸引了我们的眼球。但是更加重要的事情是去理解 XLnet 的工作原理以及为何它的效果超过BERT。所以我写了这个博客来分享我阅读论文后的理解。
内容结构如下:
- 什么是 XLNet?
- XLNet 和 BERT 有哪些区别?
- XLNet 是如何工作的?
什么是 XLNet?
首先,XLNet是一个类似BERT的模型,而不是完全不同的模型。但这是一个非常有前途和潜力的模型。总之,XLNet是一种通用的自回归预训练方法。
那么什么是自回归(AR)语言模型?
AR语言模型是一种利用上下文词来预测下一个词的模型。但是在这里,上下文词被限制在两个方向上,要么向前,要么向后。
GPT和GPT-2都是自回归语言模型。
AR语言模型在生成NLP任务方面具有很好的优势,因为在生成上下文时,通常是向前的方向。AE语言模型自然能很好地处理这些NLP任务。
但AR语言模型存在一些不足,它只能使用前向上下文或后向上下文,这意味着它不能同时使用前向上下文和后向上下文。
XLNet 和 BERT 有什么区别?
与AR语言模型不同,BERT被归类为自动编码器(AE)语言模型。
AE语言模型的目的是从被破坏的输入中重建原始数据。
损坏的输入意味着我们在预处理阶段中使用[MASK]将原始标记into。目的是预测into来得到原来的句子。
AE语言模型的优点在于它可以看到前后两个方向的语境。
但是,AE语言模型也有其不足之处。它在预训练中使用了[MASK],但是这种人工符号在训练过程中没有出现在实际数据中,导致了训练前的误差。[MASK]的另一个缺点是假定预测的(蒙面的)标记是相互独立的,给出未蒙面的标记。例如,我们有一句话:“这表明房地产危机已转变为银行危机”。我们掩盖住“银行”和“危机”。在这里,我们知道遮住的“银行”和“危机”包含彼此的隐含关系。但AE模型试图预测“银行”和“危机”,并分别给出未掩盖的标记。它忽略了“银行”与“危机”之间的关系。换句话说,它假定预测的(蒙面的)标记是相互独立的。但我们知道,模型应该了解预测(蒙面)标记之间的这种相关性,以预测其中一个标记。
作者想强调的是,XLNet提出了一种让AR语言模型从双向语境中学习的新方法,以避免AE语言模型中的掩码方法带来的缺点。
XLNet 是怎样工作的?
AR语言模型只能使用前向或后向上下文,那么如何让它从双向上下文中学习呢?
语言模型由两个阶段组成,一个是预训练阶段,一个是微调阶段.XLNet专注于训练阶段。在预训练阶段,提出了一个叫做置换语言建模的新的目标,我们可以知道这个名字的基本概念,它使用置换。
图1:给定相同输入序列x,但具有不同因式分解顺序的预测 x3 的置换语言建模目标的说明
这里我们以一个例子来解释。序列顺序是[x1,x2,x3,x4]。这些序列的所有排列都在下面。
因此,对于这4个标记(N)句,有24(N!)组排列。
情况是,我们希望预测x3。24位排列中有4种类型,x3位于第1位、第2位、第3位、第4位。
代码语言:javascript复制[x3, xx, xx, xx]
[xx, x3, xx, xx]
[xx, xx, x3, xx]
[xx, xx, xx, x3]
四种模式
在这里,我们将 x3 的位置设置为第t个位置,t-1标记是预测 x3 的上下文词。
x3之前的单词在序列中包含所有可能的单词和长度。从直觉上讲,该模型将学习从两个方面的所有位置收集信息。
执行比上面的解释要复杂得多,我不会在这里说的。但是你应该得到关于XLNet的最基本和最重要的想法。
来自 XLNet 的启示
就像BERT把MASK方法带给了公众一样,XLNet显示置换方法是作为语言模型目标的一个很好的选择。可以预见,未来对语言模型目标的探索还会有更多的工作。
论文: https://arxiv.org/abs/1906.08237
代码:https://github.com/zihangdai/xlnet
本文编辑:王立鱼
英语原文:https://towardsdatascience.com/what-is-xlnet-and-why-it-outperforms-bert-8d8fce710335
想要继续查看该篇文章相关链接和参考文献?
点击底部【阅读原文】即可访问:
https://ai.yanxishe.com/page/TextTranslation/1899