本次分享的论文来自于EMNLP2021会议,论文全名为Span Fine-tuning for Pre-trained Language Models,即一种预训练语言模型的片段微调(Span Fine-tuning)方法。
论文地址:https://arxiv.org/abs/2108.12848
自2018年BERT模型横空出世,预训练+微调已经成为了自然语言处理技术的新范式;并且大量的研究证明,在预训练过程中,加入全词信息、实体信息、片段信息等,可以进一步地提高预训练语言模型的效果,例如:BERT-WWM、ERNIE-BAIDU、SpanBERT、MacBERT、ZEN等(对于上述模型不了解的小伙伴,可以见本人另外一篇语言模型总结的文章:常用预训练语言模型(PTMs)总结)。但是,在预训练过程中加入这些信息,往往是笨重的、费时的;因此,该论文提出了一种新的微调方法(Span Fine-tuning),可在微调阶段根据特定的下游任务自定义使用片段信息。A:一些论文常常会采用语义角色标注或依赖句法分析作为辅助工具进行片段切割;但是这些技术需要额外的解析过程,大大增加了实际应用时复杂性。本论文使用预采样字典的形式简单方便地获取Span信息,字典则根据频率选取wikitext-103 dataset中出现的有意义的n-gram片段。N-Gram片段长度小于等于5,共构建了400k个片段。A:如下图所示,对一段输入文本,首先,按照BERT模型的处理规则,将其切割成token序列,并在其前后分别加入[CLS]和[SEP]标记,输入到BERT模型中,获取每个token的表征;其次,根据预采样字典,将输入文本进行片段切割,获取Span序列,并将BERT模型输入的token的表征按照Span进行分割,其中每一个Span Tokens表征有一个最大长度,超出则进行截断,不足则进行padding;再次,对每一个Span Tokens表征进行卷积+最大池化操作,获取Span的表征;然后,对序列中所有的Span表征进行卷积+最大池化操作,获取文本的句子向量;最后,将原始BERT输出的[CLS]向量与Span句子向量进行拼接,获得文本的信息句向量。Q:模型参数有何限制,例如:Span序列、卷积核等?A:论文中每一个Span的最大长度为16,Span序列的长度为64或128。在CNN模型处,卷积核大小为3。Q:为什么n-gram的最大长度为5,而Span的最大长度为16?A:因为BERT模型对英文进行tokenize时,会切割一些子词,导致长度比真实词语长度长。A:由于序列标注任务,需要获取融入Span信息的Token的表征,而不是句子表征。因此在模型卷积过后,不进行池化操作;将最终卷积的层输出,与原始BER模型输出进行拼接。Q:将Span信息加入到微调阶段和预训练阶段的收益哪个更高?A:通过下表可以看出,SpanFine-tuning方法在8个数据集上的平均收益为1.1,SpanBERT的收益为1.0。并且,通过下表可以看出,Span Fine-tuning方法要比预训练中使用Span信息的时间成本更低。Q:如果SpanBERT加上Span Fine-tuning方法,是否效果更优?A:通过下表可以看出,效果更好预训练模型,使用Span Fine-tuning方法,也可以提升效果。由于,SpanBERT的片段信息,对于每个下游任务都是一样的,而Span Fine-tuning方法可以适配不同的下游任务。Q:Span Fine-tuning方法与SemBERT的异同?A:SemBERT的方法与Span Fine-tuning方法很相似(出自同一实验室),都是在微调阶段加入额外的信息。但是作者认为,Span Fine-tuning方法首先使用的是预采样词表,相比于SemBERT的方法使用语义角色标注或依赖句法分析的复杂度要低很多。并且作者认为,SemBERT的动机是通过合并显式上下文语义信息来增强语言模型,而该论文的动机是让语言模型在调优中利用Span信息。(其实我们没看懂,动机有啥不同)SemBERT论文如下:https://arxiv.org/abs/1909.02209Q:Span Fine-tuning方法是否是由于增加了CNN参数导致效果提升?A:从下表可以看出,BERT模型仅加CNN层会导致效果下降。BERT模型采用随机Span、NLTK Span和N-gramSpan均有提高。论文提出的N-gram Span Fine-tuning效果提升最大。Q:为什么Span的特征提取采用CNN,而不用Max、Mean、Attention等操作?A:从下表可以看出,CNN-CNN结构框架更适合。CNN模型的局部特征抽取能力还是很强。A:词表越大,越多的n-gram片段被合到一起,会使Span序列越短。从下图中可以看出,当词表大小在20k到200k范围内,效果最佳。A:从下表可以看出,无论是bert-base还是bert-large,使用Span Fine-tuning方法后,效果均有提高。个人觉得“Span Fine-tuning”方法,是下游微调的一个trick。就好比,我们在打比赛时,会加入分词信息、词性信息等等。整理不易,请多多关注、转发、点赞。也请多多关注本人知乎「刘聪NLP」,有问题的朋友也欢迎加我微信私聊。