BERT模型的深度解读

article/2025/9/15 11:55:11

一、BERT整体概要

Bert由两部分组成:

  • 预训练(Pre-training):通过两个联合训练任务得到Bert模型
  • 微调(Fine-tune):在预训练得到bert模型的基础上进行各种各样的NLP
    在这里插入图片描述

二、预训练

输入经过bert encoder层编码后,进行MLM任务和NSP任务,产生联合训练的损失函数从而迭代更新整个模型中的参数。
在这里插入图片描述

Bert Encoder:采用默认的12层transformer encoder layer对输入进行编码
MLM任务:掩蔽语言模型,遮盖句子中若干词,用周围词去预测遮盖的词
NSP任务:下个句子预测,判断句子B在文章中是否属于句子A的下一句

2.1 BERT Encoder

如何对输入进行编码
在这里插入图片描述

句首+ < CLS > ,句尾和两个句子之间+ < SEP >
句子级别的编码:用来区分每个句子,一个句子的编码是相同的
位置编码:其实就是数字编码123456789

经过编码器编码后输出张量的形状:[ Batch Size , Seq lens , Emb dim]

2.2 MLM任务:掩蔽语言模型

  1. 采样
    在这里插入图片描述

  2. 将采样后的句子送进去Bert encoder进行编码

  3. 输入:Bert encoder编码后的输出 + 告诉模型要预测的词元位置(张量形状[ Batch Size,词元位置数量])------一句话中可能要预测词元的数量有点多,要3个的话词元位置数量=3

  4. 中间:MLP结构
    在这里插入图片描述
    Dense:全连接层激活函数是ReLu
    LN:用来规范化数据
    全连接层:激活函数是Softmax(token的数量)

    Softmax函数是用于多类分类问题的激活函数,在多类分类问题中,超过两个类标签则需要类成员关系。对于长度为K KK的任意实向量,Softmax函数可以将其压缩为长度为K KK,值在[ 0 , 1 ] [0,1][0,1]范围内,并且向量中元素的总和为1的实向量。

  5. 输出:序列类别分布张量,形状:[ Batch Size , 词元位置数量 , 总Token数量]

2.3 NSP任务

  1. 采样
    采样时,50%的概率将第二句句子替换成段落中的任意一个句子

  2. 将采样后的句子送进去Bert encoder进行编码

  3. 输入:经过bert encoder编码后输出< CLS >位置的张量,形状 [ Batch Size , Emd dim]
    在这里插入图片描述

  4. 中间:MLP结构,输出维度为2,激活函数为Softmax

  5. 输出:类别分布张量。形状为[Batch Size , 2]

三、训练过程

在这里插入图片描述

  1. 先通过文本数据整理出:(没有考虑padding )
    ①索引化的Tokens(已经随机选取了MLM与NSP任务数据)
    ②索引化的Segments
    ③MLM任务要预测的位置
    ④MLM任务的真实标注
    ⑤NSP任务的真实标注
  2. 将①②输入Bert Encoder得到编码后的向量以下称为⑥
  3. 将⑥与③输入MLM网络得到预测值与④计算交叉嫡损失函数。
  4. 在⑥中取出对应位置的张量输入NSP网络得到值与⑤计算交叉嫡损失函数。
  5. 将MLM的loss与NSP的loss相加得到总的loss,并反向传播更新所有模型参数。

考虑padding时,用< pad >进行填充。并且使用valid_lens记录实际长度

四、微调

通过预训练得到的bert encoder网络接上各种各样的下游网络进行不同的任务
在这里插入图片描述
a) 句子对分类,将经过Encoder层编码后的< CLS>对应位置的向量输入进一个多分类的MLP网络中即可。
b) 单句分类,同上。
c) 根据问题得到答案,输入是一个问题与一段描述组成的句子对。将经过Encoder层编码后的每个词元对应位置的向量输入进3分类的MLP网络,而类别分别是Start(答案的首位),End(答案的末尾),Span(其他位置)。
d) 命名实体识别,将经过Encoder层编码后每个词元对应位置的向量输入进一个多分类的MLP网络中即可。
(就是12层的编码把每个词都编码后,通过编码已经提取出了一些信息,再看你怎么利用而已)


