来自:百度NLP
2月初,人工智能领域的顶级会议AAAI 2020已在美国纽约召开,百度共有28篇论文入选。NLP预训练领域入选论文《ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding》被选为Oral展示。
该论文提出了持续学习的语义理解框架,该框架可增量学习海量数据中的知识,持续提升语义理解效果,本文将对其展开解读。
基于该框架,ERNIE 2.0模型通过命名实体预测、句子排序结构重建、语义逻辑关系预测等预训练任务学习词法、结构、语义等多个维度知识,大幅提升了通用语义理解水平。去年12月,基于ERNIE 2.0改进的模型在权威榜单GLUE上首次突破90大关,超越人类基线3个点,获得全球第一。
论文地址:
https://arxiv.org/abs/1907.12412
Github地址:
https://github.com/PaddlePaddle/ERNIE
一、研究动机
近两年,以BERT为代表的无监督预训练技术在多个自然语言处理任务上取得技术突破,基于大规模数据的无监督预训练技术是未来自然语言处理领域发展的重要方向。
之前的工作主要通过语言共现信号构建语言模型任务进行建模,例如BERT通过掩码语言模型和下一句预测任务进行预训练。然而,除了语言共现信息外,语料中还包含词法、结构、语义等更多有价值的信息,例如人名、地名、机构名等概念知识,句子间顺序和距离关系等结构知识,语言逻辑关系等语义知识。
那么如果持续地学习各类任务,模型的效果能否进一步提升? 这就是ERNIE 2.0希望探索的。
二、ERNIE 2.0框架
框架概述
ERNIE 2.0框架是基于预训练/微调架构构建的,这种架构在NLP中非常流行。与BERT等预训练方法的不同之处在于:它并不是在少量预训练任务上完成的,而是通过不断引入新的预训练任务,帮助模型持续高效地学习语义信息。
ERNIE框架支持引入各种自定义预训练任务,这些任务共享相同的编码网络并通过多任务学习实现训练。当我们给出新的任务时,ERNIE 2.0框架可以根据先前预训练的权重增量地学习新的知识。
图1 ERNIE 2.0框架
ERNIE 2.0预训练过程可以分为两个步骤,即构建无监督预训练任务和通过多任务学习增量地更新ERNIE模型。这里不同的任务有序地加入框架中训练,框架通过持续多任务学习使得模型在学习新任务时不遗忘已经学到过的知识。对于不同的应用任务,ERNIE 2.0会使用具体的任务数据微调。
持续多任务学习
ERNIE 2.0在学习过程中有两个主要的挑战: 第一个是如何以连续的方式训练任务,而不忘记以前所学的知识;第二个是如何更有效地学习这些预训练任务。为此,ERNIE 2.0中探索了3种预训练的学习方式:
图 2 不同预训练方式
1、Continual Learning:在训练的每一个阶段仅通过一项任务来训练模型,其缺点是会忘记先前学习的知识。
2、Multi-task Learning:所有任务一起进行多任务学习,其缺点是在进行训练之前必须准备好所有定制的预训练任务,每当有新任务时,模型都需要从头学习。
3、Sequential Multi-task Learning:ERNIE 2.0中新提出的方法,每当有新任务出现时,使用先前学习的参数来初始化模型,并同时训练新引入的任务和原始任务。这样解决了前两种方法的问题,可以随时引入新任务,并保留先前学到的知识。
三、ERNIE 2.0模型
图3 ERNIE 2.0模型结构
ERNIE 2.0 Model使用Transformer作为编码器。经过多层的self-attention机制计算文本的上下文相关表示,学习不同层面的任务。同时,其引入了Task Embedding建模不同的预训练任务。模型使用Word、Sentence、Position和Task对应的表示加和作为输入。
模型的预训练任务是从词汇、结构和语义三个层面构建的,以捕获和建模训练数据中不同的信息,这里列举一些典型的预训练任务:
词汇层面任务
1、知识掩码任务:
ERNIE 1.0(https://arxiv.org/abs/1904.09223) 中介绍了知识掩码任务,其通过对词、实体等语义单元进行完整地掩码,使得模型学习完整概念,ERNIE 2.0使用其作为一个预训练任务。
图4 知识掩码任务
2、大小写预测任务:
在英文等语言中,大写的词汇(如Newton等)包含了特殊的语义信息。传统建模有两种:第一种是全部转化为小写,更适合自然语言推断等任务;第二种是保留大小写信息,更适合命名实体识别等任务。在大小写预测任务中,模型去学习每个词汇在原文中是否为大写,兼顾了两种建模方式的优势。
结构层面任务
1、句子排序任务:
句子之间的顺序反映了它们之间的逻辑顺序以及时间顺序。ERNIE 2.0构建了句子排序预训练任务。在训练过程中,随机将一个段落中的N个句子打乱,让模型预测正确的顺序。
图5 句子排序任务
2、句子距离任务:
句子排序任务建模了段落内的句子关系。如果建模更长的结构关系,能否进一步加强模型能力?例如,不同距离的句对有不同的语义紧密程度。
ERNIE 2.0构建了句子距离任务。输入任意两个句子,模型预测两个句子是否相邻、是否属于同一文章,来判断两句的语义关系是否紧密、是否属于同一话题。
语义层面任务
逻辑关系预测任务:
短句之间的连词往往准确地表示了它们的逻辑关系。在该任务中,ERNIE 2.0使用短句间的连词,进行无监督的逻辑关系分类,建模了细粒度的语义。
图6 句子逻辑关系任务
四、实验结果
论文中分别比较了ERNIE 2.0和当前最优预训练模型在中英文任务上的性能。英文任务中,ERNIE 2.0在自然语言理解数据集GLUE的7个任务上超过了BERT和XLNet。中文上,ERNIE 2.0在阅读理解、情感分析、问答等不同类型的9个数据集上超越了BERT,并刷新了最优效果。
ERNIE 2.0 在英文任务上的效果
ERNIE 2.0模型在GLUE数据集上的性能如表1所示。可以看出相对之前的最优模型BERT和XLNet,效果提升明显。
表1 ERNIE 2.0在GLUE上的效果
ERNIE 2.0 在中文任务上的效果
在 9 个中文NLP任务上,ERNIE 2.0_Base在全部9项任务上的效果均超越BERT_BASE,同时ERNIE 2.0_LARGE效果达到了业界最优。
表2 ERNIE 2.0在9项中文NLP任务上的效果
五、结语
在该论文提出的持续学习语义理解框架ERNIE 2.0中,知识可通过预训练任务的形式加入到训练框架。该框架可在引入新任务学习时,不遗忘之前学到过的信息。
基于该框架,百度研究者提出了词法、结构、语义三个维度构建的多种预训练任务,大幅提升了ERNIE 2.0模型的通用语义理解水平。该技术已经在工业界得到广泛应用,在搜索、信息流、智能音箱、智能客服等产品中的效果都取得了显著提升。
至此,AAAI 2020中百度在NLP领域入选的第二篇论文《ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding》的分享到此结束,我们将继续对AAAI 2020中百度入选的其余2篇NLP领域论文进行详细解读,敬请关注!