译者 | Arno

来源 | Medium

XLNet是一种新的预训练模型,在20项任务中表现优于BERT,且有大幅度的提升。

这是什么原因呢?

在不了解机器学习的情况下,不难估计我们捕获的上下文越多,预测就越准确。

因此,模型能够深入而有效地捕获大多数上下文的能力是其提升的原因。

让我们玩一个游戏,在下面的上下文中,[Guess1]和[Guess2]分别是什么呢?

[‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, [Guess1], [Guess2], ‘and’, ‘linguistics’]

考虑到3分钟的限制,我就直接揭示答案了。

答案: [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘machine’,‘learning’, ‘and’, ‘linguistics’]

我们使用符号Pr(Guess | Context) 代表一个基于上下文词的猜测概率。

GPT中,我们从左到右阅读,因此我们不知道 ‘machine’, ‘learning’各自后面的下文:

Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’])

Pr (‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘machine’])

知道‘machine’实际上可以帮助你猜‘learning’,因为‘learning’经常跟随‘machine’,而‘machine learning’是现在很火热的术语。

BERT中,与GPT对比,我们能知道预测单词前向和后向上下文,但我们在猜测 ‘machine’和 ‘learning’时都是基于相同的上下文:

Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

Pr (‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

拥有‘linguistics’实际上可以帮助你猜测‘machine’ ‘learning’ ,因为你知道自然语言处理是机器学习和语言学的完美结合。即使你不知道,有了‘linguistics’的存在,你至少知道预测单词不是 ‘linguistics’。

你可以看到BERT的明显缺点是,它无法知道 ‘machine’ 和 ‘learning’之间的联系。

那么我们如何结合GPT和BERT的优点呢?

XLNet

排列!排列的作用是即使我们只从左到右阅读,排列也允许我们捕捉前向和后向上下文(从左到右阅读,从右到左阅读)。

其中一种排列可以让我们捕捉到前向和后向上下文:

[‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’, ‘machine’, ‘learning’]

Pr (‘machine’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’])

Pr(‘learning’ | [‘Natural’, ‘language’, ‘processing’, ‘is’, ‘a’, ‘marriage’, ‘of’, ‘and’, ‘linguistics’, ‘machine’])

这一次,你拥有完整的上下文,在猜测 ‘machine’之后,你可以立即猜测‘learning’。

你可以清楚地看到XLNet结合了GPT和BERT的优点。

当然,如果你想了解更多细节,请阅读XLNet论文[1]。

[1]: https://arxiv.org/pdf/1906.08237.pdf

欢迎关注磐创博客资源汇总站:

http://docs.panchuang.net/

欢迎关注PyTorch官方中文教程站:

http://pytorch.panchuang.net/

3分钟了解GPT Bert与XLNet的差异的更多相关文章

  1. 预训练语言模型整理(ELMo/GPT/BERT...)

    目录 简介 预训练任务简介 自回归语言模型 自编码语言模型 预训练模型的简介与对比 ELMo 细节 ELMo的下游使用 GPT/GPT2 GPT 细节 微调 GPT2 优缺点 BERT BERT的预训 ...

  2. 百度ERNIE 2.0强势发布!16项中英文任务表现超越BERT和XLNet

    2019年3月,百度正式发布NLP模型ERNIE,其在中文任务中全面超越BERT一度引发业界广泛关注和探讨. 今天,经过短短几个月时间,百度ERNIE再升级.发布持续学习的语义理解框架ERNIE 2. ...

  3. Transformer 和 Transformer-XL——从基础框架理解BERT与XLNet

    目录写在前面1. Transformer1.1 从哪里来?1.2 有什么不同?1.2.1 Scaled Dot-Product Attention1.2.2 Multi-Head Attention1 ...

  4. 1分钟了解MyISAM与InnoDB的索引差异

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/z50L2O08e2u4afToR9A/article/details/82111747 <数据 ...

  5. XLNet:运行机制及和Bert的异同比较

    这两天,XLNet貌似也引起了NLP圈的极大关注,从实验数据看,在某些场景下,确实XLNet相对Bert有很大幅度的提升.就像我们之前说的,感觉Bert打开两阶段模式的魔法盒开关后,在这条路上,会有越 ...

  6. GPT and BERT

    目录 概 主要内容 GPT BERT Radford A., Narasimhan K., Salimans T. and Sutskever I. Improving language unders ...

  7. 2.69分钟完成BERT训练!新发CANN 5.0加持

    摘要:快,着实有点快. 现在,经典模型BERT只需2.69分钟.ResNet只需16秒. 啪的一下,就能完成训练! 本文分享自华为云社区<这就是华为速度:2.69分钟完成BERT训练!新发CAN ...

  8. XLNet看这篇文章就足以!

    文章链接:https://arxiv.org/pdf/1906.08237.pdf 代码链接:英文--https://github.com/zihangdai/xlnet      中文--https ...

  9. 预训练语言模型的前世今生 - 从Word Embedding到BERT

    预训练语言模型的前世今生 - 从Word Embedding到BERT 本篇文章共 24619 个词,一个字一个字手码的不容易,转载请标明出处:预训练语言模型的前世今生 - 从Word Embeddi ...

