前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【The boundaries of AI | AI 边界系列】什么是 XLNet,为何它会超越 BERT?

【The boundaries of AI | AI 边界系列】什么是 XLNet,为何它会超越 BERT?

作者头像
用户1107453
发布2019-07-30 11:41:39
3860
发布2019-07-30 11:41:39
举报
文章被收录于专栏:UAI人工智能

原文:https://towardsdatascience.com/what-is-xlnet-and-why-it-outperforms-bert-8d8fce710335towardsdatascience.com

在 XLNet 论文发布后的一周内,每个自然语言处理领域的人都在谈论它。

是的,“ 在 20 项任务上改进了 BERT ”确实吸引了我们的目光。但更重要的是要了解它的工作原理以及它优于 BERT 的原因。所以我写这篇博客后,在阅读论文后分享我的想法。

内容结构如下:

  • 什么是 XLNet?
  • XLNet 和 BERT 有什么区别?
  • XLNet 是如何工作的?

什么是 XLNet ?

首先,XLNet 是一个类似 BERT 的模型,而不是完全不同的模型。但这是一个非常有前途和潜力的。总之,XLNet是一种通用的自回归预训练方法。

那么什么是自回归(AR)语言模型?

AR语言模型是一种使用上下文词来预测下一个词的模型。但是在这里,上下文单词被限制在两个方向,前向或后向。

前向

后向

GPT 和 GPT-2 都 AR 语言模型。

AR 语言模型的优势是擅长生成式自然语言处理任务。因为在生成上下文时,通常是前向的。AR 语言模型很自然地适用于此类 NLP 任务。

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

XLNet和BERT有什么区别?

与 AR 语言模型不同,BERT 被归类为自动编码器(AE)语言模型。

AE 语言模型旨在从损坏的输入重建原始数据。

双向

损坏的输入意味着我们在预训练阶段用 [MASK] 替换原始词 into。目标是预测 into 得到原始句子。

AE 语言模型的优势是,它可以从向前和向后的方向看到上下文。

但 AE 语言模型也有其缺点。它在预训练中使用 [MASK],但这种人为的符号在调优时在真实数据中并不存在,会导致预训练-调优的差异。[MASK] 的另一个缺点是它假设预测(掩蔽的)词 在给定未屏蔽的 词 的情况下彼此独立。例如,我们有一句话“它表明住房危机已经变成银行危机”。我们掩蔽“银行业”和“危机”。在这里注意,我们知道掩蔽的“银行业”和“危机”包含彼此的隐含关系。但 AE 模型试图预测“银行业”给予未掩蔽的 词,并预测“危机”分别给出未掩蔽的 词。它忽略了“银行业”与“危机”之间的关系。换句话说,它假设预测(掩蔽)的标记彼此独立。但是我们知道模型应该学习预测(掩蔽)词之间的这种相关性来预测其中一个词。

作者想要强调的是,XLNet 提出了一种让 AR 语言模型从双向上下文中学习的新方法,以避免 MASK 方法在 AE 语言模型中带来的缺点。

XLNet 是如何工作的?

AR 语言模型只能向前或向后使用上下文,那么如何让它从双向上下文中学习呢?

语言模型包括两个阶段,即预训练阶段和调优阶段。XLNet 专注于预训练阶段。在预训练阶段,它提出了一个名为排列语言建模的新目标。我们可以从这个名称知道基本思想,它使用排列。

论文中的图示

这里我们举一个例子来解释。序列的次序是 [x1, x2, x3, x4]。这种序列的所有排列如下。

因此对于这 4 个词的(

)句子,有 24(

)个排列。

情景是我们想要预测 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]

4 个模式

这里我们设置位置 x3 作为 t-th 位置,t-1 标记是用于预测 x3 的上下文单词。

之前的 x3 单词在序列中包含所有可能的单词和长度。直观地,该模型将学习从双向的所有位置收集信息。

实现比上面的解释复杂得多,我在此不再赘述。但是你应该已经了解了关于 XLNet 的最基本和重要的想法。

来自 XLNet 的灵感

就像 BERT 将 MASK 方法带给公众一样,XLNet 表明置换方法是语言模型目标的一个很好的选择。可以预见,未来会有更多的工作探索语言模型的目标函数。

论文:https://arxiv.org/abs/1906.08237

代码:https://github.com/zihangdai/xlnet

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

本文分享自 UAI人工智能 微信公众号,前往查看

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

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

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