『清华ERNIE』 与 『百度ERNIE』 的爱恨情仇

BERT 与 命名实体目前一般谈到ERNIE,最为出名的都是百度的ERNIE,百度ERNIE不仅在各大数据集上实现了多种任务的SOTA结果,冠绝群雄,而且在业务中也得到了广泛的应用。本文以后的ERNIE都表示百度ERNIE,而对清华的工作称之为『清华ERNIE』。无论是ERNIE还是清华ERNIE都是基于BERT进行改进而来的,BERT已经有很多很好的博客进行讲解了,这里不累述。在ERNIE 1.0和清华ERNIE中,作者们都尝试在BERT的语言模型中引入知识图谱中的实体/命名实体[5]的概念,从而引入知识图谱的先验知识。我们后续分别介绍 清华ERNIE,ERNIE 1.0和ERNIE 2.0的一些内容,以及这些工作之间的对比与分析。

清华ERNIE该工作的全称是Enhanced language Representation with iNformatIve Entities(ERNIE),其基本思想就是在BERT的语言模型中引入了知识图谱中的命名实体的先验知识,这个动机是很直观的,以以下这句话为例子:

Bob Dylan wrote Blowin’ in the Wind in 1962, and wrote Chronicles: Volume One in 2004.

其中 加粗 的表示文本中的命名实体,如果将这些命名实体用知识图谱的方式组织起来,那么可以如Fig 1.1所示进行组织,显然,实体之间是存在各种关系的。为了将实体之间的关系组织起来,对齐文本与知识图谱的实体关系,并且将其引入BERT,清华ERNIE用TransE对大型知识图谱库wikipedia进行实体知识embedding,具体而言,作者采样了5, 040, 986个实体和24, 267, 796事实对,这些实体embedding在训练过程中是固定的。

Fig 1.1 将句子中的命名实体进行知识图谱的组织。

有了能够表达实体之间关系的实体嵌入特征,那么就需要考虑如何将其引入到BERT中了。作者提出的网络如Fig 1.2所示。其中有三大模块,一个是T-encoder,对文本的Token输入进行编码;一个是K-Encoder,对知识图谱的实体嵌入特征进行编码;最后一个是aggregator,用于对文本特征和实体特征的融合。

Fig 1.2 清华ERNIE的网络结构示意图。

T-Encoder: 这个模块的设计很简单,直接照搬了Transformer编码器的设计,这里不累述,直接用式子(1.1)表示:

其中是令牌化后的文本token,一共有n个token。

K-Encoder: 这个模块设计用于对知识图谱实体嵌入特征进行编码。如Fig 1.2所示,其主要由两个自注意力模块组成,首先如公式(1.2)所示分别对token编码特征和实体编码特征进行多头注意力集成,有:

其中的i ii表示第i ii个aggreagator,随后对两者信息进行互相集成,我们期望有一个对齐关系,那么有:

将以上过程抽象成公式(1.5)

整个K-encoder的公式到此为止,综合之前所述,可以表示为(1.6)。

{w 1o​ ,⋯,w no​ },{e 1o​ ,⋯,e mo​ }将会作为特定下游任务的特征进行处理。

模型部分就到此为止,总体来看其模型设计的很常规,token和entity的特征分别输入,然后通过编码,融合之后再次分离开,使得分离开后的特征同时融合有对方的信息。考虑到此时需要的是实体与token之间的对齐关系,作者借用了denoising entity auto-encoder(dEA)损失,如式子(1.7)所示:

这个式子通过极大似然去估计某个token预测得到某个实体的概率,通过交叉熵进行损失衡量。注意到,其中采用的表示第j jj个实体的原始输入嵌入特征,因为这样才能度量融合后的token特征蕴含对应实体的信息量大小。

同时作者还采用了传统BERT训练中的文本Masked Language Model(MLM)损失和Next Sentence Predict(NSP)损失,其中总损失如:

评价: 该工作通过网络结构的改造进行KG实体的语义对齐,是一个值得阅读的文章,我们对比百度的工作,就会发现各有特点。

百度ERNIE 1.0百度的口号是『简单可依赖』,ERNIE的设计的确符合这个口号。同样是为了引入知识图谱中的实体语义,和清华的工作不同,对于ERNIE而言,作者没有对模型结构进行任何修改,采用的就是完全的BERT模型。作者想办法对masked language model进行修改,使得其分层次地对token进行mask。假如给定一句话:

Harry Potter is a series of fantasy novels written by J. K. Rowling

其中的Harry Potter和J. K. Rowling都是命名实体,如果MLM将其中某个字符mask掉了,比如将Harry Potter处理成[MASK] Potter这显然是不合理的,我们期望的是对某个实体一并地进行mask,如Fig 2.1所示。

Fig 2.1 BERT vs ERNIE在MLM模型中的mask机制。

当然,这只是entity-level的策略,除了基本的Basic-level策略外,在本文中,作者还引入了phrase-level的策略,具体我们见Fig 2.2所示。其中的Basic-level策略和传统MLM一样,随机对单词进行mask;Phrase-level策略更为精致一些,其用一些分块,分phrase算法将phrase进行分段后,然后以phrase为单位进行mask;entity-level策略就是通过NER算法将文本中的命名实体找出来后进行mask。

Fig 2.2 三种不同层次的masking策略,可以学习到不同粒度的语言模型。

这里没有像清华的工作一样用显式地引入知识图谱的实体嵌入特征,而是尝试让模型通过entity-level mask进行隐式的学习。

