BERT家族:spanBERT

SpanBERT

论文:《SpanBERT: Improving Pre-training by Representing and Predicting Spans》

论文地址:https://arxiv.org/pdf/1907.10529

作者/机构:华盛顿大学+普林斯顿大学

年份:2019.8

SpanBERT对Bert的改进主要体现在对mask方式的改进,丢弃NSP任务和增加SBO(Span Boundary Objective)任务。其改进点如下:

(1)Span mask方案

Bert是随机mask输入序列中的字,这样能很简单地推测出字之间的搭配,这样会让本来应该有强相关的一些连在一起的字词,在训练时是割裂开来的。难以建立词中各个字之间的关联信息。针对这一短板Bert-wwm与ERNIE分别对更改了mask策略,Bert-wwm是mask所有能够连续组成词的字,ERNIE是mask所有能够连续组成实体和短语的字。

而SpanBERT的做法是根据几何分布,先随机选择一段(span)的长度,之后再根据均匀分布随机选择这一段的起始位置,最后按照长度遮盖。文中使用几何分布取 p=0.2,最大长度只能是 10,利用此方案获得平均采样长度分布。

这样做的目的是:前不久的 MASS 模型,表明可能并不需要想Bert-wmm或者ERNIE那样mask,随机遮盖可能效果也很好。

(2)加入SBO 训练目标

Span Boundary Objective 是该论文加入的新训练目标,希望被遮盖 Span 边界的词向量,能学习到 Span 的内容。或许作者想通过这个目标,让模型在一些需要 Span 的下游任务取得更好表现。具体做法是,在训练时取 Span 前后边界的两个词,这两个词不在 Span 内,然后用这两个词向量加上 Span 中被遮盖掉词的位置向量,来预测原词。

这样做的目的是:增强了 BERT 的性能,为了让模型让模型在一些需要 Span 的下游任务取得更好表现,特别在一些与 Span 相关的任务,如抽取式问答。

(3)去除NSP任务

XLNet 中发现NSP不是必要的,而且两句拼接在一起使单句子不能俘获长距离的语义关系,所以作者剔除了NSP任务,直接一句长句做MLM任务和SBO任务。

这样做的目的是:剔除没有必要的预训练任务,并且使模型获取更长距离的语义依赖信息。

更多NLP相关技术干货,请关注我的微信公众号【NLP有品