随着自然语言处理在越来越多的用例中被广泛采用,从搜索引擎到移动智能助手,诸如百度的ERNIE(通过知识整合增强表示)等领先的预训练语言模型由于在机器学习领域受到了广泛关注。自从今年早些时候发布以来取得了重大进展,今天很高兴地宣布ERNIE在GLUE上取得了最新的性能,并成为世界上第一个在宏观平均得分方面得分超过90的模型(90.1)。
GLUE(通用语言理解评估)是一个广泛认可的自然语言理解(NLU)的多任务基准和分析平台。它包括多个NLU任务,包括问题回答,情感分析,文本内容以及用于模型评估,比较和分析的关联在线平台。
ERNIE是一个连续的预训练框架,通过顺序多任务学习对任务进行预训练来逐步构建和学习。在今年年初推出了ERNIE 1.0,并在7月发布了改进的ERNIE 2.0模型。后者在中文和英文的16个NLP任务中均胜过Google的BERT和卡耐基梅隆大学的XLNet(竞争性的预训练模型)。
这次,训练有素的ERNIE模型在GLUE公共排行榜上名列前茅,其次是Microsoft的MT-DNN-SMART和Google的T5。具体而言,ERNIE在CoLA,SST-2,QQP和WNLI上已取得了SOTA,并以10点的显着提升超过了Google的BERT。
为什么ERNIE表现这么好?
ERNIE 2.0的主要贡献是持续的预训练。研究人员使用可用的大数据和先验知识创建不同种类的无监督预训练任务,然后通过多任务学习来逐步更新框架。
在ERNIE 2.0之上,研究人员对知识掩盖和面向应用程序的任务进行了一些改进,目的是提高模型的一般语义表示能力。
为了改进知识屏蔽策略,提出了一种新的基于互信息的动态知识屏蔽算法。它可以有效地解决从产生的问题掩盖语义单元的低多样性在ERNIE 1.0中,这对短语和高度依赖命名实体识别工具。
首先,动态知识掩蔽算法通过假设检验从海量数据集中以高置信度提取语义单元,并计算它们的互信息。基于此信息及其统计信息,模型计算这些语义单元的概率分布,该概率分布用作掩蔽时的采样概率。这种动态知识掩蔽算法不仅保持ERNIE 1.0建模知识单元的能力,而且还提高了掩蔽先验知识的多样性。
下图显示了不同掩蔽算法之间的区别,其中B(开始)代表文本范围的开始,而I(内部)代表当前位置应形成一个范围,其单词标记为B。以下图为例,动态知识屏蔽算法根据概率分布对语义单元进行采样,并动态构造要屏蔽的语义单元。
为了提高ERNIE在应用程序任务上的性能,还构建了针对不同应用程序的预训练任务。例如,团队添加了一个共指解析任务,以识别文本中引用同一实体的所有表达式。在一个无监督的语料库中,团队屏蔽了文本中同一实体的某些表达式,用不同的表达式随机替换了它们,并训练了模型以预测替换后的文本是否与原始文本相同。
此外,扩充了训练数据并优化了模型结构。在预训练数据集中,进一步使用对话数据来改进语义相似度计算。在对话数据中,对应于相同答复的话语通常在语义上相似。通过利用对话数据中的这种语义关系,训练ERNIE更好地对语义相关性进行建模,从而提高了诸如QQP之类的语义相似性任务的性能。
一直在将ERNIE的语义表示应用于实际应用场景中。例如,2019年第三季度财务结果突出显示,前1个搜索结果所满足的用户查询百分比绝对提高了16%。这种改进是由于在搜索引擎中采用了ERNIE来回答问题。
尽管对语言的理解仍然是一个艰巨的挑战,但是在GLUE上的研究结果表明,具有持续训练和多任务学习的预训练语言模型是NLP研究的一个有希望的方向。将通过持续的预训练框架来不断提高ERNIE模型的性能。
论文链接:
https://arxiv.org/pdf/1907.12412
模型和代码可在GitHub上获得。
https://github.com/PaddlePaddle/ERNIE