BERT、ALBERT、RoBerta、ERNIE模型对比和改进点总结

1. BERT总结

  • MLM (Masked language model)
  • NSP (Next Sentence Prediction)

MLM :

 在一句话中随机选择 15% 的词汇用于预测。对于在原句中被抹去的词汇, 80% 情况下采用一个特殊符号 [MASK] 替换, 10% 情况下采用一个任意词替换,剩余 10% 情况下保持原词汇不变。这么做的主要原因是:在后续微调任务中语句中并不会出现 [MASK] 标记,而且这么做的另一个好处是:预测一个词汇时,模型并不知道输入对应位置的词汇是否为正确的词汇( 10% 概率),这就迫使模型更多地依赖于上下文信息去预测词汇,并且赋予了模型一定的纠错能力。上述提到了这样做的一个缺点,其实这样做还有另外一个缺点,就是每批次数据中只有 15% 的标记被预测,这意味着模型可能需要更多的预训练步骤来收敛。

bert 缺点:

  1. MLM直接对单个token进行随机mask,丢失了短语和实体信息,这一点对中文尤其明显,百度ERNIE对其进行了改进
  2. MLM仅预测被mask的token,其他token没有参与到预测中。而GPT等语言模型可以对每个token进行预测。导致MLM训练效率偏低,训练时间过长。这一点BERT论文自己也提到了,ELECTRA围绕这一点进行了改进。
  3. NSP任务可以学到sequence level信息,但仅为一个二分类,且负样本构造过于简单,导致模型不能充分训练。之前BERT的消融分析中也看到了,NSP对下游任务的作用比MLM要小。SpanBERT、ALBERT、Roberta均提到了这一点,并进行了相关改进,或者干脆弃用NSP。

2. ALBERT

  • 嵌入层矩阵分解 O(V\times H) -> O(V\times E + E\times H)
  • 跨层参数共享
  • SOP(Sentence Order Prediciton)

    正例与NSP相同,但负例是通过选择一篇文档中的两个连续的句子并将它们的顺序交换构造的。这样两个句子就会有相同的话题,模型学习到的就更多是句子间的连贯性。用于句子级别的预测(SOP)。SOP 主要聚焦于句间连贯,用于解决原版 BERT 中下一句预测(NSP)损失低效的问题。

3. RoBERT

BERT、ALBERT、RoBerta、ERNIE模型对比和改进点总结_第1张图片

4. ERNIE

  • 增加 短语 和 实体 级别的 mask 方式, 融合外部知识
  • 添加优质中文语料
  • DLM, Dialog 语料

总结:

模型 总结 改进点
BERT 中文以字为单位表示的通过两个训练任务采用多层transformer的encoder部分(核心是多头attention)的预训练模型 比word2vec更能够动态得到词语在不同语境下的向量表示,能够解决word2vec上下文无关问题
ALbert 精简版的BERT,参数量减小了,克服扩展模型困难的问题 1、因式分解:将词嵌入层先映射到一个低维空间,再映射到隐藏层 2、跨层参数共享 3、SOP:提升性能
Roberta 更为精细的bert调优版本,采用更大数据,更大batch_size,动态mask(中文采用全词mask),去掉NSP,采用全句子策略训练 1、改进优化函数,更大的模型参数量
2、动态mask(全词mask)
3、去掉下一句预测任务
4、采用更大的batch
ERINIE 融合了更多知识,mask的时候采用短语和实体级别的mask,添加了更多优质语料 融合了更多知识,mask的时候采用短语和实体级别的mask,添加了更多优质语料

参考:

BERT、ALBERT、RoBerta、ERNIE模型对比和改进点总结 - 知乎

你可能感兴趣的:(bert,人工智能,深度学习)