百度 ERNIE 2.0同样,百度的ERNIE 2.0还是坚守其『简单可依赖』的特点,其模型没有任何改变,但是作者引入了持续多任务学习的概念(Continual Multi-task learning),添加了粒度从粗到细的一系列task(可以认为是不同的损失函数),从而让ERNIE 2.0实现了霸榜的地位。我们分析一下。

为了描述复杂的文本语义关系,我们可能会定义很多的任务进行描述,粒度从细到粗有以下几类:

Word-aware pretrain task,这类型的任务考虑如何组织单词之间的词法关系。Structure-aware pretrain task,这类型的任务考虑如何组织句子之间的句法关系。Semantic-aware pretrain task, 该类型的任务考虑如何组织文本语义块之间的语义关系。每一个大类的任务里面可能有很多小类任务,而且可能随时会添加新的任务,为了使得这个过程可控,通常我们需要用持续学习(Continual Learning)进行多任务的管理,如Fig 3.1 所示,持续学习通过分阶段地分别训练某个任务达到『可持续』的目的。然而,深度模型训练过程中存在遗忘效应,经常后面训练的任务会覆盖之前学习到的知识;这个时候就可以考虑采用多任务学习(Multi-task learning)的方式进行学习,如Fig 3.1所示,通过联合多个任务同时训练,可以保证模型同时能对多任务的信息进行感知。将两者结合起来,就有了序贯结构的可持续多任务学习框架了。

Fig 3.1 不同学习方式的对比。

作者在训练中,采用了如Fig 3.2所示的多种任务进行训练,其中分别简单介绍下:Knowledge Masking: 就是ERNIE 1.0里面提到的entity-level策略。Token-Document Relation: 这个类似于TF-IDF,是一种统计在某个segment中出现的token在原文章中其他部分出现的频次,是一种通过词频统计去分析文章主题的工具。Capital Prediction: 用于判断单词是否是大写,因为大写的单词通常具有特殊含义,比如USA,UK,New York等,通常在NER任务中有所帮助。Sentences Reordering: 将给定的段落随机划分为1到m段,然后将其打乱,预测段的正确顺序。Sentences Distance:这个是一个分类任务,如果给定两个句子是领接的,那么判断为0;如果给定句子是同一个文章的,那么判断为1;如果给定句子是来自不同文档的,判断为2。这个可以用来以句子的角度去判断文章主题。Discourse Relation:通过[6]的工作产生数据集,判断给定句子之间的修辞,语义承接关系。具体见[6]。IR Relevance: 是一个分类任务,采用了百度自己内部搜索结果的数据,对于某个Query而言,产生的doc的Title,如果这两个是匹配的(展示了,而且用户点击了),判断为0;如果在搜索引擎上展示了但是用户没点击,那么是1;如果完全不展示,那么是2。注意,这种数据是商业秘密,不开源的。

Fig 3.2 在训练中使用的不同的任务。

实验结果分析是模型结构改进重要?还是pretrain task重要呢?我觉得这三篇文章给出了一个自己的答案。如Fig 4.1所示展示了清华ERNIE的在GLUE上的结果,Fig 4.2所示展示了百度ERNIE 2.0的GLUE实验结果。我们能发现百度的ERNIE 2.0结果全任务上碾压了清华的ERNIE,达到了SOTA的结果。(我们这里不对比ERNIE 1.0,因为1.0版本其实可以视为是2.0版本的弱化版本,其设计思想都是一脉相承的。)当然,百度的工作在中文任务上的表现也是最出色的,如Fig 4.3所示。这个一定程度说明了,对于这种大规模pretrain模型来说,也许模型结构的修改并没有那么重要,笔者的想法是毕竟现在的pretrain模型都大的惊人,其假设空间非常巨大,如果能控制适合的任务去约束搜索,那么其实是等价于模型显式的结构修改的。就目前来说,也许以下几点对于pretrain模型的改进更为重要:

更合适的pretrain任务更巨大的pretrain数据更精致的pretrain label更科学的多任务学习框架

Fig 4.1 清华ERNIE在GLUE上的结果。

Fig 4.2 ERNIE 2.0 在GLUE的结果。

Fig 4.3 ERNIE 2.0在中文任务上的表现同样非常出色。

我们继续看看模型的可持续多任务框架是否有效呢?作者同样设计了实验证明,如Fig 4.4所示。

Fig 4.4 可持续多任务学习框架的有效性实验。

Reference

[1]. Sun, Y., Wang, S., Li, Y., Feng, S., Tian, H., Wu, H., & Wang, H. (2020, April). Ernie 2.0: A continual pre-training framework for language understanding. In Proceedings of the AAAI Conference on Artificial Intelligence (Vol. 34, No. 05, pp. 8968-8975).

[2]. Sun, Yu, Shuohuan Wang, Yukun Li, Shikun Feng, Xuyi Chen, Han Zhang, Xin Tian, Danxiang Zhu, Hao Tian, and Hua Wu. “Ernie: Enhanced representation through knowledge integration.” arXiv preprint arXiv:1904.09223 (2019).

[3]. Zhang, Zhengyan, Xu Han, Zhiyuan Liu, Xin Jiang, Maosong Sun, and Qun Liu. “ERNIE: Enhanced language representation with informative entities.” arXiv preprint arXiv:1905.07129 (2019).

[4]. https://github.com/PaddlePaddle/ERNIE

[5]. https://fesian.blog.csdn.net/article/details/113845918

[6]. Sileo, D., Van-De-Cruys, T., Pradel, C., & Muller, P. (2019). Mining discourse markers for unsupervised sentence representation learning. arXiv preprint arXiv:1903.11850.

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 49
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