ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译

文前总结:

ERNIE2.0的亮点:

1.融合了持续学习(continual Learning)、多任务学习、知识引入等多种套路。

2.构造的任务可以分为三类:1) word-aware tasks用于教模型捕捉词汇信息(lexical information);2) structure-aware task教模型捕捉句法信息(syntactic information);3) semantic-aware任务顾名思义负责捕捉语义信息。

疑点:

1)添加了这么多任务,哪些才是真实有用的?(没有做ablation study);2)多任务的机制到底是怎样的?3)实验细节太少。 

0 摘要

最近,经过预训练的模型已经在各种语言理解任务中取得了最新的成果。当前的预训练程序通常着重于通过几个简单的任务来训练模型,以掌握单词或句子的同时出现。但是,除了共同出现的信息外,在训练语料库中还存在其他有价值的词汇,句法和语义信息,例如命名实体,语义紧密度和话语关系。为了从训练语料库中提取词汇,句法和语义信息,我们提出了一个名为ERNIE 2.0的连续预训练框架,该框架以递增方式构建预训练任务,然后通过连续多任务学习来学习这些已构建任务的预训练模型。在此框架的基础上,我们构建了多个任务并训练ERNIE 2.0模型,以捕获训练数据中信息的词汇,句法和语义方面。实验结果表明,ERNIE 2.0模型在16个任务上表现优于BERT和XLNet,包括GLUE基准测试中的英语任务和一些中文类似任务。

1 简介

预先训练的语言表示形式,例如ELMo(Peters等人2018),OpenAI GPT(Radford等人2018),BERT(Devlin等人2018),ERNIE 1.0(Sun等人2019)和XLNet(Yang等人2019)被证明可有效改善各种自然语言理解任务的绩效,包括情感分类(Socher等人2013),自然语言推理(Bowman等人2015),命名实体识别(Sang和De Meulder 2003)等。通常,模型的预训练通常基于单词和句子的共现来训练模型。实际上,除同现外,还有其他词汇,句法和语义信息值得在训练语料库中进行检查。例如,诸如个人名称,位置名称和组织名称之类的命名实体可能包含概念性信息。诸如句子顺序和句子接近度之类的信息使模型能够学习结构感知表示。文档级别的语义相似性或句子之间的语篇关系使模型可以学习语义感知表示。为了发现训练语料库中的所有有价值的信息,无论是词汇,句法还是语义表示形式,我们提出了一个名为ERNIE 2.0的连续预训练框架,该框架可以通过连续的多任务逐步构建和训练各种各样的预训练任务学习。

我们的ERNIE框架支持通过不断进行多任务学习来不断引入各种定制任务。 当被赋予一个或多个新任务时,连续多任务学习方法可以有效地同时训练新引入的任务和原始任务,而不会忘记先前学习的知识。 这样,我们的框架可以根据之前掌握的参数训练增量式分布的表示形式。 而且,在此框架中,所有任务共享相同的编码网络,从而使跨不同任务的词汇,句法和语义信息的编码成为可能。 总而言之,我们的贡献如下:

•我们提出了一个连续的预培训框架ERNIE 2.0,该框架有效地支持定制训练任务和以增量方式进行连续多任务学习。

•我们构造了三种无监督的语言处理任务,以验证所提出框架的有效性。 实验结果表明,ERNIE 2.0在16个任务(包括英语GLUE基准测试和一些中文任务)上比BERT和XLNet有了显着改进。

•我们的ERNIE 2.0微调代码和在英语语料库上预先训练的模型可在https://github.com/PaddlePaddle/ERNIE上获得。

2 相关工作

2.1 语言表征的无监督学习

通过预训练带有大量未注释数据的语言模型来学习通用语言表示是有效的。传统方法通常专注于上下文无关的词嵌入。诸如Word2Vec(Mikolov等人2013)和GloVe(Pennington,Socher和Manning 2014)之类的方法基于大型语料库中单词共现信息来学习固定单词嵌入。

