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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> NLP最著名的Bert语言模型详细解读 -> 正文阅读

[人工智能]NLP最著名的Bert语言模型详细解读

云IDE产品介绍
云IDE使用教程
免费使用地址:点击【云IDE】,即可开始创建工作空间啦~

Bert语言模型详细解读

一、前言

要理解Bert语言模型,必须要先掌握Transformer,可以参考本人的博客Transformer原理详解,Bert是2019年谷歌团队提出的语言模型,一经提出就在NLP领域火热起来。因为Bert它作为预训练模型,在训练好之后可以帮助一大批的NLP任务去提升它们的性能,在针对个人不同的子任务时去进行微调即可。那么想要针对Bert模型有更加细致的了解,推荐去看这篇论文 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 ,那么下面本人将会针对Bert模型的每一个部分做详细介绍,感谢支持😄😄

二、Bert模型的整体架构

如果了解Transformer,那么下面这张图一定不会陌生,它是Transformer架构的Encoder部分,其中包括:输入部分;多头注意力机制;前馈神经网络。
在这里插入图片描述
那么Bert模型的基础架构就是由多个 Transformer架构的Encoder部分堆叠而成的。其中在 《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》 这一论文中(下面简称Bert论文)作者提出两种形式的Bert,Bert_base是由12层的Encoder堆叠而成;Bert_large是由24层的Encoder堆叠而成。
这里需要区别于Transformer结构,Transformer是由6个Encoder堆叠形成编码端,6个Decoder堆叠形成解码端。

三、Bert模型的输入部分

那么对于Bert的输入有哪些组成呢?
Input = token embeddings + segment embeddings + position embeddings
在这里插入图片描述
(一)首先对于第一行input:
需要关注的有正常词汇:my dog is cute he likes playing;
被分割的词:由于Bert关注词汇的词性,在wordpiece分词时将原型和后缀分开,在后缀前需要添加字符“##”;
特殊词汇:[CLS] 、[SEP],在句子首部添加[CLS],在每一句子结尾添加[SEP]。
为什么要添加两种特殊词汇?
这是由于在Bert预训练中,有一个任务叫做NSP(Next Sentence Prediction)任务。判断两个句子之间的关系,因此需要用到[SEP]告诉模型,在[SEP]之前是一个句子,在[SEP]之后是另一个句子。
而又由于NSP任务是一个二分类任务,也就是说判断两个句子之间是什么关系的二分类任务,在句子前加上[CLS],在训练时,用[CLS]的输入向量连接二分类器,从而去做二分类任务。
(二)token embeddings
对于输入的所有词汇(包括正常词汇,被分割的词以及特殊词汇)做Embedding词嵌入。
(三)segment embeddings
由于处理的是两个句子,因此需要对两个句子进行区分。对于第一个句子的所有词可以用EA表示,第二个句子的所有词可以用EB表示。
(四)position embeddings
这里的position embeddings和Transformer的位置编码有很大的区别。在Transformer中,我们采用正余弦函数来计算位置编码。而对于Bert,采用的是随机初始化,让模型自己学习,通过定义index:0-511,让模型自己去学习每一个embeddings是什么样子的。

四、Bert模型的预训练

(一)MLM(Masked Language Model)掩码语言模型
Bert在预训练时使用的是大量的无标注的语料,因此在预训练任务设计时采用无监督来做。对于无监督的目标函数有两种:
1.AR(autoregressive) 自回归模型:只考虑单侧的信息,典型的是GPT
2.AE(autoencoding)自编码模型:从损坏的输入数据中预测重建原始数据,可以使用上下文信息,在Bert中使用。

例如:有这样一段文本:我爱吃饭
AR:P(我爱吃饭) = P(我)P(爱|我)P(吃|我爱)P(饭|我爱吃)
可以发现AR采用的单侧信息。
AE:mask之后:【我爱mask饭】用mask去遮盖某些或者某几个字
P(我爱吃饭|我爱mask饭) =P(mask=吃|我爱饭)
mask机制是打破原有的文本信息,在做预训练时,让模型去做文本重建,模型从上下文中去获取各种信息,使得预测出mask的词汇无限接近或者就是原本的词汇。
mask模型的缺点:
mask之后:【我爱mask mask】
优化目标:P(我爱吃饭|我爱mask mask) =P(吃|我爱) P(饭|我爱) ,很明显能够发现优化目标中,吃和饭是相互独立的,也就是mask与mask之间相互独立

在Bert论文中,作者是这样做的:
在这里插入图片描述
随机mask15%的字,在这15%的字中,有80%替换成真正的mask标签,10%原封不动,最后10%替换成词典中的其他字。至于这个概率为啥是这些,作者在论文中也没有详细的解释,只是介绍了按照这个百分比效果确实好。

(二)NSP(Next Sentence Prediction)任务
NSP样本如下:
1.从训练语料中取出两个连续的段落作为正样本;
2.从不同的文档中随机创建一对段落作为负样本。
缺点:将主题预测和连贯性预测合并为一个单项任务。主题预测就是判断两个文本是不是来自同一个文档(1);连贯性预测就是判断两个段落是不是顺序关系(2)。

五、如何在下游任务中微调(fine turning)Bert

在这里插入图片描述
a.句子对分类;b.单个句子分类;c.问答任务;d.序列标注任务

六、如何提升Bert在下游任务中的效果

四个步骤:
例如:微博文本情感分析

  1. 在大量通用语料上训练一个LM (Pretrain): 一中文谷歌BERT
  2. 在相同领域上继续训练LM(Domain transfer) :一在大量微博文本上继续训练这个BERT
  3. 在任务相关的小数据上继续训练LM(Task transfer):一在微博情感文本上(有的文本不属于情感分析的范畴)
  4. 在任务相关数据上做具体任务:—微调fine turning
    一般情况下都是先Domain transfer再进行Task transfer最后fine turning性能是最好的。

如何在相同领域数据中进行further pre-training

  1. 动态mask︰就是每次epoch去训练的时候mask,而不是一直使用同一个。
    在Bert模型当中,每次使用的mask都是固定的,就是说Bert将文本mask后存在本地,在训练时每次使用的同样的mask标志。
  2. n-gram mask:其实比如ERNIE和SpanBert都是类似于做了实体词的mask
    在这里插入图片描述
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-10-31 11:56:46  更:2022-10-31 12:00:46 
 
开发: 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年12日历 -2024/12/28 1:57:04-

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