前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是 XLNet ? 为什么它的性能优于 BERT?

什么是 XLNet ? 为什么它的性能优于 BERT?

作者头像
AI研习社
发布2019-07-25 16:39:44
1.1K0
发布2019-07-25 16:39:44
举报
文章被收录于专栏:AI研习社

原标题 | 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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 XLNet?
  • XLNet 和 BERT 有什么区别?
  • XLNet 是怎样工作的?
  • 来自 XLNet 的启示
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档