最近,已经提出了一些以上下文化语言表示为中心的研究,并且上下文相关的语言表示已在各种自然语言处理任务中显示了最新的结果。 ELMo(Peters等人2018)建议从语言模型中提取上下文相关的功能。 OpenAI GPT(Radford等人2018)通过调整Transformer(Vaswani等人2017)增强了上下文相关的嵌入。然而,BERT(Devlin等人2018)采用了掩盖语言模型,同时在预训练中添加了下一个句子预测任务。 XLM(Lample and Conneau 2019)集成了两种学习跨语言模型的方法,即仅依靠单语数据的无监督方法和利用平行双语数据的有监督方法。 MT-DNN(Liu等人2019)通过在预训练模型的基础上一起学习GLUE中的多个监督任务而获得了更好的结果,最终导致对在多任务监督微调阶段未学习的其他监督任务的改进 。 XLNet(Yang等,2019)使用Transformer-XL(Dai等,2019)并提出了一种通用的自回归预训练方法,该方法通过最大化因式分解的所有排列的预期可能性来学习双向上下文。

2.2 持续学习

持续学习(Parisi et al.2019; Chen and Liu 2018)旨在按顺序训练几个任务的模型,以便在学习新任务时记住先前学习的任务。 这些方法受到人类学习过程的启发,因为人类能够不断积累通过学习或经验获得的信息,从而有效地开发新技能。 通过持续学习,由于先前训练中获得的知识,该模型应该能够在新任务上表现良好。

3 ERNIE 2.0 框架

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第1张图片

如图1所示,ERNIE 2.0框架是基于广泛使用的预训练和微调架构构建的。 ERNIE 2.0与之前的预训练有所不同,与其以少量的预训练目标进行训练,不如不断地引入各种各样的预训练任务,以帮助模型有效地学习词汇,句法和语义表示。 基于此,ERNIE 2.0框架通过持续的多任务学习不断更新预训练的模型。 在微调过程中,首先使用预先训练的参数初始化ERNIE模型,然后再使用来自特定任务的数据进行微调。

3.1 持续的预训练

连续的预训练过程包含两个步骤。 首先,我们不断构建涉及大数据和先验知识的无监督预训练任务。 其次,我们通过持续的多任务学习逐步更新ERNIE模型。

Pre-training Tasks Construction 我们可以每次构造不同种类的任务,包括单词感知任务,结构感知任务和语义感知任务。 所有这些预训练任务都依赖于自我监督或弱监督的信号,这些信号可以从海量数据中获得,而无需人工注释。 诸如命名实体,短语和语篇关系之类的先验知识用于从大规模数据生成标签。

Continual Multi-task Learning ERNIE 2.0框架旨在从许多不同的任务中学习词汇,句法和语义信息。因此,有两个主要挑战需要克服。第一个是如何以连续的方式训练任务而又不会忘记以前学到的知识。第二个是如何有效地预训练这些任务。我们提出了一种持续的多任务学习方法来解决这两个问题。每当有新任务出现时,连续多任务学习方法首先使用先前学习的参数来初始化模型,然后同时训练新引入的任务和原始任务。这将确保学习的参数对以前学习的知识进行编码。剩下的一个问题是如何使它更有效地训练。我们通过为每个任务分配N个训练迭代来解决此问题。我们的框架需要针对每个任务自动将这N次迭代分配给不同的训练阶段。这样,我们就可以保证我们方法的效率,而不会忘记先前训练有素的知识。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第2张图片

图2显示了我们的方法,从头开始的多任务学习和以前的持续学习之间的区别。 尽管从头开始的多任务学习可以同时训练多个任务,但是在进行训练之前,必须准备好所有定制的预训练任务。 因此,这种方法所花费的时间与持续学习所花费的时间一样多,甚至更多。 传统的持续学习方法在每个阶段仅通过一项任务训练模型,其缺点是可能会忘记先前学习的知识。

 

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第3张图片

如图4所示,我们在每个阶段持续进行的多任务学习的体系结构包含一系列共享文本编码层,以对上下文信息进行编码,可以使用递归神经网络或由堆叠式自我注意组成的深层Transformer对其进行定义。 编码器的参数可以在所有学习任务中更新。 我们的框架中有两种损失函数。 一个是句子级别的损失,另一个是令牌级别的损失,类似于BERT的损失函数。 每个预训练任务都有其自己的损失函数。 在预训练期间,可以将一个句子级别的损失函数与多个令牌级别的损失函数结合起来,以不断更新模型。

