知识增强系列 ERNIE 2.0: A Continual Pre-training Framework for Language Understanding,论文解读

 知识增强系列1.0的后续知识增强系列 ERNIE: Enhanced Representation through Knowledge Integration,论文解读_ernie的论文-CSDN博客

1. motivation

        当前模型仍然基于Bert构建,Bert系列的工作主要通过简单的几个任务(掩码语言模型和下一句预测)预训练模型,从而掌握单词或句子的共现性。

        但是除了语言共现信息外,语料中还包含词汇(lexical)句法(syntactic)语义信息(semantic)等更多有价值的信息,例如人名、地名、机构名等概念知识,句子间顺序和距离关系等结构知识,语言逻辑关系等语义知识。

        因此2.0在ERNIE 1.0 基础之上,设计并采用continual multi-task learning

2. 2.0技术特色

        ERNIE 2.0预训练过程可以分为两个步骤,即构建无监督预训练任务通过多任务学习增量地更新ERNIE模型。这里不同的任务有序地加入框架中训练,框架通过持续多任务学习使得模型在学习新任务时不遗忘已经学到过的知识。对于不同的应用任务,ERNIE 2.0会使用具体的任务数据微调。

2.1 Continual Pre-training:不同的任务如何有效组合、训练

        论文对比了3中多任务学习模式:其中第三种是自己设计的continual multi-task learning

        第一种:Multi-task Learning:同时选定多个tasks进行训练,但这种方法需要将每个task的数据都预先准备好,如果某task训练集发生了增强或者添加了必要成分,那么就需要重新训练所有task。同时,训练集往往也会在迭代过程中逐渐增加。

        第二种:Continual Learning:传统的连续学习,是将task依次放入模型进行学习,但是有‘遗忘’问题。

        基于上述两种连续学习方法,论文提出了Sequential Multi-task Learning:在每个step,选择多个任务进行Continual Learning。

图1:三种不同的连续学习方式如下图所示

 图2:Sequential Multi-task Learning如下图所示

图3:序列多任务学习,具体训练流程 

  

        我们根据图3,来仔细讲讲‘序列多任务学习’的训练流程:

        假设现在有3个任务需要训练A、B、C;可以看到任务A的训练数据分为A1、A2、A3;任务B的训练数据分为B1、B2;任务C的训练数据分为C1;

        训练第一步(step1):在step1中使用数据A1单独训练任务A;

        训练第二步(step2):此时有2个任务A和B需要训练,采用的训练策略是Multi-task Learning(并行/同时训练),使用数据A2和B1(注意:一般来讲A1+A2的数据量=B1)

        训练第三步(step3):此时有3个任务A、B和C需要训练,步骤内仍然采用并行训练的策略,分别使用训练数据A3、B2、C1

        观察,每一个step之间是串形结构,形似传统的连续学习Continual Learning;为了解决遗忘问题,在每个step内步同时对多个任务进行并行训练,采用Multi-task Learning。组合在一起就是本文提出的Sequential Multi-task Learning。

2.2 Pre-training Task Construction

        有了合理的训练策略,接下来需要设计不同的训练任务使模型学习到词汇(lexical)句法(syntactic)语义信息(semantic)等有价值的信息。在这里论文构建了3中类型的预训练任务。       

        第一类:Word-aware Pre-training Task:词汇

        1. Knowledge Masking:如ERNIE 1.0中所述,挑选文本中的实体进行mask,而不是只mask单一的token;

        2. Capitalization Prediction Task(大写预测):与句子中的其他单词相比,大写单词通常具有特定的语义信息。(在中文中貌似不太适用)

        3. Token-Document Relation Prediction Task:预测一个片段中的token也出现在原始文档的其它片段中。任务目的在于捕捉文档的关键词;

        提出这个任务的假设是:根据经验,出现在文档许多部分的单词通常是常用单词或与文档的主要主题相关。因此,通过识别出现在片段中的文档中频繁出现的单词,该任务可以在一定程度上使模型能够捕捉文档的关键词。

        第二类:Structure-aware Pre-training Tasks:句法

        1. Sentence Reordering Task(重排):将一段文字切分为 m 段,那么一共有 m阶乘数量的组合。判断所有片段随机排列组合中是否按照原始排序

        2. Sentence Distance Task:利用文档级别的信息来学习句子距离。

定义为三分类任务,判断两个文本是否相邻(0);同源文档 但 不相邻(1);以及其它 (2)

        第三类:Semantic-aware Pre-training Tasks:语义信息

        1. Discourse Relation Task:预测语义或修辞关系的任务,

        2. IR Relevance Task:学习信息检索中的短文本相关性。3分类任务,输入:query和对应的标题title / 召回很相似

0:(查询,标题)有强相关性,意味着用户在输入后,会点击标题;

1:(查询,标题)弱相关性,用户输入查询时,标题会出现在搜索结果中,但用户无点击;

2:(查询,标题)在语义上完全无关和随机

 3. 模型结构

        ERNIE2.0模型依然采用多层Transformer的Encoder作为模型架构。

        在embedding层面:token emebdding + segment embedding + position embedding + Task Embedding;任务编码类似segment embedding,为每个Task进行编号,并映射到对应的embedding table上。

4. 结果

        从下图可以看到,每一类任务总数据量其实是一致的都是50k(个人认为不一致也没关系,可以侧重)。

5. 总结

        ERNIE 1.0 核心点是mask 掩码策略的变化;而2.0的核心点是训练策略的变化,不同类型的任务合理的组合训练,使预训练模型能够学习到更丰富的知识。

  • 21
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值