随机推荐

  1. Redis(3)——分布式锁深入探究

    一.分布式锁简介 锁 是一种用来解决多个执行线程 访问共享资源 错误或数据不一致问题的工具. 如果 把一台服务器比作一个房子,那么 线程就好比里面的住户,当他们想要共同访问一个共享资源,例如厕所的时候 ...

  2. Py基础之函数

    '''函数是指一类同类事物的抽象,而且这种抽象可以拓展,并且可以用在同一类事物上'''print (abs(-100),abs(100)) #abs函数是python内置的函数,可以用来求绝对值#pr ...

  3. MVC04

    1. 从页面到action 讲述controller与View之间的具体运作关系 在上次添加的名为Movie的Model内添加 下面我们尝试为该model内的属性添加attribute 具体修改如下: ...

  4. 无损卡尔曼滤波UKF(3)-预测-生成Sigma点

    无损卡尔曼滤波UKF(3)-预测-生成Sigma点 1 选择创建Sigma点 A 根据 已知上一个时间戳迭代出来的 后验状态 x_{k|k} 和后验协方差矩阵 P_{k|k} 他们代表当前状态的分布. ...

  5. django数据库分库migrate

    最近在研究微服务和分布式,设计到了数据库分库,记录一下 首先,创建多个数据库,如果是已经生成的数据库,可以分库,这里我是新创建的项目,刚好可以用来尝试 我是用docker创建的mysql数据库容器 拉 ...

  6. python学习列表(Lists).基础二

    列表(Lists) 序列是Python中最基本的数据结构,序列中的每个元素都分配一个数字,它的第一个索引是0第二个索引是1,依次类推. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号 ...

  7. Redis04——五分钟明白Redis的哨兵模式

    和所有的数据库一样,Redis也支持集群化,Redis的集群分为分布式集群和主从集群.大部分公司采取的都是主从集群.所以在本篇文章内,我们将着重介绍Redis的主从集群及哨兵机制. 由于Redis的主 ...

  8. OpenCV3入门(十四)图像特效—挤压、哈哈镜、扭曲

    一.图像挤压特效 1.原理 图像压效果本质的图像坐标的非线性变换,将图像向内挤压,挤压的过程产生压缩变形,从而形成的效果. 挤压效果的实现是通过极坐标的形式,设图像中心为O(x,y),某点距离中心O的 ...

  9. ggplot2(2) 从qplot开始入门

    2.1 简介 qplot的意思是快速作图(quick plot). qplot是一种快捷方式,如果您已习惯于使用基础plot(),则可以使用它.它可以使用一致的调用模式快速创建许多不同类型的图. qp ...

  10. 5G 将带给程序员哪些新机会呢?

    5G,第 5 代移动通信技术,华为在此领域远远领先同行,这也让它成了中美贸易战的最前线.我的第一份工作就在通信行业,当时电信标准都在欧美企业手里,国内企业主要是遵照标准研发软硬件设备,核心芯片靠进口. ...