作者 | Michael Ye
翻译 | 陈雨琳,校对 | 吴金笛
来源 | 数据派THU(ID:DatapiTHU)

百度于今年早些时候发布了其最新的NLP架构ERNIE 2.0,在GLUE基准测试中的所有任务上得分均远高于XLNet和BERT。NLP的这一重大突破利用了一项被称为“连续增量式多任务学习”的创新技术。在本文中,我们将直观地解释“连续多任务学习”的概念,构建ERNIE 2.0模型,并解决有关ERNIE 2.0结果的疑虑。

预备知识:

  • 神经网络

  • 梯度下降

  • 预训练&微调

(请看这个视频:https://bit.ly/2lIADHm)

什么是多任务学习?

为了理解多任务学习,让我们从单任务学习示例开始:为了简单起见,想象一下在NLP(自然语言处理)预训练中使用的简单前馈神经网络。任务是预测句子中的下一个单词。

输入字符串是“ I like New”,正确的输出是字符串“ York”。

训练过程(梯度下降)可以看成是滚下山坡的球:这里的地形是损失函数(也称为成本/误差函数),球的位置代表所有参数的当前值(权重和偏差)。

此图仅有两个维度以用于可视化目的。 如果这个比喻让你无法理解,请查看对梯度下降的理解:https://bit.ly/2C080IK。现在,如果你希望神经网络执行多个任务怎么办? 例如,预测句子中的下一个单词并进行情感分析(预测态度分为正面,中立或负面。例如,“你很棒”被归为正面)。

实际上,你可以直接加上另一个输出!

输入为“I like New”,下一个单词预测为“York”,情感预测为正面。

然后,将两个输出的损失相加并求平均值,最后的损耗用于训练网络,因为这样就可以将两个任务的损失都降至最低。

这次,可以将训练过程可视化为将两种地形(两个损失函数)加在一起以获得一个新的地形(最终损失函数),然后执行梯度下降。

Figure 1: Calculating the final loss function and performing gradient descent

图1:计算最终损失函数并执行梯度下降

这就是多任务学习的本质-训练一个神经网络执行多个任务,以便该模型可以开发语言的通用表达形式,而不是将自身限制到一个特定的任务上。实际上,ERNIE 2.0训练其神经网络执行7个任务,后面将对此进行详细说明。

多任务学习在自然语言处理中尤其有用,因为预训练过程的目标是“理解”语言。同样,在语言理解方面,人类也会执行多项任务。

我们已经解释了多任务学习,而ERNIE 2.0架构中还有另一个关键概念,那就是……

持续学习

训练神经网络面临的一个挑战是这样一个事实:局部最小值并不总是全局最小值。

作为示例,让我们看一下上个例子种最终损失函数的形态-如果我们对权重进行不同的初始化,即将球放置在其他位置,会怎么样?

图 2

这次的局部最小值远非理想值。为解决此问题并找到更好的局部最小值,使得该最小值更可能是全局最小值,ERNIE 2.0提出了“持续学习”的概念。

不是训练所有任务(图2),而是按顺序训练它们:

  1. 在任务1上进行训练

  2. 使用上一步中的参数,并在任务1、2上进行训练

  3. 使用上一步中的参数,并在任务1、2、3上进行训练,以此类推…

这是受人类启发的,因为我们是逐步学习而不是一次学习多个任务。之所以行之有效,是因为如果达到任务1的全局最小值,那么将两个损失函数加在一起时,与使用完全随机参数开始时相比,更有可能获得全局最小值(图3)。

图 3

持续学习还可以轻松添加新任务-只需在序列中添加一个额外的步骤即可(例如,第3步:训练任务1、2、3)。但是,请记住,必须训练所有先前的任务以及新任务,以确保将损失函数相加。

此外,在ERNIE 2.0中,Adam Optimizer用于保证有更大机会定位到全局最小值,但这不在本文的讨论范围之内。如果您想了解更多信息,请访问以下链接:https://arxiv.org/pdf/1412.6980.pdf

ERINE 2.0模型

于是,我们终于可以构建ERINE2.0模型了!

这张图在论文4.2.3节

让我们从输入开始:输入包含token embedding, sentence embedding, sentence embedding, position embedding, task embedding。如果您没有听说过embedding,它们实际上是一种表示形式,可以将人类可以理解的内容转换为机器可以理解的内容。(在此处了解更多信息:https://bit.ly/2k52nWt)

接下来,将其输入可以是任何形式神经网络的“编码器”中。当然,如果你想要在自然语言处理种获得最好的效果,就应该使用RNN或者一种Transformer。

ERINIE 2.0使用的transformer与BERT和XLNET相同。

最后,输出结果包含了7个任务的输出,分别是:

  1. 知识遮盖

  2. 标记-文档关系

  3. 大写预测

  4. 句子重新排序

  5. 句子距离

  6. 话语关系

  7. 相关性

这些任务是专门挑选用来学习语言的词汇,句法(结构)和语义(含义)信息的。阅读论文第4.2节,以详细了解每个任务。

训练过程基本上与我们之前在持续学习部分演示的示例相同:

先训练任务1,然后任务1&2,然后任务1&2&3,以此类推……直到训练完7个任务。

图 4

如图4所示,当任务在训练过程中处于非活动状态时,其损失函数基本上始终为零。

另外,ERNIE 2.0设置中的一个不同之处是最终对损失进行平均(而不是求和)。

有关ERNIE 2.0结果的疑虑

ERNIE 2.0在GLUE基准测试的每个任务中都击败了所有以前的模型,例如XLNet和BERT。虽然该论文暗示该开创性的结果是由持续多任务学习引起的,但尚无模型简化测试来证明这一点。持续多任务学习之外的某些因素可能在击败XLNET和BERT方面发挥了关键作用:

  • 使用了更多数据来训练模型(Reddit,发现数据…)。但是,这在一定程度上是不可避免的。由于多任务学习的训练目标更多,因此需要更多的数据。

  • 该神经网络在PaddlePaddle中实现

  • 更重要的是,为了将ERNIE 2.0的结果归因于“持续多任务学习”,需要回答以下问题:

  • 多任务学习对结果有多大影响?

  • 持续学习对结果有多大影响?如果一次训练了所有七个任务而不是依次进行会怎么样?

  • 任务的顺序有影响吗?

结论

总而言之,ERNIE 2.0引入了“连续多任务学习”的概念,并且在所有NLP任务中均成功胜过XLNET和BERT。可以说连续多任务学习是开创性结果中的第一大因素,但仍然有许多问题需要解决。

当然,本文不会涵盖论文的全部主题,例如具体的实验结果,也没有这个必要。本文只是对ERNIE 2.0核心概念进行了直观解释。如果您想全面了解ERNIE 2.0,请同时阅读论文!

论文:

“ERNIE 2.0: A Continual Pre-training Framework for Language Understanding”

作者:

Yu Sun, Shuohuan Wang, Yukun Li, Shikun Feng, Hao Tian, Hua Wu, Haifeng Wang

链接:

https://arxiv.org/pdf/1512.03385.pdf

Related:

相关文章:

Interpolation in Autoencoders via an Adversarial Regularizer

Pre-training, Transformers, and Bi-directionality

Large-Scale Evolution of Image Classifiers

原文标题:

Multi-Task Learning – ERNIE 2.0: State-of-the-Art NLP Architecture Intuitively Explained

原文链接:

https://www.kdnuggets.com/2019/10/multi-task-learning-ernie-sota-nlp-architecture.html

编辑:于腾凯

校对:林亦霖

扫码查看作者更多文章

▼▼▼

(*本文为 AI科技大本营转载文章,转载联系作者

精彩推荐

2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。5 折票倒计时 2 天!

推荐阅读

最新NLP架构的直观解释:多任务学习– ERNIE 2.0(附链接)| CSDN博文精选相关推荐

  1. 独家 | 最新NLP架构的直观解释:多任务学习– ERNIE 2.0(附链接)

    作者:Michael Ye 翻译:陈雨琳 校对:吴金笛 本文约1500字,建议阅读7分钟. 本文将介绍多任务学习. 科技巨头百度于今年早些时候发布了其最新的NLP架构ERNIE 2.0,在GLUE基准 ...

  2. 基于AWS的云服务架构最佳实践 #CSDN博文精选# #IT# #云服务实践#

    大家好,小C将继续与你们见面,带来精选的CSDN博文~ 在这里,你将收获: 将系统化学习理论运用于实践,系统学习IT技术 学习内容涵盖数据库.软件测试.主流框架.领域驱动设计和第三方生态等,离全栈工程 ...

  3. 关于Spark NLP学习,你需要掌握的LightPipeline(附代码)| CSDN博文精选

    作者 | Veysel Kocaman, Data Scientist & ML Researcher ANKIT CHOUDHARY 翻译 | 赵春光 校对 | 申利彬 来源 | 数据派TH ...

  4. 资源 | Yann LeCun最新演讲:大脑是如何高效学习的?(附PPT+视频)

    整理 | 周翔 作为深度学习的奠基人之一,Yann LeCun 的一言一行都颇受关注.近日,Yann LeCun 在 CCN 2017 (认知计算神经科学大会)上发表了主题为"How doe ...

  5. 速成!免费送!一份火爆国外的前沿深度学习实践课程(附链接)

    本文经AI新媒体量子位(公众号ID:qbitai )授权转载,转载请联系出处. 本文约4000字,建议阅读8分钟. 本文介绍了目前国外火爆的免费AI课程--"给程序员的实践深度学习课&quo ...

  6. 深度学习在人脸检测中的应用 | CSDN 博文精选

    作者 | 梁志成.刘鹏.陈方杰 责编 | 唐小引 转载自CSDN(ID:csdnnews) 在目标检测领域,可以划分为人脸检测与通用目标检测,往往人脸这方面会有专门的算法(包括人脸检测.人脸识别.人脸 ...

  7. 原创 | 初学者友好!最全算法学习资源汇总(附链接)

    在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...

  8. 知识图谱构建技术一览 #CSDN博文精选# #高效学习法# #系统化学习# #IT技术学习#

    大家好~我是小C,又见面啦!"文章过滤器"精选大咖干货.助力学习之路. <5天20篇CSDN精选博文带你掌握系统化学习方法>专栏将挑选有关"系统化学习方法&q ...

  9. 超级干货 :最全算法学习资源汇总(附链接)

    在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...

最新文章

  1. 中科院等发布《2017研究前沿》 中国25个前沿表现卓越 居全球第二
  2. axios基础和封装
  3. 田志刚:企业知识管理与用户创造内容(UGC)
  4. c语言 读取一个文件 删除注释,C/C++ 源文件删除注释代码
  5. [JS]图片自动切换效果(学习笔记)
  6. 数据库系统概论第五版课后习题——第一章 绪论
  7. Motion 5 for Mac(专业视频编辑软件)v5.3.2永久破解版
  8. wap网站制作教程,Github标星5.3K
  9. AIS (船舶自动识别系统Automatic Identification System)数据解析
  10. 用canvas制作的躲避球小游戏html5源码
  11. Win11忘记本地账户密码了怎么移除或修改密码
  12. 精彩揭秘,一个高大上的机器人自动化工厂需要哪些标配?
  13. 实例化和初始化的区别
  14. Java项目:SpringBoot图书管理系统
  15. EDI 对接CommerceHub OrderStream
  16. 鸿蒙电视发布会,鸿蒙发布会:无论设备大小 只需一个系统!
  17. Windows系统版本判定那些事儿
  18. 天使动漫 泉 此 方 桌面跳舞精灵
  19. 美文欣赏-------小石潭记
  20. RoboMaster机器人运行教程(一)

热门文章

  1. java中的几种对象(PO,VO,DAO,BO,POJO)
  2. Eclipse 小插件
  3. 粗谈Android中的对齐
  4. 【物联网中间件平台-01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世
  5. Cosmos的基石:IL2CPU编译器--.net/C#开源操作系统学习系列三
  6. Api 函数: GetCursorPos 与转换
  7. HashMap和HashTable区别
  8. OpenCV读写YAML/XML文件
  9. 18,rand('state',sum(100*clock))
  10. 在C#中怎样推断线程当前所处的状态