五、问题与总结

5.1bert的双向体现在什么地方

体现在mlm任务 :
在这里插入图片描述
预测 “mask” 时,要看前后 “my” 与 “is” 的信息

5.2bert与transformer在位置编码上的不同

在这里插入图片描述
位置编码信息,在多层注意力层后就没有了-----简化:bert就直接用1234567

5.3 为什么bert中的word embedding具有一词多义的

bert最后输出的我认得 embedding


http://chatgpt.dhexx.cn/article/teLrVkPH.shtml

相关文章

BERT从零详细解读:BERT整体模型架构

基础结构-TRM的Encoder BERT使用多个Encoder堆叠在一起&#xff0c;其中bert base使用的是12层的encoder&#xff0c;bert large使用的是24层的encoder。 对于transformer来说&#xff0c;输入包括两个部分&#xff1a; 一部分是input enbedding&#xff0c;就是做词的词向量…

如何计算Bert模型的参数量

BERT是基于transformer结构的预训练模型。具体bert原理介绍&#xff0c;请参考博客&#xff1a;Bert系列解读及改进_&永恒的星河&的博客-CSDN博客_bert系列 求解Bert模型的参数量是面试常考的问题&#xff0c;也是作为算法工程师必须会的一个点。所谓会用并不代表熟悉…

关于Bert模型参数的分布

参数分布 Bert模型的版本如下&#xff1a; BERT-Base, Uncased: 12-layer, 768-hidden, 12-heads, 110M parameters BERT-Large, Uncased: 24-layer, 1024-hidden, 16-heads, 340M parameters BERT-Base, Cased: 12-layer, 768-hidden, 12-heads , 110M parameters BERT-L…

BERT模型原理的详细介绍

文章目录 参考文章1. BERT模型1.1 模型结构1.2 输入表示1.3 预训练任务1.3.1 Task 1:Masked Language Model1.3.2 Task 2&#xff1a;Next Sentence Prediction 1.4 微调(fine-tuning)基于句子对的分类任务基于单个句子的分类任务问答任务命名实体识别 2. 总结 参考文章 【NLP…

BERT和GPT模型简介

1. 引言 从现在的大趋势来看&#xff0c;使用某种模型预训练一个语言模型看起来是一种比较靠谱的方法。从之前 AI2 的 ELMo&#xff0c;到 OpenAI 的 fine-tune transformer&#xff0c;再到 Google 的 BERT、GPT&#xff0c;全都是对预训练的语言模型的应用。 本文将主要介绍…

BERT模型简介

基础架构-Transformer的Encoder&#xff1a; 由下到上&#xff0c;依次三个部分为输入、注意力机制和前馈神经网络 基础的Bert&#xff0c;六个encoder&#xff0c;六个decoder。 输入部分 input token embedding segment embedding position embedding bert预训练的NSP&am…

BERT 模型详解

BERT 结构 上图是 BERT 的结构图&#xff0c;左侧的图表示了预训练的过程&#xff0c;右边的图是对于具体任务的微调过程 BERT 的输入 BERT 的输入可以包含一个句子对 (句子 A 和句子 B)&#xff0c;也可以是单个句子。同时 BERT 增加了一些有特殊作用的标志位&#xff1a; …

如何从零开始训练BERT模型

我的许多文章都专注于 BERT——这个模型出现并主导了自然语言处理 (NLP) 的世界&#xff0c;标志着语言模型的新时代。 对于那些之前可能没有使用过 Transformer 模型&#xff08;例如 BERT 是什么&#xff09;的人&#xff0c;这个过程看起来有点像这样&#xff1a; pip 安装…

BERT模型详解

Auto-Regressive & Auto-Encoding 在介绍当下最火热的BERT模型之前&#xff0c;我们先来看两个概念&#xff0c;Auto-Regressive和Auto-Encoding。 Auto-Regressive Auto-Regressive如上图所示&#xff0c;其实很像是一个语言模型&#xff0c;遵循的是链式法则&#xff0…

