参考资料:BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding、5分钟入门BERT-简书、BERT预训练模型-博客园、使用Bert预训练模型文本分类、一文看懂Transformer内部原理
1、Transformer原理
Transformer模型,来源于《Attention is All You Need》这篇论文,它是第一个完全依靠Self-attention而不使用序列对齐的RNN/CNN方式来计算输入输出表示的转换模型。
Transformer是一种注意力机制,学习文本的上下文关系,它的原型包括两个独立机制,一个是encoder输入文本,一个是decoder输出预测文本的结果。
2、BERT原理
Bert将双向Transformer的encoder部分用于生成语言模型。Transformer的encoder是一次性读取整个文本序列,而不是从左到右或者反向地按顺序读取,这个特征使模型可以从单词的两侧进行学习。
双向方法在预测某一序列的下一个单词时是有限制的,此时,Bert采用两个策略:①Masked LM (MLM),在输入给Bert之前,将序列15%地单词使用MASK(token)替换,模型将会进行上下文预测。②Next Sentence Prediction(NSP),Bert模型接收成对句子输入,并且预测后一句子是否在原始文档中为后续句子。
3、文本分类应用
BERT 可以用于各种NLP任务,只需在核心模型中添加一个层,例如:在分类任务中,例如情感分析等,只需要在 Transformer 的输出之上加一个分类层。问答任务(例如SQUAD v1.1)中,问答系统需要接收有关文本序列的 question,并且需要在序列中标记 answer。 可以使用 BERT 学习两个标记 answer 开始和结尾的向量来训练Q&A模型。