前言
最近个人对NLP (自然语言处理)方向比较感兴趣,经同学推荐先学习了BERT模型,BERT模型是近几年来NLP领域最火的一个模型,算是NLP领域一个里程碑式的改变。谷歌公司AI团队新发布的BERT模型,在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩:全部两个衡量指标上全面超越人类,并且还在11种不同NLP测试中创出最佳成绩,包括将GLUE基准推至80.4%(绝对改进7.6%),MultiNLI准确度达到86.7% (绝对改进率5.6%)等。
Transformer学习
在学习BERT模型之前建议先学习一下transformer模型,这是BERT模型中所使用到的。
Transformer的本质上是一个Encoder-Decoder的结构,在transformer模型诞生之前,很多Encoder-Decoder 都是基于CNN和RNN的,而transformer模型是基于attention机制( 附上关于Attention机制的介绍:一文看懂 Attention(本质原理+3大优点+5大类型) - 知乎 (zhihu.com))
这篇文章简单说明了transformer的结构以及和CNN,RNN的一些差别:
简单介绍Transformer模型 - 知乎 (zhihu.com)
在Transformer的学习中,大力推荐的是李宏毅老师对transformer的讲解,其中包括对自注意机制的讲解,以及模型结构的具体讲解,非常通俗易懂,是我目前看到的最棒的对transformer模型讲解的视频了
视频链接:B站:搜索:BV1J441137V6 或者直接搜索:李宏毅transformer
油管链接:Transformer - YouTube
对应的图文讲解版链接:Transformer模型详解(图解最完整版) - 知乎 (zhihu.com)
BERT学习
了解完transformer模型,接下来就要开始正题了:对BERT模型的学习
BERT论文和代码地址:
Refrence Code :https://github.com/google-research/bert
Paper : https://arxiv.org/abs/1810.04805
建议可以先看一些那种CSDN上对于BERT模型的一文介绍:
NLP必读:十分钟读懂谷歌BERT模型 - 知乎 (zhihu.com)
一文读懂BERT(原理篇)_sunhua93的博客-CSDN博客_bert (文章较长,将NLP发展史进行了梳理)
看了对BERT的简单介绍如果还有不太懂的,可以在B站搜索:BV1Ey4y1874y 这个up主的视频比较通俗易懂,他的主页里面也有对transformer的讲解,也可以多看一看
看了这些之后,可以就可以开始看BERT论文啦
看完论文可以尝试着运行一下Google发布的开源代码
本人也是做了一个关于BERT预训练模型运行的博客,欢迎各位大佬前来指正!
附上博客链接:谷歌经典bert模型从下载源码到运行成功_qq_44532527的博客-CSDN博客
结语
目前本人还是个小菜鸡,对于机器学习、NLP方向还只停留在表面的理解,若有地方写的不妥,还希望各位读者们指正!