2月初,人工智能领域的顶级会议AAAI已在美国纽约召开,百度共有28篇论文入选。NLP预训练领域入选论文《ERNIE2.0:AContinualPre-TrainingFrameworkforLanguageUnderstanding》被选为Oral展示。
该论文提出了持续学习的语义理解框架,该框架可增量学习海量数据中的知识,持续提升语义理解效果,本文将对其展开解读。
基于该框架,ERNIE2.0模型通过命名实体预测、句子排序结构重建、语义逻辑关系预测等预训练任务学习词法、结构、语义等多个维度知识,大幅提升了通用语义理解水平。去年12月,基于ERNIE2.0改进的模型在权威榜单GLUE上首次突破90大关,超越人类基线3个点,获得全球第一。
一、研究动机
近两年,以BERT为代表的无监督预训练技术在多个自然语言处理任务上取得技术突破,基于大规模数据的无监督预训练技术是未来自然语言处理领域发展的重要方向。
之前的工作主要通过语言共现信号构建语言模型任务进行建模,例如BERT通过掩码语言模型和下一句预测任务进行预训练。然而,除了语言共现信息外,语料中还包含词法、结构、语义等更多有价值的信息,例如人名、地名、机构名等概念知识,句子间顺序和距离关系等结构知识,语言逻辑关系等语义知识。
那么如果持续地学习各类任务,模型的效果能否进一步提升?这就是ERNIE2.0希望探索的。
二、ERNIE2.0框架
框架概述
ERNIE2.0框架是基于预训练/微调架构构建的,这种架构在NLP中非常流行。与BERT等预训练方法的不同之处在于:它并不是在少量预训练任务上完成的,而是通过不断引入新的预训练任务,帮助模型持续高效地学习语义信息。
ERNIE框架支持引入各种自定义预训练任务,这些任务共享相同的编码网络并通过多任务学习实现训练。当我们给出新的任务时,ERNIE2.0框架可以根据先前预训练的权重增量地学习新的知识。
图1ERNIE2.0框架ERNIE2.0预训练过程可以分为两个步骤,即构建无监督预训练任务和通过多任务学习增量地更新ERNIE模型。这里不同的任务有序地加入框架中训练,框架通过持续多任务学习使得模型在学习新任务时不遗忘已经学到过的知识。对于不同的应用任务,ERNIE2.0会使用具体的任务数据微调。
持续多任务学习
ERNIE2.0在学习过程中有两个主要的挑战:第一个是如何以连续的方式训练任务,而不忘记以前所学的知识;第二个是如何更有效地学习这些预训练任务。为此,ERNIE2.0中探索了3种预训练的学习方式:
图2不同预训练方式1、ContinualLearning:在训练的每一个阶段仅通过一项任务来训练模型,其缺点是会忘记先前学习的知识。
2、Multi-taskLearning:所有任务一起进行多任务学习,其缺点是在进行训练之前必须准备好所有定制的预训练任务,每当有新任务时,模型都需要从头学习。
3、SequentialMulti-taskLearning:ERNIE2.0中新提出的方法,每当有新任务出现时,使用先前学习的参数来初始化模型,并同时训练新引入的任务和原始任务。这样解决了前两种方法的问题,可以随时引入新任务,并保留先前学到的知识。
三、ERNIE2.0模型
图3ERNIE2.0模型结构ERNIE2.0Model使用Transformer作为编码器。经过多层的self-attention机制计算文本的上下文相关表示,学习不同层面的任务。同时,其引入了TaskEmbedding建模不同的预训练任务。模型使用Word、Sentence、Position和Task对应的表示加和作为输入。
模型的预训练任务是从词汇、结构和语义三个层面构建的,以捕获和建模训练数据中不同的信息,这里列举一些典型的预训练任务:
词汇层面任务
1、知识掩码任务:
ERNIE1.0(
转载请注明:http://www.0431gb208.com/sjszjzl/4489.html