Story Ending Prediction by Transferable BERT
Zhongyang Li, Xiao Ding and Ting Liu∗
Research Center for Social Computing and Information Retrieval, Harbin Institute of Technology
{zyli, xding, tliu}@ir.hit.edu.cn}
源码:https://github.com/eecrazy/TransBERT-ijcai2019
精简总结
受迁移学习的启发,提出可转移BERT框架,将有监督的知识迁移到常规的预训练中。
1 介绍
故事结尾预测,也称为故事完形填空测试(SCT) [Mostafazadeh等人,2016],是一项评估故事理解的开放性任务。要求从两个候选结果中选出正确的结果。
有两个问题需要解决:
- 预训练框架如何更好地利用监督知识?
- 为目标任务找到适当的监督知识需要遵循哪些基本规则?
本文试图解答以上两个问题,并作出以下贡献:
- 本研究提出了一个跨伯特框架,使伯特模型能够从无监督的语料库和现有的监督任务中转移知识。
- 我们在广泛使用的SCT v1.0数据集和最近修订的SCT v1.5盲测试数据集上获得了新的最先进的结果,这些结果更接近人类的表现。
- 基于广泛的对比实验,我们就如何选择迁移任务以提高BERT给出了一些有益的建议。误差分析显示了基于BERT的SCT模型的优缺点。
2 背景
在本文中,我们的TransBERT训练框架是基于BERT编码器[Devlin等人,2018],该编码器利用变压器块[V aswani等人,2017]作为基本计算单元。这里,我们描述了BERT编码器的主要组件,如图2所示。
Lexicon Encoder(L1)
输入X = {x1,…,xn}是长度为n的令牌序列。第一个令牌X11始终是一个特殊的[CLS]令牌。如果X被两个句子X1and X2连接在一起,它们将被一个特殊的标记[SEP]分开。词典编码器将X映射到一系列输入嵌入,每个令牌一个,通过对相应的单词、片段和位置嵌入求和来构建。
Bidirectional Transformer Encoder(L2)
BERT使用一个多层双向变压器编码器[V aswani等人,2017]将来自L1的输入嵌入映射成一系列上下文嵌入V ∈ Rd n(d是单词嵌入大小)。BERT模型[Devlin等人,2018]通过语言模型预训练来学习词典编码器和转换器编码器参数,并通过用最小的任务特定参数(L3)进行微调来将其应用于每个下游任务。
Softmax
以NLI任务为例,X被标记为c类的概率(即蕴涵)通过逻辑回归软最大值来计算:
其中WNLIis是L3中特定于任务的参数矩阵。
3 TransBERT训练框架
图三展示了TransBERT训练框架的三个阶段:
- 底层任务是无监督的预训练,有语言建模等相关任务,比如下一句预测。
- 在体系结构的中间是各种语义上与目标相关的监督任务,这些任务用于进一步预训练预训练的BERT编码器。我们称这种受监督的任务为转移任务。
- 上面是目标任务,具体就是本文中的SCT。
4 训练过程
TransBERT的训练过程包括三个阶段:无监督预训练、有监督预训练和有监督微调。
4.1 第一阶段
第一阶段遵循BERT模型的程序[Devlinet等人,2018]。词典编码器和变换编码器的参数是使用两个无监督的预测任务来学习的:掩蔽语言建模和下一句预测。这个阶段允许模型捕捉关于语言的一般知识和表示。在这项研究中,我们使用公开发布的预先训练的BERT模型[Devlin等人,2018]。
4.2 第二阶段
在第二阶段,我们将第一阶段中预先训练好的BERT模型应用于上面提出的各种监督任务。对于每个任务,将引入最小的特定于任务的参数。这些参数将与词典编码器和转换器编码器的参数一起更新。当模型在相应的开发数据集上达到最佳性能时,我们保存词典编码器和转换器编码器的参数。这个阶段使模型能够从各种监督任务中转移不同的特定任务知识,并得到更好的目标任务的初始化模型。
4.3 第三阶段
最后,模型被微调以使用新的特定于任务的参数来解决SCT,类似于第二阶段
5 回答问题
5.1 问题1
预训练框架如何更好地利用监督知识:一种方法是添加第二个预训练阶段,以集成来自现有监督任务的知识,就像斯蒂尔斯[Phang等人,2018]和TransBERT所做的那样。但是这种方法每次只能利用一个监督任务。另一种方法是以多任务学习方式预先训练转移任务[刘等,2019](例如同时训练MNLI、Twitter和SW AG)。但这种多任务的学习方式是否能给SCT带来更多的提升,即使三个任务都有帮助,也不得而知。我们将此作为未来的工作。
5.2 问题2
为一个目标任务找到合适的监督知识需要遵循哪些基本规则:首先,转移任务和目标任务需要在语义上相互关联,并共享它们之间的共同知识。这些知识可以用来解决这两个问题。其次,本文探讨了如何将知识从不同的监督任务转移到特定领域任务,表明特定领域数据集不足以改进开放领域目标任务,即使它们在语义上是相互关联的。第三,转移任务不需要和目标任务有相同的问题定义。分类转移任务可以帮助多项选择目标任务。