IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 预训练模型--BERT -> 正文阅读

[人工智能]预训练模型--BERT

前言

上一篇文章中讲到了GPT,也简单讲到了GPT和BERT的区别,这里先贴回来温习一下:
GPT和BERT之间的区别是:GPT选择了transformer中decoder阶段结构作为预训练结构;而BERT选择了transformer中encoder阶段结构作为预训练结构。
这样首先需要知道encoder结构和decoder结构之间的利弊:

encoderdecoder
双向网络单向网络
没有天然的预测目标(Bert自己构造mask)有天然的预测目标(天然mask+预测下一个词)
能看到所有词(更适合做语言理解)只能看到一个词前面的词(更适合做语言预测)

BERT这里使用了双向的Encoder,再回来看BERT这个名字Bidirectional Encoder Representation from Transformer,就十分贴切了。

如何预训练 pretrain

那么本篇就主要学习下BERT这个预训练模型:
由于GPT使用的是单向网络,这就给了BERT改进的空间–双向网络,双向网络下一个token既能看到它前面的token又能看到它后面的token,上下文信息都知道了,那模型预测什么呢?

“完形填空”mask --Masked Language Model (MLM)

BERT首先想到了“完形填空”的方式,在输入的时候挖掉一些token,让模型去填这些“空”。但是如果只构造mask挖掉一些token会使模型只去关注这些被mask的地方,从而忽视其他部分。
所以BERT采用了以下方式构造mask:

  • 随机把一句话中 15% 的 token替换为:
  1. 80%的token输入时被替换为mask
  2. 10%的token在输入时被替换为其他token
  3. 10%的token保持不变
  • 只计算mask时被替换的token的损失

这样模型并不知道被mask的是不是正确的,没被mask的也可能是错误的,就会让模型不至于只关注被mask的地方。
在这里插入图片描述

预测下一句 --Next Sentence Prediction (NSP)

除了“完形填空”,BERT这里还有另一种预测方式,就是把任意两个句子拼起来,在第一句前加一个[CLS]的token,用该token去预测是否是可相互连接的句子(这里之前GPT的方式,除了可以判断两句话是否连接,还可以判断两句话是否是相似的,是否是蕴含关系,是否是问题答案关系等等则放在finetune阶段,因为上下句子是否连接完全不需要标签,天然可以有大量的预训练数据)

这里的拼接方式如下图所示[CLS][句子1的token][SEP][句子2的token][SEP]

每个token的输入除了token的embedding还有位置的embedding和分割符的embedding(这里第一个句子的segment embedding 全为0,第二个句子的全为1)
在这里插入图片描述

BERT 预训练阶通过将上述两个任务结合起来,将两者的 Loss 相加进行训练:
如下图左边所示,每次既要判断[CLS]输出的0/1是否判断准确,还要判断每个[MASK]的token是否预测准确。
在这里插入图片描述

如何finetuning

BERT的finetuning阶段和GPT比较类似,都可以对不同任务进行finetuning。
不同的是BERT在做分类/是否任务时通常采用的是第一个[CLS]的输出,而GPT往往采用最后一个[token]的输出,这里采用第一个[CLS]的输出大概是因为第一个[CLS]是一个无偏袒的token,通过self-attention可以学习到所有其他token的完整信息。
下面两图所示的都是采用[CLS]的输出来进行分类/是否任务的例子:
左边是判断两个句子是否存在推理关系,右边则是判断一个句子的所属分类。
在这里插入图片描述
除了分类/是否任务外,BERT还可以做其他,比如预测每个词的标签/分类,预测一句话的答案QA问题等。
下图所示的就是QA问题的一个finetuning,给定一个question和一个可能包含答案的paragraph,对paragraph中question的答案的起始终止位置进行预测(即预测paragraph中每个token的输出分类BIO,或者预测每个单词作为起始/终止位置的概率)
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:26:12  更:2022-01-04 13:28:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 7:51:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码