3.2 下游任务的微调

通过对特定于任务的监督数据进行微调,可以将预训练的模型适应于不同的语言理解任务,例如问题回答,自然语言推论和语义相似性。 每个下游任务在进行微调后都有自己的微调模型。

4 ERNIE 2.0 Model

为了验证该框架的有效性,我们构造了三种不同类型的无监督语言处理任务,并开发了一种称为ERNIE 2.0模型的预训练模型。 在本节中,我们将介绍所建议框架中模型的实现。

4.1 模型结构

Transformer Encoder 该模型使用多层Transformer(Vaswani等人2017)作为基本编码器,就像其他预训练模型一样,例如GPT(Radford等人2018),BERT(Devlin等人2018)和XLM(Lample和Conneau 2019)。 Transformer 可以通过self attention来捕获序列中每个令牌的上下文信息,并生成一系列上下文嵌入。 给定一个序列,特殊分类嵌入[CLS]被添加到序列的第一位。 此外,在多个输入段任务的段间隔中,将[SEP]符号添加为分隔符。

Task Embedding 该模型提供任务嵌入以表示不同任务的特征。 我们代表ID为0到N的不同任务。每个任务ID都分配给一个唯一的任务嵌入。 相应的令牌,段,位置和任务嵌入被用作模型的输入。 我们可以使用任何任务ID在微调过程中初始化我们的模型。 模型结构如图3所示。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第4张图片

4.2 预训练任务

我们构造了三种不同的任务来捕获训练语料库中信息的不同方面。 词感知任务使模型能够捕获词汇信息,结构感知任务使模型能够捕获语料库的句法信息,而语义感知任务旨在学习语义信息。

4.2.1 感知单词的预训练任务

知识掩盖任务。 ERNIE 1.0(Sun et al. 2019)提出了一种有效的策略来通过知识整合来增强代表性。 它引入了短语掩码和命名实体掩码,并预测了整个掩码短语和命名实体,以帮助模型学习本地上下文和全局上下文中的依赖项信息。 我们使用此任务来训练模型的初始版本。

大写预测任务。大写单词通常比句子中的其他单词具有某些特定的语义信息。 Cased模型在诸如命名实体识别之类的任务中具有一些优势,而uncased模型则更适合其他一些任务。 为了结合两种模型的优点,我们添加了一项任务来预测单词是否大写。

令牌-文档关系预测任务。 此任务将预测某个段中的令牌是否出现在原始文档的其他段中。 根据经验,出现在文档许多部分中的单词通常是常用单词,或者与文档的主要主题相关。 因此,通过识别出现在段中的文档的频繁出现的单词,该任务可以使模型能够在某种程度上捕获文档的关键字。

4.2.2 感知结构的预训练任务

句子重新排序任务。 该任务旨在学习句子之间的关系。在此任务的预训练过程中,将给定的段落随机分为1到m个片段,然后按随机排列的顺序对所有组合进行混洗。我们让预训练模型重新组织这些排列的片段,将其建模为​的k分类问题。 根据经验,句子重新排序任务可以使预训练模型能够学习文档中句子之间的关系。

句子距离任务。我们还构建了一个预训练任务,以使用文档级信息来学习句子距离。 该任务被建模为3类分类问题。 “ 0”表示两个句子在同一文档中相邻,“ 1”表示两个句子在同一文档中但不相邻,“ 2”表示两个句子来自两个不同的文档。

4.2.3 感知语义的预训练任务

话语关系任务。除了上面提到的距离任务,我们还介绍了一个预测两个句子之间的语义或修辞关系的任务。我们使用Sileo等人构建的数据来训练英语任务的预训练模型。按照Sileo等人的方法,我们还自动构建了一个中文数据集进行预训练。

