对 【BERT- Pre-training of Deep Bidirectional Transformers for Language Understanding】 的理解

时间:2020-08-12 15:33:57   收藏:0   阅读:52

0、引言

BERT(Bidirectional Encoder Representations from Transformers)自从谷歌提出就一直大热。首先,它在自然语言处理(NLP)的11个任务中均有较大程度性能提升;其次,BERT在无监督场景下结合预训练能够最大化地利用文本数据,同时对不同场景的下游任务均有提升和帮助。个人觉得BERT的设计进一步利用了语言的特性,其在NLP领域的影响绝对算是个里程碑了。

1、BERT介绍

1.1 思想及由来

BERT的网络结构使用了双向Transformer的堆叠(Transformer详解见文末参考资料),Encoder和Decoder分别12层(但也要看是base还是large版)。其思想出于ELMo和GPT(Generative Pre-trained Transformer,出自OpenAI)但同时又高于二者。ELMo采用了双向LSTM来训练词Embedding,虽然使用了双向LSTM,但其实是使用2个单向LSTM对学到的句子语义信息做拼接,和BERT完全双向不同,对句子间不同词的语义依赖关系也不如BERT捕捉的充分。 GPT只有单向,其假设句子间语义依赖关系只有从左到右,而没有从右到左,该假设在实际中并不完全满足。上述三种模型架构图如下图,BERT、GPT、ELMo分别从左到右:
技术图片

1.2 BERT特点

BERT加入了Masked Language Model(MLM) 和 Next Sentences Prediction(NSP),使得模型能够在无监督的场景下学习到句子间特征和语义特征。个人理解LM(语言模型)能学习到一个句子的语义特征,而使用MLM更能有效促使模型学到句子更好的语义表示。 在无监督学习场景训练,能最大化的使用训练语料。而Pre-train和Fine-tune能够方便地将已训练好的BERT模型迁移到不同的应用场景,在工业界大有益处。

2、实验结果

各种实验结果表示BERT的强力,这里贴出部分结果

2.1 GLUE(General Language Understanding Evaluation)

技术图片

2.2 SQuAD 1.0 2.0

技术图片

3、个人总结

  1. 2019年google祭出了大杀器BERT,其性能不说了,关键的无监督场景和fine-tune有助于各种下游落地。
  2. 参数量感觉可以大幅优化降低,而训练过程也有提升空间。

4、参考资料

评论(0)
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!