BERT论文解读:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

BERT

相信热爱NLP的朋友都对BERT十分熟悉,google提出的这个模型在NLP的多项任务中都取得了惊人的成绩,是目前NLP领域最厉害的武器之一。本文会以原论文为基础来详细解读一下BERT的来龙去脉。

在此声明一下,我并不会完全按照原论文的顺序进行解读,而是根据自己的理解来重点介绍我认为核心或者比较重要的部分。OK,我们开始。

首先我们先来看一下论文的abstract部分的关于BERT的介绍。
在这里插入图片描述
这句高亮语句其实已经对BERT做出了非常准确的说明。首先,BERT是一个已经经过预训练的模型,同时BERT预训练使用的就是无标签的文本数据集合,还有就是BERT相较于其他的语言模型,每一层都充分地利用整个文本信息,既包括当前位置token的左边也包括右边,也就是实现双向信息利用。OK,接下来我来为大家做具体说明。

Model Architecture
关于BERT的模型架构,其实简单来说就是Transformer的encoder部分的多重堆叠。如果大家对Transformer的架构还不理解的话,可以阅读一下我之前的一篇文章----Transformer详解:基于self-attention的大杀器 或者也可以阅读Google2017年的介绍Transformer的原paper:Attention is all you need.
那么在本文中,作者使用的是12个Transformer block的堆叠,关于embedding的维度,作者选择的768,对于self-attention 的num_head,作者选取的参数是12.原文如下
在这里插入图片描述
然后我们把BERT和其他两个相关的模型OpenAI GPT 和 ELMo做一个简单的比较,如果大家对这两个模型的细节感兴趣,可以去阅读一下相关的paper,这里不会过多展开。先看一下在原论文附录中的这张图。
在这里插入图片描述
正如图中所示,BERT的每一层的transformer都是充分接收双向的信息,而对于GPT而言,它实现的是一个单向(left-to-right)的transformer。而对于ELMo,对于每个位置的token的输出,EMLo利用两个方向的LSTM的模型的输出的concate最终输出,确实这样的做法某种程度上也可以说完整利用了整个text的信息,但是毕竟这两个任务是独立的,相较于BERT的做法,这种concate的方法在语义的特征输出上只能算是次优的。

Model Input/Output Represent

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值