信息检索相关性任务。我们建立了一个预训练任务来学习信息检索中的短文本相关性。这是3类分类任务,用于预测查询和标题之间的关系。我们将查询作为第一句话,将标题作为第二句话。来自商业搜索引擎的搜索日志数据用作我们的预训练数据。此任务中有三种标签。标记为“ 0”的查询和标题对表示高度相关性,这意味着用户在输入查询后单击标题。标记为“ 1”的那些词表示相关性较弱,这意味着当用户输入查询时,这些标题会显示在搜索结果中,但不会被用户单击。标签“ 2”表示查询和标题在语义信息方面是完全无关和随机的。

5 实验

我们将ERNIE 2.0的性能与最新的预训练模型进行了比较。 对于英语任务,我们将结果与GLUE上的BERT(Devlin等人2018)和XLNet(Yang等人2019)进行了比较。 对于中文任务,我们将结果与BERT(Devlin等人2018)和先前的ERNIE 1.0(Sun等人2019)模型在几个中文数据集上进行比较。 此外,我们将把我们的方法与多任务学习和传统的连续学习进行比较。

5.1 预训练和实施

预训练数据的详细信息如表2所示。预训练任务和预训练数据集之间的关系如表1所示。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第5张图片

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第6张图片

 

 

预训练设置。 为了与BERT进行比较(Devlin等人2018),我们使用与BERT相同的Transformer模型设置。 The base model contains 12 layers, 12 self-attention heads and 768-dimensional of hidden size while the large model contains 24 layers, 16 self-attention heads and 1024- dimensional of hidden size. The model settings of XLNet (Yang et al 2019) are same as BERT.

5.2 微调任务

English Task 作为自然语言理解的多任务基准和分析平台,一般语言理解评估(GLUE)通常用于评估模型的性能。 我们还在GLUE上测试了ERNIE 2.0的性能。 具体而言,GLUE涵盖了各种NLP数据集,其详细信息已显示出来(Wang等人2018)。

Chinese Tasks 我们对9个中文NLP任务进行了广泛的实验,包括机器阅读理解,命名实体识别,自然语言推断,语义相似度,情感分析和问题解答。 具体来说,选择以下中文数据集来评估ERNIE 2.0在中文任务上的性能:

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第7张图片

 

5.3 实验结果

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第8张图片

 

 

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第9张图片

5.4 Comparison of Different Learning Methods

 

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding 论文翻译_第10张图片

为了分析在我们的框架中采用的连续多任务学习策略的有效性,我们将该方法与其他两种方法进行了比较,如图2所示。表7描述了详细信息。对于所有方法,我们假设每个任务的训练迭代都是相同的。在我们的设置中,每个任务可以进行5万次迭代训练,其中所有任务的迭代次数为20万次。可以看出,多任务学习在一个阶段训练所有任务,连续的预训练一个接一个地训练任务,而我们的连续的多任务学习方法可以在不同的训练阶段为每个任务分配不同的迭代。实验结果表明,与其他两种方法相比,连续多任务学习在下游任务上具有更好的性能,而不会降低效率。结果还表明,我们的预训练方法可以更有效,更有效地训练新任务。此外,对连续多任务学习,多任务学习和传统连续学习的比较表明,前两种方法优于第三种方法,这证实了我们的直觉,即传统持续学习往往会在只有一种新方法的情况下忘记它学到的知识。每次都涉及任务。

6 结论

我们提出了一个名为ERNIE 2.0的连续预训练框架,在该框架中,可以通过连续的多任务学习以连续的方式逐步构建和学习预训练任务。 在此框架的基础上,我们构建了涵盖语言不同方面的几项预培训任务,并培训了一种称为ERNIE 2.0模型的新模型,该模型在语言表示方面更具胜任力。 ERNIE 2.0已在GLUE基准测试和各种中文任务上进行了测试。 与BERT和XLNet相比,它取得了重大改进。 将来,我们将向ERNIE 2.0框架引入更多的预训练任务,以进一步提高模型的性能。 我们还将在我们的框架中研究其他复杂的持续学习方法。

你可能感兴趣的:(语言模型,情感分析,深度学习,语言模型,ERNIE)