ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding(2019-7-29)

ERINE系列模型:

ERINE1.0:https://blog.csdn.net/weixin_49346755/article/details/127257733?spm=1001.2014.3001.5501
ERNIE3.0:https://blog.csdn.net/weixin_49346755/article/details/127258228?spm=1001.2014.3001.5501
ERNIE-Gram:https://blog.csdn.net/weixin_49346755/article/details/127259532?spm=1001.2014.3001.5501
ERNIE-Doc:https://blog.csdn.net/weixin_49346755/article/details/127262111?spm=1001.2014.3001.5501
THU-ERNIE:https://blog.csdn.net/weixin_49346755/article/details/127263266?spm=1001.2014.3001.5501

模型介绍

通常,模型的预训练通常基于单词和句子的共现来训练模型。实际上,除同现外,还有其他词汇,句法和语义信息值得在训练语料库中进行检查。例如,诸如个人名称,位置名称和组织名称之类的命名实体可能包含概念性信息。诸如句子顺序和句子接近度之类的信息使模型能够学习结构感知表示。文档级别的语义相似性或句子之间的语篇关系使模型可以学习语义感知表示。为了发现训练语料库中的所有有价值的信息,无论是词汇,句法还是语义表示形式,我们提出了一个名为ERNIE 2.0的连续预训练框架,该框架可以通过连续的多任务逐步构建和训练各种各样的预训练任务学习。

ERNIE2.0以递增方式构建预训练任务,然后通过连续多任务学习来学习这些已构建任务的预训练模型。ERNIE2.0的结构与 ERNIE1.0 、BERT 一样,ERNIE2.0主要是从修改预训练任务来提升效果。

模型结构

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

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding(2019-7-29)_第1张图片

模型改进

持续的预训练

主要有三种策略,如下图所示:

Multi-task Learning:就是让模型同时学这3个任务,具体的让这3个任务的损失函数权重相加,然后一起反向传播更新参数;

Continual Learning:先训练任务1,再训练任务2,再训练任务3,这种策略的缺点是容易遗忘前面任务的训练结果,最后训练出的模型容易对最后一个任务过拟合;

Sequential Multi-task Learning:连续多任务学习,即第一轮的时候,先训练任务1,但不完全让它收敛训练完,第二轮,一起训练任务1和任务2,同样不让模型收敛完,第三轮,一起训练三个任务,直到模型收敛完。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding(2019-7-29)_第2张图片

ERNIE 2.0采用策略三的思想。

具体的,如下图所示,每个任务有独立的损失函数,句子级别的任务可以和词级别的任务一起训练,相信做过联合训练的并不陌生。

ERNIE 2.0: A Continual Pre-Training Framework for Language Understanding(2019-7-29)_第3张图片

更复杂的预训练任务

Word-aware Pre-training Tasks

  • 短语mask以及实体词mask任务,帮助模型学习局部上下文和全局上下文中的依赖关系信息
  • 大写词语预测;在英文中通常一些大写的词包含了特定语义信息
  • 词语和文档之间关系预测;预测在一个文档中出现的词是否出现在其他文档中,若一个词出现在多个文档中,则证明这个词有可能为文章主题词

Structure-aware Pre-training Tasks

  • 句子顺序预测;语义重排任务可以使预先训练好的模型学习文档中句子之间的关系
  • 句子距离任务;该任务被建模为一个三类分类问题。0表示这两个句子在同一文档中相邻,1表示这两个句子在同一文档中,但不相邻,2表示这两个句子来自两个不同的文档

Semantic-aware Pre-training Tasks

  • 语篇关系任务;引入了一个任务来预测两个句子之间的语义或修辞关系
  • IR相关性任务;思想:给定一个query和一个title,预测是否相关,在这项任务中有三种标签。被标记为“0”的查询和标题对代表强相关性,这意味着用户在输入查询后点击标题。那些被标记为“1”的标题代表弱相关性,这意味着当用户输入查询时,这些标题出现在搜索结果中,但没有被用户点击。标签2表示查询和标题在语义信息方面是完全不相关的和随机的

模型参考

论文地址:https://arxiv.org/abs/1907.12412

代码地址:https://github.com/PaddlePaddle/ERNIE

你可能感兴趣的:(深度学习(NLP),深度学习,自然语言处理,人工智能)