BERT(预训练Transformer模型)

目录 一、前言 二、随机遮挡&#xff0c;进行预测 三、两句话是否原文相邻 四、两者结合起来 五、总结 六、参考链接 一、前言 Bert在18年提出&#xff0c;19年发表&#xff0c;Bert的目的是为了预训练Transformer模型encoder网络&#xff0c;从而大幅提高准确率 Bert …

详细介绍BERT模型

文章目录 BERT简介BERT, OpenAI GPT, 和ELMo之间的区别相关工作BERT的改进 BERT 的详细实现输入/输出表示预训练BERT微调BERT BERT用在下游任务GLUE(一个自然语言任务集合)SQuAD v1.1(QA数据集)SQuAD v2.0SWAG 消融实验预训练任务的影响模型大小的影响基于特征的BERT方法 结论 …

BERT模型—2.BERT模型预训练与微调

文章目录 引言一、预训练语言模型1.为什么要进行预训练&#xff1f;2. BERT预训练-掩码预测任务3.BERT预训练-下句预测任务 二、BERT的文本处理—subword tokenizer1. 为什么要学习subword tokenizer?2. 词表生成与分词 三、BERT embedding四、BERT微调—句子分类任务五、BERT…

图解BERT模型:从零开始构建BERT

转载&#xff1a;https://cloud.tencent.com/developer/article/1389555 本文首先介绍BERT模型要做什么&#xff0c;即&#xff1a;模型的输入、输出分别是什么&#xff0c;以及模型的预训练任务是什么&#xff1b;然后&#xff0c;分析模型的内部结构&#xff0c;图解如何将模…

BERT模型—1.BERT模型架构

文章目录 引言一、Bert模型总览二、注意力机制1.Seq2seq中的注意力操作2.注意力的一般形式&#xff08;三步曲&#xff09;3. transformer中的自注意力机制—Self.Attention4. transformer的多头注意力机制5. scaling6. 模型优化技巧&#xff1a;残差连接 三、BERT其他结构特性…

【科研】BERT模型理论详解

原文&#xff1a;https://cloud.tencent.com/developer/article/1389555 本文首先介绍BERT模型要做什么&#xff0c;即&#xff1a;模型的输入、输出分别是什么&#xff0c;以及模型的预训练任务是什么&#xff1b;然后&#xff0c;分析模型的内部结构&#xff0c;图解如何将模…

BERT模型的详细介绍

1.BERT 的基本原理是什么&#xff1f; BERT 来自 Google 的论文Pre-training of Deep Bidirectional Transformers for Language Understanding&#xff0c;BERT 是“Bidirectional Encoder Representations from Transformers”的首字母缩写&#xff0c;整体是一个自编码语言…

图解BERT模型

1. 模型的输入/输出 BERT模型的全称是&#xff1a;BidirectionalEncoder Representations from Transformer。从名字中可以看出&#xff0c;BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation&#xff0c;即&#xff1a;文本的语义表示&…

BERT模型

BERT模型 Paper: https://arxiv.org/abs/1810.04805 BERT 全称为Bidirectional Encoder Representation from Transformers&#xff08;来自Transformers的双向编码表示&#xff09;&#xff0c;谷歌发表的发的论文Pre-traning of Deep Bidirectional Transformers for Langu…

BERT模型的结构,特点和实践

BERT模型介绍&#xff0c;特点&#xff0c;资源 一、背景介绍二、BERT与语言模型1.feature-based2.fine-tuning3.BERT的语言模型 三、BERT整体概览1. BERT框架2. BERT模型结构2.1输入部分2.2 BERT的预训练任务任务1&#xff1a;Masked Language Model(MLM)任务2&#xff1a;Nex…

Bert算法:语言模型-BERT详细介绍

本文的目的是向NLP爱好者们详细解析一个著名的语言模型-BERT。 全文将分4个部分由浅入深的依次讲解。1.Bert简介 BERT是2018年10月由Google AI研究院提出的一种预训练模型。 BERT的全称是Bidirectional Encoder Representation from Transformers。BERT在机器阅读理解顶级水平…