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

640?wx_fmt=png

作者:Michael Ye

翻译:陈雨琳

校对:吴金笛

本文约 1500字 ,建议阅读 7分钟

本文将介绍多任务学习。


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

  2. 梯度下降

  3. 预训练&微调

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

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

640?wx_fmt=png


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

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

640?wx_fmt=png


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

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

640?wx_fmt=png


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

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

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

640?wx_fmt=png

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

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

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

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

我们已经解释了多任务学习,而ERNIE 2.0架构中还有另一个关键概念,那就是……
 
持续学习
 
训练神经网络面临的一个挑战是这样一个事实:局部最小值并不总是全局最小值。

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

640?wx_fmt=png

图 2

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

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

  1. 在任务1上进行训练

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

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

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

640?wx_fmt=png

图 3

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

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

https://arxiv.org/pdf/1412.6980.pdf。

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

640?wx_fmt=png

这张图在论文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个任务。
 

640?wx_fmt=png

图 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

编辑:于腾凯
校对:林亦霖

译者简介

640?wx_fmt=png

陈雨琳,清华大学大二在读,英语专业。专业学习之外喜欢学些数学、计算机类课程,被数据和模型的魅力所吸引,希望未来能往这个方向发展。道阻且长,行则将至。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

点击“阅读原文”拥抱组织


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于深度学习的文本分类任务是指利用深度学习模型对文本进行情感分类。在这个任务中,我们使用了CNN和RNN模型来进行文本分类。数据集包含了15万余项英文文本,情感分为0-4共五类情感。任务的流程如下:输入数据→特征提取→神经网络设计→结果输出。 在特征提取阶段,我们使用了词嵌入(Word embedding)技术。词嵌入是一种将单词映射到低维向量空间的方法,它可以将单词的语义信息编码为向量表示。在本次任务中,我们参考了博客\[NLP-Beginner 任务二:基于深度学习的文本分类\](https://pytorch.org/Convolutional Neural Networks for Sentence Classification)中的方法,使用了预训练的词嵌入模型。 神经网络设计阶段,我们采用了卷积神经网络(CNN)和循环神经网络(RNN)的结合。具体来说,我们使用了四个卷积核,大小分别为2×d, 3×d, 4×d, 5×d。这样设计的目的是为了挖掘词组的特征。例如,2×d的卷积核用于挖掘两个连续单词之间的关系。在模型中,2×d的卷积核用红色框表示,3×d的卷积核用黄色框表示。 最后,我们将模型的输出结果进行分类,得到文本的情感分类结果。这个任务的目标是通过深度学习模型对文本进行情感分类,以便更好地理解和分析文本数据。 #### 引用[.reference_title] - *1* *3* [NLP-Brginner 任务二:基于深度学习的文本分类](https://blog.csdn.net/m0_61688615/article/details/128713638)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [NLP基本任务二:基于深度学习的文本分类](https://blog.csdn.net/Mr_green_bean/article/details/90480918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值