NLP集大成之预训练模型综述:https://mp./s/BUcZqWlIPyuXtqh0M1IBdA
1.WORDLEVEL词级别
1.1 generative
1.1.1 MLM
Subword (BERT)
15% tokens: 80% [MASK], 10% random, 10% unchanged
在预处理阶段,给每个句子采样10种mask方式
Word (WWM)
根据分词后的词边界mask
Pre-Training with Whole Word Masking for ChineseBERT;.6.19
/abs/1906.08101
Entity/Phrase (Baidu ERNIE1.0)
Mask策略:word-level/phrase-leve/entity-level
50%的时候选entity或phrase,剩下选word(保持总体subword在15%)
1.0: /abs/1904.09223 .4.19
2.0: /abs/1907.12412 .7.29
Span/N-gram (SpanBERT)
根据几何分布,先随机选择一段(span)的长度,之后再根据均匀分布随机选择这一段的起始位置,最后按照长度遮盖。
文中使用几何分布取 p=0.2,最大长度只能是 10,平均被遮盖长度是 3.8 个词的长度。
参考Roberta的动态masking/一直训练长句
.7.24
/abs/1907.10529
/p/75893972
Dynamic (RoBERTa)
每个Epoch见到的样本mask位置都不一样,实际上效果只提升了不到一个点
RoBERTa: A Robustly OptimizedBERT Pretraining Approach;.7.26
/abs/1907.11692
1.1.2 PLM (XLNet)
XLNet: Generalized Autoregressive Pretraining for Language
Understanding;.6.19
/abs/1906.08237
/p/70218096
1.1.3 SBO (SpanBERT)
在训练时取 Span 前后边界的两个词,不在 Span 内,然后用这两个词向量加上 Span
中被遮盖掉词的位置向量,来预测原词。详细做法是将词向量和位置向量拼接起来,过两层全连接层 比NSP表现好,有一个点的提升(个别3个点)
在span抽取式任务上有很大提升
1.1.4 InfoWord
ICLR
A Mutual Information Maximization Perspective of Language
Representation Learning;.10.18 DeepMind & CMU
/abs/1910.08350
1.2 discrimitive
1.2.1 WSO (StructBERT)
Word Structural Objective按K个一组打乱token顺序,预测原顺序(5%个trigram)和MLM
jointly等权重训练 平均不到1个点或负增长,CoLA任务上有4个点的提升 ICLR
/abs/1908.04577
问题:
负增长是否由于joint训练?mask掉和需要预测位置的重合?以前只有15%的噪音,现在有30%pretrain batchsize
1.2.2 RTD (ELECTRA)
ICLR
/forum?id=r1xMH1BtvB
/p/89763176
1.2.3 Capitalization Prediction (ERNIE2.0)
判断token是否大写,对英文NER有用
1.2.4 Token-Document Relation (ERNIE2.0)
判断token是否在文中其他地方出现
作者认为重复出现的都是比较重要的词
2.SENTENCELEVEL句级别
2.1self-supervised
2.1.1 NSP (BERT)
2 class: 50% next, 50% random from corpus
从消融实验来看,只对QNLI任务影响较大(3.5),对其他任务只有不到1%对影响
缺点:
SpanBERT:
1.相比起两句拼接,一句长句,模型可以获得更长上下文(类似 XLNet 的一部分效果);
2.在 NSP 的负例情况下,基于另一个文档的句子来预测词,会给 MLM 任务带来很大噪音。
ALBERT:
3.学到的是主题相关
RoBERTa:
4. BERT的消融实验可能只去掉了NSP的loss term,但输入仍是sentence pair Symmetric Regularization:
5. BERT的顺序敏感,致使swap之后NLI任务效果下降
2.1.2 NSP+SOP (StructBERT)
3 class:预测是上一句/下一句/随机 平均不到1个点的提升
StructBERT: Incorporating Language Structures into Pre-training for Deep Language Understanding;.8.13
/abs/1908.04577
2.1.3 PN5cls+smth
previous sentence prediction
5 classs: next/prev/next-inadjacent/prev-inadjacent/diffdoc
在prev-inadj/next-inadj上用了0.8的label smoothing到prev/next
比BERTbase提升约1个点(8个glue任务) Symmetric Regularization based BERT for
Pair-wise Semantic Reasoning;.9.8,蚂蚁金服+达摩院
/abs/1909.03405
2.1.4 SOP (ALBERT)
Sentence Order Prediction
2class: 是next=1,是prev=0
提升1-3个点
ALBERT: A Lite BERT for Self-supervised Learning of Language Representations,ICLR,.9.26,Google+Toyota
/abs/1909.11942
/p/84273154
2.1.5 Sentence Reordering (ERNIE2.0)
把一段中的句子划分为m个片段,打乱,进行K分类 K = sum(n!), n = 1, …, m
.7.29
2.1.6 Sentence Distance (ERNIE2.0)
3 class:在同一篇文档且相邻/在同一篇文档不相邻/不在同一篇文档
2.1 supervised
2.2.1 DLM (Baidu ERNIE1.0)
Dialogue Language Model
多轮对话:QRQ, QRR, QQR
2 class:判断对话是真实的还是Fake
和MLM任务交替训练 有一个点的提升
2.2.2 IR Relevance (ERNIE2.0)
3 class: 被点击/出现在搜索结果中/随机
2.2.3 Discourse Relation (ERNIE2.0)
判断句子的语义关系例如logical relationship( is a, has a, contract etc.)