BERT学习笔记

BERT学习笔记

BERT的出现,彻底改变了预训练产生词向量和下游具体NLP任务的关系,提出龙骨级的训练词向量概念。

1. BERT是什么

BERT,全称是Pre-training of Deep Bidirectional Transformers for Language Understanding。注意其中的每一个词都说明了BERT的一个特征。
Pre-training说明BERT是一个预训练模型,通过前期的大量语料的无监督训练,为下游任务学习大量的先验的语言、句法、词义等信息。
Bidirectional说明BERT采用的是双向语言模型的方式,能够更好的融合前后文的知识。
Transformers说明BERT采用Transformers作为特征抽取器。
Deep说明模型很深,base版本有12层,large版本有24层。
总的来说,BERT是一个用Transformers作为特征抽取器的深度双向预训练语言理解模型

2. BERT的结构

在这里插入图片描述
由多层的双向Transformer连接而成,有12层和24层两个版本

3. BERT预训练模式

3.1 输入表示

在这里插入图片描述
三种embeddings: token, segment, positon. 上述三个向量相加,组成BERT的输入。

3.2 Masked Language Model 进行训练

给定一个句子,把其中某个词遮挡起来,让人猜测可能的词。这里会随机的Mask掉15%的词,用符号[MASK]代替,然后让BERT来预测这些Mask的词。
Masked Language Model通过预测[MASK]代替的词,不断的“对比”上下文的语义,句法和词义信息,从而学到了大量相关的知识。

3.3 下一句子预测

BERT的预训练过程,还有一个预测下一句的任务。就是输入两个句子,判断第二个句子是不是第一个句子的下一句的任务。、

4. BERT学到了什么

一些语言学和一定程度的语义信息

5. seq2seq结构及其中的Attention

在这里插入图片描述
标准的编解码(seq2seq)机制的结构图
处理流程是通过编码器对输入序列进行编码,生成一个中间的语义编码向量C,然后在解码器中,对语义编码向量C进行解码,得到想要的输出。例如,在中英文翻译的任务中,编码器的输入是中文序列,解码器的输出就是翻译出来的英文序列。

6. Attention机制

要分配好注意力资源,就需要给每个资源以不同的权重,Attention机制就是计算权重的过程。
在这里插入图片描述
由资源Value,需要根据当前系统的其他状态Key和Querry来计算权重用以分配资源Value。
数学公式如下:
在这里插入图片描述

7. Transformer架构

在《Attention is all you need》中,Transformer是一个用于机器翻译的编解码结构,这也是它为什么叫Transformer的原因。后来,因为在序列编码中强大的特征抽取能力和高效的运算特性,Transformer被从编解码结构里抽离出来,成为了在NLP领域,目前最流行的特征抽取器。

7.1 sub-layer结构

transformer中的sub-layer结构
在Bert-base中,有12层这样的sub-layer
在这里插入图片描述

7.2 self-attention

在这里插入图片描述
在这里插入图片描述
特点1:在编码序列中的某一个词时,让该词充分的与该序列中的其他词进行运算,从而能够得到该词与该序列中所有词的句法和语义关系编码。
特点2:序列是并行输入的,因此运算效率很高。

7.3 Multi-head Attention

在这里插入图片描述
多头机制就是8组权重,计算出了8个不同的输出,再通过拼接和运算得到新的序列编码。

Transformer中最重要的特点就是引入了Attention,特别是Multi-Head Attention。作为一个序列输入的特征抽取器,其编码能力强大,没有明显的缺点。

参考资料:
https://cloud.tencent.com/developer/article/1483966
李理的博客讲的比较好
http://fancyerii.github.io/2019/03/05/bert-prerequisites/
【NLP】 理解NLP中网红特征抽取器Tranformer
该篇博客讲tranformer的网络结构讲的非常细和形象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值