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框架是基于预训练/微调架构构建的,这种架构在NLP中非常流行。与BERT等预训练方法的不同之处在于:它并不是在少量预训练任务上完成的,而是通过不断引入新的预训练任务,帮助模型持续高效地学习语义信息。
ERNIE框架支持引入各种自定义预训练任务,这些任务共享相同的编码网络并通过多任务学习实现训练。当我们给出新的任务时,ERNIE 2.0框架可以根据先前预训练的权重增量地学习新的知识。
图1 ERNIE 2.0框架
ERNIE 2.0预训练过程可以分为两个步骤,即构建无监督预训练任务和通过多任务学习增量地更新ERNIE模型。这里不同的任务有序地加入框架中训练,框架通过持续多任务学习使得模型在学习新任务时不遗忘已经学到过的知识。对于不同的应用任务,ERNIE 2.0会使用具体的任务数据微调。
持续多任务学习
ERNIE 2.0在学习过程中有两个主要的挑战: 第一个是如何以连续的方式训练任务,而不忘记以前所学的知识;第二个是如何更有效地学习这些预训练任务。为此,ERNIE 2.0中探索了3种预训练的学习方式:
1、Continual Learning:在训练的每一个阶段仅通过一项任务来训练模型,其缺点是会忘记先前学习的知识。
2、Multi-task Learning:所有任务一起进行多任务学习,其缺点是在进行训练之前必须准备好所有定制的预训练任务,每当有新任务时,模型都需要从头学习。
3、Sequential Multi-task Learning: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使用其作为一个预训练任务。
2、大小写预测任务:
在英文等语言中,大写的词汇(如Newton等)包含了特殊的语义信息。传统建模有两种:第一种是全部转化为小写,更适合自然语言推断等任务;第二种是保留大小写信息,更适合命名实体识别等任务。在大小写预测任务中,模型去学习每个词汇在原文中是否为大写,兼顾了两种建模方式的优势。
结构层面任务
1、句子排序任务:
句子之间的顺序反映了它们之间的逻辑顺序以及时间顺序。ERNIE 2.0构建了句子排序预训练任务。在训练过程中,随机将一个段落中的N个句子打乱,让模型预测正确的顺序。
2、句子距离任务:
句子排序任务建模了段落内的句子关系。如果建模更长的结构关系,能否进一步加强模型能力?例如,不同距离的句对有不同的语义紧密程度。
ERNIE 2.0构建了句子距离任务。输入任意两个句子,模型预测两个句子是否相邻、是否属于同一文章,来判断两句的语义关系是否紧密、是否属于同一话题。
语义层面任务
逻辑关系预测任务:
短句之间的连词往往准确地表示了它们的逻辑关系。在该任务中,ERNIE 2.0使用短句间的连词,进行无监督的逻辑关系分类,建模了细粒度的语义。
实验结果相关内容,欢迎前往“百度NLP”公众号,查看论文解读全文,“百度NLP”将通过公众号文章的形式就AAAI 2020入选的其余几篇NLP领域论文进行详细解读,敬请关注!