BERT模型入门(2)BERT的工作原理

文章目录


如名称所示,BERT(来自Transformer的双向编码器表示)是基于Transformer模型。我们可以将BERT视为只有编码器部分的Transformer。

在上一个主题《Transformer入门》中,我们了解到将句子作为输入喂给Transformer的编码器,它会返回句子中每个单词的表示作为输出。这正是BERT的本质------来自Transformer的编码器表示(Encoder

Representation from Transformer)。那么,"双向"这个词又是什么意思呢?

在 "Bidirectional Encoder Representation from Transformers" (BERT) 中的 "Bidirectional" 这个词,指的是模型在处理文本数据时能够同时考虑文本中的前后上下文信息。

以下是对 "Bidirectional" 的具体解释:

(1)传统单向语言模型:在 BERT 之前,常见的语言模型如 LSTM 或 GRU,通常是单向的。这意味着它们要么从左到右(正向)读取文本信息,要么从右到左(反向)读取。这样,每个词的表示只包含了它在一个方向上的上下文信息。

(2)双向性:而 "Bidirectional" 意味着模型在处理一个词时,能够同时考虑这个词左边和右边的上下文。这样,每个词的表示都能融合来自两个方向的信息,从而更加全面地理解词义和上下文。

在 BERT 模型中,"Bidirectional" 的实现方式如下:

(1)**Masked Language Model (MLM) **:在训练过程中,随机地遮盖(mask)输入序列中的一些词,然后要求模型预测这些被遮盖的词。由于模型不知道哪些词会被遮盖,因此它必须考虑所有词在两个方向上的上下文。

(2)**Next Sentence Prediction (NSP) **:在训练时,模型还会接收成对的句子作为输入,并学习预测第二个句子是否是第一个句子的后续。这进一步增强了模型对上下文的理解。

通过这种方式,BERT 成为了一个真正意义上的双向模型,它能够捕获文本中的复杂依赖关系,并在各种自然语言处理任务中取得了显著的性能提升。

Transformer的编码器本质上是双向的,因为它可以双向读取句子。因此,BERT基本上是从Transformer获得的双向编码器表示(the Bidirectional Encoder Representation obtained from the Transformer)。

让我们通过一个例子来理解BERT是如何作为Transformer的双向编码器表示的。让我们使用上一节中看到的同一个句子。

假设我们有句子A:He got bit by Python。现在,我们将这个句子作为输入喂给Transformer的编码器,并得到句子中每个单词的上下文表示(embedding,嵌入)作为输出。一旦我们将句子作为输入喂给编码器,编码器就会使用多头注意力机制(将句子中的每个单词与句子中的所有单词关联起来,以学习单词之间的关系和上下文意义)理解句子中每个单词的上下文,并返回句子中每个单词的上下文表示作为输出。

如下图所示,我们将句子作为输入喂给Transformer的编码器,并得到句子中每个单词的表示(representation)作为输出。我们可以堆叠N个编码器,如下图所示。我们只展开了编码器1,以减少混乱。在下面的图中,R_He是单词"He"的表示,R_got是单词"got"的表示,以此类推。每个标记的表示大小将是编码器层的大小。假设编码器层的大小是768,那么每个标记的表示大小将是768:

图2.3 -- BERT生成句子中每个单词的表示

同样,如果我们把句子B,"Python is a popular programming language.",喂给Transformer的编码器,我们得到句子中每个单词的上下文表示作为输出,如下图所示:

图2.4 -- BERT生成句子中每个单词的表示

因此,使用BERT模型,对于给定的句子,我们得到句子中每个单词的上下文表示(embedding,嵌入)作为输出。

现在我们了解了BERT是如何生成上下文表示的,接下来我们将查看BERT的不同配置。


感谢您的阅读,欢迎关注!


相关推荐
武子康8 小时前
AI研究-118 具身智能 Mobile-ALOHA 解读:移动+双臂模仿学习的开源方案(含论文/代码/套件链接)
人工智能·深度学习·学习·机器学习·ai·开源·模仿学习
长桥夜波8 小时前
机器学习日报12
人工智能·机器学习
AI柠檬8 小时前
机器学习:数据集的划分
人工智能·算法·机器学习
tt5555555555559 小时前
《神经网络与深度学习》学习笔记一
深度学习·神经网络·学习
诸葛务农9 小时前
光刻胶分类与特性——g/i线光刻胶及东京应化TP-3000系列胶典型配方(上)
人工智能·材料工程
mm-q29152227299 小时前
YOLOv5(PyTorch)目标检测实战:TensorRT加速部署!训练自己的数据集(Ubuntu)——(人工智能、深度学习、机器学习、神经网络)
人工智能·深度学习·机器学习
搞科研的小刘选手9 小时前
【多所高校合作】第四届图像处理、计算机视觉与机器学习国际学术会议(ICICML 2025)
图像处理·人工智能·机器学习·计算机视觉·数据挖掘·人脸识别·人机交互
FreeCode9 小时前
LangChain1.0智能体开发:消息组件(Messages)
人工智能·langchain·agent
视觉AI9 小时前
为什么 transformers 要 import TensorFlow
人工智能·tensorflow·neo4j
Coovally AI模型快速验证9 小时前
未来已来:从 CVPR & ICCV 观察 2025→2026 年计算机视觉的七大走向
人工智能·深度学习·目标检测·计算机视觉·stable diffusion