深度学习经典模型之BERT(下)

深度学习经典模型之BERT(上)

在"深度学习经典模型之BERT(上)"我们描述了BERT基本信息、意义、与GPT和Transformer的区别、预训练、自监督等相关信息后,本章节将介绍BERT的输入、Encoder、微调及两个主流变种。

BERT inputs

切词方法


BERT的切词方法用的是WordPiece embeddings,其思想是如果一个词在整个里面出现的概率不大的话,就应该把它切开,看他的一个子序列,如果它的一个子序列(比如它的词根)出现的概率很大,那么只保留这个子序列就好了,这样可以把一个相对长的词切成一段又一段的片段,这些片段还是经常出现的,就可以用相对较小的30k的词典就能表示一个比较的文本。这样可以避免按照空格切词时一个词作一个token会让数量大进而导致词典变大,让可学习的参数都集中在了嵌套层里的问题。

序列的第一个词永远是一个特殊词元[CLS]代表序列开始(全称:classification), 在每个句子后面放一个特殊词[SEP]表示separate或end,全称separator。如上图所示。

image.png

输入嵌入


Bert输入嵌入包含三部分的内容:token embeddings,position embeddings,和Segment Embeddings(token所属段落编码的embeddings),示意如上图所示。 即对于每一个token(词元)在BERT的向量表示这个token本身的embedding加上它在哪个句子的embedding再加上位置的embedding.

在Transfomer里面位置信息是手动构造出的矩阵,但是在BERT里面不管你是属于哪个句子还是位置在哪,它对应的向量的表示都是通过学习而来的。

  • Token Embeddings:采用look up的方式,将每个token转换成768维的向量。
  • Segment Embeddings:BERT支持双句输入,Segment(0,1)用于区分a、b句。
  • Position Embeddings:采用训练式位置编码,通过look up获取位置编码。

transformer的输入是由 word embedding + position embedding组合而成的向量x.

BERT Encoder

基础架构


image.png

BERT的Encoder包含三个部分的内容:输入、多头注意力与前馈神经网络。对应的是Transformer的Encooder部分, 其中输入部件的组成比Transormer多了一层,具体见Bert input章节。

Bert与Transformer不同的是,BERT仅采用Transfomer的Encoder,分为BERT bae与BERT large,其层数等参数都有所不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值