[李宏毅老师深度学习视频] BERT介绍

1、self-supervised

什么是supervised和self-supervised?

supervised(监督学习)

  • 给多个文章,标注出是正面还是负面的,放入model里面,得到最后的结果

self-supervised(自监督学习)

  • 给定一个文章,把文章分成俩份,x’与x",让x’放入model中训练,得到的y与x"越接近越好

在这里插入图片描述

2、Bert的俩个任务

2.1、masking input

什么是masking input?

  • 在一串文字中,随机mask一些数字,然后过一层Bert,将刚才mask的位置进行依次linear再softmax进行输出概率,得到概率最大的汉字,最后将得到的汉字与本身的汉字进行cross entropy,结果越小模型越好。

其中,mask的方法可以是用一些特殊字符进行代替,也可以是随机一些汉字;对于Bert本身,就是transformer中的encoder部分
链接:transformer的encoder解释

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

2.2、next sentence prediction

什么是next sentence prediction?

  • 给定俩个句子,用[sep]进行句子划分区别两个句子,过一层Bert以后,将cls进行liner再softmax,得到的yes或者no(句子1和句子2是否是相连接的句子)

为什么是对cls进行linear而不是其他汉字呢?

  • 其实也可以用句子1和句子2中的汉字,但是这样会导致一个问题(假如采用的是句子2中的w3作为linear的输入,此时结果判断说句子1和句子2是承上启下的,那会不会是因为我们选择的输入是句子2里面的,所以说对结果有干扰呢?)为了避免此类问题,所以说用的cls。

那cls和句子会不会一点关系都没有呢?

  • 其实不会,因为Bert的部分就让每个输入的汉字之间存在一定的联系(具体可以看Bert的架构)

有研究人员表示:next sentence prediction部分并没有什么有用的价值

在这里插入图片描述

3、pre-train and fine-tune

pre-train是什么?

  • Bert的部分就是pre-train部分,属于self-supervised learning

fine-tune是什么?

  • 基于上游中训练好的Bert,进行一系列任务,叫做fine-tune。一般我们称要做的任务为下游任务

在这里插入图片描述

4、Bert在nlp中的四大案例

4.1、分类问题

输入:语句
输出:分类

例子:输入一句话,得到这句话是正面的还是负面的

如何用Bert进行的呢?

  • 先给一个cls+句子进行Bert输入,然后对输出的cls部分进行linear和softmax,得到分类class。

其中,原本用随机的embedding对句子进行编码,现在用Bert进行编码,效果大幅度好于随机。

在这里插入图片描述

4.2、同长输出

输入:n个词的句子
输出:n个词的句子

例子:给定一个句子,输出每个词语的词性

此时是将Bert输出的全部向量进行linear处理再softmax,进行class分类词性

在这里插入图片描述

4.3、两句子分类

输入:俩个句子
输出:一个分类结果

例子:一个句子是:我请你去喝茶搞不搞?另一个句子是:我今天要上天与太阳肩并肩飞翔。这俩个句子明显就不是一类的,都放入model中进行分类,得到结果

在这里插入图片描述

如何操作呢?

  • 把俩个句子都输入,中间用[sep]隔开,过Bert后的cls输出结果进行linear和softmax,得到class结果

在这里插入图片描述

4.4、QA问题(仅限答案在已知文本中)

输入:问题文本+答案文档(其中答案文档:答案在这个文档里面)
输出:答案的具体定位

操作:

  • 1、随机初始化俩个向量(橙、蓝)
  • 2、先让橙与答案的文本进行点积,过一个softmax得到最优的结果,记录当前的文字在全文的位置,记为s
  • 3、再让蓝与答案的文本进行点积,过一个softmax得到最优的结果,记录当前的文字在全文的位置,记为e
  • 4、s和e之间的文本,就是最后的答案定位区域

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

5、Bert的一些小问题解释

从0开始训练Bert几乎是一个不可能的事情,因为需要花费太久太久了。

谷歌做了一个30亿的数字训练的Bert(相当于3000倍的哈利波特全集)用TPU v3训练8天才得到结果!!!(简直太难了)

在这里插入图片描述

预训练用于seq2seq模型
在这里插入图片描述

不同的语句设计方式
在这里插入图片描述

6、why does Bert work?

为什么Bert好用?- 因为相同意思的词向量在同一块区域中
在这里插入图片描述

对上述进行实际例子测试:用5个包含苹果句子(吃的苹果)和5个包含苹果句子(苹果手机)的例子进行测试

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

7、一些奇奇怪怪的Bert结果(玄学)

  • 7.1、用英文训练的模型,去做中文的问答问题,效果还不错????在这里插入图片描述

  • 7.2、效果对比图。在基于104种语言的训练模型,采用中英文交杂的文章进行fine-tune的时候,测试文章采用中文的结果居然极其的好,逼近人类的结果(93%)在这里插入图片描述

  • 7.3、反向思维。将中文和英文单词对应的词向量进行区域确定,然后得到一个中文词向量与英文词向量之间的差距矩阵,如果将一个英文的词向量进行一系列操作得到对应的中文词向量,似乎就可以解释上述问题。在这里插入图片描述

  • 7.4、真实样例【用词向量之间的平均距离算的】(虽然还是有瑕疵,但是肉眼看还是有些许正确的地方)在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Bessie_Lee_gogogo

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值