BERT-wwm、BERT-wwm-ext、RoBERTa、SpanBERT、ERNIE2

一、BERT-wwm

wwmWhole Word Masking(对全词进行Mask),它相比于Bert的改进是用Mask标签替换一个完整的词而不是子词,中文和英文不同,英文中最小的Token就是一个单词,而中文中最小的Token却是字,词是由一个或多个字组成,且每个词之间没有明显的分隔,包含更多信息的是词,全词Mask就是对整个词都通过Mask进行掩码。

例如:

 论文下载链接:https://arxiv.org/pdf/1906.08101.pdf

 二、BERT-wwm-ext

它是BERT-wwm的一个升级版,相比于BERT-wwm的改进是增加了训练数据集同时也增加了训练步数。

已训练好中文模型下载:https://github.com/brightmart/albert_zh

三、RoBERTa

相比于Bert的改进:更多的数据、更多的训练步数、更大的批次(用八千为批量数),用字节进行编码以解决未发现词的问题。

对Adam算法中的两处进行了调整:

 Adam 中二阶矩估计时的 β_2,一般对于梯度稀疏之问题,如 NLP 与 CV,建议将此值设大,接近 1,因此通常默认设置为 0.999,而此处却设 0.98。

 调节最早只用来防止除零情况发生的ε,通过对ε的调节能够提高模型的稳定性,有时能够提升模型性能。

对于Mask不再使用静态的Mask而是动态的Mask,对于同一句话,在不同的批次中参与训练其Mask的位置是不同的。(这样做相当于对数据进行了简单的增强)

取消了Next Sentence这一预训练任务,输入的不再是通过[SEP]隔开的句子对,而是一个句子段,对于短句会进行拼接,但是最大长度仍是512(这样做是因为更长的语境对模型更有利,能够使模型获得更长的上下文),同时输入的句子段不跨文档(是因为引入不同文档的语境会给MLM带来噪音)。

 论文下载地址:https://arxiv.org/pdf/1907.11692.pdf

已训练好中文模型下载:https://github.com/brightmart/roberta_zh

四、SpanBERT

作者提出一种分词级别的预训练方法。它不再是对单个Token进行掩码,而是随机对邻接分词添加掩码。对于掩码词的选取,作者首先从几何分布中采样得到分词的长度,该几何分布是偏态分布,偏向于较短的分词,分词的最大长度只允许为10(超过10的不是截取而是舍弃)。之后随机(均匀分布)选择分词的起点。对选取的这一段词进行MaskMask的比例和Bert相同,15%80%10%10%

对于损失函数也进行了改进,去除了Next Sentence

具体做法是,在训练时取 Span 前后边界的两个词,值得指出,这两个词不在 Span 内,然后用这两个词向量加上 Span 中被遮盖掉词的位置向量,来预测原词。

 

详细做法是将词向量和位置向量拼接起来,作者使用一个两层的前馈神经网络作为表示函数,该网络使用 GeLu 激活函数,并使用层正则化:

作者使用向量表示yi来预测xi,并和 MLM 一样使用交叉熵作为损失函数,就是 SBO 目标的损失,之后将这个损失和 BERT  Mased Language ModelMLM)的损失加起来,一起用于训练模型

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

 五、ERNIE2

它的主要创新是ERNIE2采用Multi-task进行预训练,训练任务有词级别的、结构级别、语义级别三类。同时多任务是轮番学习,学习完一个任务再学习下一个任务,不同任务使用相应损失函数,类似于教课,不同课应该分开上,若多任务同时学习会学的较为混乱,多个任务同时学习最好是任务之间存在关系,能够相互指导。

论文下载地址:https://arxiv.org/pdf/1907.12412.pdf

 

posted @ 2019-11-13 20:23  喂你在哪  阅读(6392)  评论(0编辑  收藏  举报