赞
踩
双向的Transformer Encoder。
2个任务:Masked LM、 Next Sentence Prediction (NSP)
3个输入:Token Embedding、Segment Embedding、Position Embedding
15%的词中,有10%不变,10%随机替换,只有80%的是真正被mask的。估计是想给模型增加扰动,或者理解为‘加噪’,有mask、有替换,也有不变的,让模型不要过分依赖mask标签,而要考虑它的上下文,甚至根据上下文进行 "纠错"。
BERT的在预训练时会出现特殊的[MASK],但是它在下游的fine-tune中不会出现,这就造成了预训练和微调之间的不匹配。所以预训练时只将80%替换为[mask],缓解finetune没有[mask]时没有着力点的问题。
BERT的BASE版有12层的Transformer,隐藏层Embedding的维度是768,head是12个,参数总数大概是一亿一千万。BERT的LARGE版有24层的Transformer,隐藏层Embedding的维度是1024,head是16个,参数总数大概是三亿四千万。
BERT的缺点:
BERT得到的向量存在各向异性,向量值会收到词在语料中出现的频次影响,高词频编码的向量距离更近,更靠近原点。假如2个词本身语义是相同的,但由于出现的频次不同,最终的向量距离也会很大。
BERT属于DAE LM的模式([Mask] 标记就相当于引入了噪音),在生成类NLP任务中,就面临训练过程和应用过程不一致的问题,导致生成类的NLP任务效果相对不是很好。
输入长度有限,只能512长度。
解决Transformer只能输入512的问题。
Segment-Level Recurrence Mechanism 段级递归
Relative Positional Encodings 相对位置编码
在BERT基础上加入后处理,将向量映射到各向同性的分布上,缓解各向异性的问题。
融合自回归LM和DAE LM两者的优点。
自回归LM(Autoregressive LM):常说的自左向右的语言模型任务,或者反过来也行,就是根据下文预测前面的单词。其优点是跟下游NLP任务有关,比如生成类NLP任务,比如文本摘要,机器翻译等,在实际生成内容的时候,就是从左向右的,自回归语言模型天然匹配这个过程。
自编码LM(Autoencoder LM):bert属于DAE模式,[Mask] 标记就相当于引入了噪音,然后根据上下文预测这些[mask]。
核心思路:采用自回归LM的思路,但是希望在预测某单词的时候,不仅仅是只看到上文信息,还希望可以看到下文信息。那怎么可以做到呢?将句子的单词打乱重新排列。
比如句子包含4个单词,x1、x2、x3和x4。当我们预测x3的时候,自回归LM是只能看到x1和x2,但看不到x4。如果我们将句子打乱成x4,x2,x3和x1后,在预测x3时就可以看到x4了。
但为了保持pre-train和finetune的一致性,finetune的时候是不可能将句子打乱排列的,所以在pretrain时我们仍需要保持x1、x2、x3、x4的顺序。那怎么做到句子打乱的效果呢?采用Attention掩码的机制。
建设当前的输入句子是X,要预测的单词Ti是第i个单词。从X中,包括Ti的上文(Context_before)和下文(Context_after)单词中,随机选择i-1个单词,然后把未选上的单词通过Attention Mask隐藏掉,不发生作用。这样就相当于把挑选到的i-1个单词放在了Ti的上文Context_before的位置上了。
可以说是BERT的完整体。
更大的模型参数量
更大bacth size
更多的训练数据
去掉下一句预测(NSP)任务
动态掩码
1)1.0版本在BERT的基础上有三个主要的改进点:
更加解耦的self attention,上图中右边黄色部分;
考虑绝对位置的MLM任务,上图中Enhanced Mask Decoder;
预训练时引入对抗训练
2)后续又有了2.0和3.0版本
减少了参数量,但维持了BERT的性能。但它只是降低了空间复杂度,把参数量从108M降到了12M,但并没有降低时间复杂度。
Embedding 矩阵分解
跨层参数共享
替换 NSP(next sentence predict) 任务为 SOP 任务(sentence order predict)
针对transformer-based模型的知识蒸馏方法。
提供一种新的针对 transformer-based 模型进行蒸馏的方法,使得BERT中具有的语言知识可以迁移到TinyBERT中去。
提出一个两阶段学习框架,在预训练阶段和fine-tuning阶段都进行蒸馏,确保TinyBERT可以充分的从BERT中学习到一般领域和特定任务两部分的知识。
在每层Transformer后都去预测样本标签(给每层后面接一个分类器student classifier),如果某样本预测结果的置信度很高,就不用继续计算了。论文把这个逻辑称为样本自适应机制(Sample-wise adaptive mechanism),就是自适应调整每个样本的计算量,容易的样本通过一两层就可以预测出来,较难的样本则需要走完全程。
相对于bert增加了两个预训练任务和目标。
Word Structural Objective:对未MASK的词,随机抽选一个trigram,打乱顺序后重构该顺序,相应被打乱的节点接softmax后预测需要重构之前的顺序。
Sentence Structural Objective:预测下一个句子是在当前句子之前,或者之后,将NSP改成3分类问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。