qiuzitao深度学习之PyTorch实战(十七)

史上最简单、实际、通俗易懂的PyTorch实战系列教程!(新手友好、小白请进、建议收藏)

BERT模型介绍

一、什么是BERT?

BERT:全称是Bidirectional Encoder Representation from Transformers,即双向Transformer的Encoder,BERT的模型架构基于多层双向转换解码,因为decoder是不能获要预测的信息的,模型的主要创新点都在pre-traing方法上,即用了Masked LM和Next Sentence Prediction两种方法分别捕捉词语和句子级别的representation。

其中“双向”表示模型在处理某一个词时,它能同时利用前面的词和后面的词两部分信息,这种“双向”的来源在于BERT与传统语言模型不同,它不是在给你大牛股所有前面词的条件下预测最可能的当前词,而是随机遮掩一些词,并利用所有没被遮掩的词进行预测。

BERT是一个预训练的模型,那么什么是预训练呢?

假设已有A训练集,先用A对网络进行预训练,在A任务上学会网络参数,然后保存以备后用,当来一个新的任务B,采取相同的网络结构,网络参数初始化的时候可以加载A学习好的参数,其他的高层参数随机初始化,之后用B任务的训练数据来训练网络,当加载的参数保持不变时,称为"frozen",当加载的参数随着B任务的训练进行不断的改变,称为“fine-tuning”,即更好地把参数进行调整使得更适合当前的B任务。

BERT是自然语言处理通用解决方案

在这里插入图片描述

二、Transformer框架

传统的机器翻译中就是丢RNN模型在直接去跑的,但是在这里RNN不能做并行,Transformer可以。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
BERT在一词多意的情况,根据上下文来判断这个词在这里的意思。

在这里插入图片描述
在这里插入图片描述

三、注意力机制

让计算机自己通过上下文去判断这个词语在这句话的意思和重要性。

在这里插入图片描述
需要计算它每一个对应的关系

在这里插入图片描述
在这里插入图片描述
Q、K、V三个矩阵做的计算如图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里可以并行加速去计算

在这里插入图片描述

四、Multi-head机制

多头机制(拼接多组不同的特征)

在这里插入图片描述
一般做8组不同特征,然后拼在一起再连接一个全连接层。

在这里插入图片描述
在这里插入图片描述
不同的头表达的效果不同,颜色越深表示注意力机制越大的,跟自己附近的也越大
在这里插入图片描述

五、多层堆叠与位置编码

在这里插入图片描述
在这里插入图片描述
之前的批归一化(Batch Normalization),把每个batch里面的特征按照batch里面的维度,均值变为0,标准差变为1。那我们的层归一化(Layer Normalization)就多做了一个残差的连接。
在这里插入图片描述

六、transformer整体架构梳理

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、BERT模型训练方法

在上面讲的 transformer 这个网络架构上进行一步训练就可以了。怎么对特征做编码才是最难的,BERT就是解决这个难题的,它就是解决怎么把这些特征给整出来。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

七、BERT开源项目实战

首先教大家怎么在GitHub上找好项目练手(基于你了解了这个知识的一些基础原理),我们先找到我们要练手的知识的关键词信息,然后在GitHub主页上搜索该关键词,马上就可以出现很多大神的项目了。

比如这里我们搜索BERT,出来的第一个项目也就是star最多的项目,它是谷歌的(所以应该用的是自家的tensorflow框架),然后我们点进去,看看人家md写的一些文字介绍,重点看人家给我们提供好的一些预训练模型。

先下载人家训练好的模型 - 再训练,uncased的意思就是英文字母的大小写不转换,cased就是大小写转换。因为我们这个系列是pytorch实战,所以这个开源项目实战就不详细展开了,点到为止,这里用的是tensorflow框架,其实掌握了基础语法就可以看懂的,相信读者看了我这么多系列博客去实战这个项目也不难,有任何问题也可以评论留言私信,我会在看到的第一时间回复的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiuzitao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值