BERT架构简介

一、BERT模型架构

BERT沿用原始Transformer模型中的编码器层,具有编码器的堆叠。但BERT没有使用解码器层,因此没有掩码多头注意力子层。(BERT的设计者认为,对序列后续部分进行掩码会阻碍注意力过程)。于是,BERT引入了双向注意力机制 ,即一个注意力头从左到右,另一个注意力头从右到左注意所有单词。

图1 BERT模型架构

二、BERT模型训练

BERT的训练过程分为两项任务:掩码语言建模 (Masked Language Modeling,MLM)和下一句预测(Next Sentence Prediction, NSP)

2.1 掩码语言建模

BERT对句子进行双向分析,随机对句子中的某一个单词进行随机掩码。

复制代码
原句:The cat sat on it because it was a nice rug.
Transformer:The cat sat on it <masked sequence>.
BERT:The cat sat on it [MASK] it was a nice rug.

上述掩码过程只是一个注意力子层的效果,当使用多个注意力子层时,就可以看到整个序列,运行注意力过程,然后观测被掩码的词元。

2.2 下一句预测

在这个过程中会添加两个新的词元:

  • CLS\]词元:二分类词元,添加到第一个句子的开头,用于预测第二个句子是否跟随第一个句子。


图2 输入嵌入过程

2.3 总结

  • 使用WordPiece对句子进行词元化
  • 使用[MASK]词元随机替换句子中的单词
  • 在序列的开头插入[CLS]分类词元
  • 在序列的两个句子结尾插入[SEP]词元
  • 句子嵌入是在词嵌入的基础上添加的,因此句子A和句子B具有不同的嵌入值
  • 位置编码采用了可学习方法,而没有采用原始Transformer中的正弦-余弦位置编码方法

参考文献

1\] 丹尼斯·罗斯曼.《基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理》 \[M\]. 北京: 清华大学出版社, 2024

相关推荐
ting_zh16 分钟前
PyTorch、TensorFlow、JAX 简介
人工智能·pytorch·tensorflow
java1234_小锋17 分钟前
TensorFlow2 Python深度学习 - 深度学习概述
python·深度学习·tensorflow·tensorflow2·python深度学习
数据与人工智能律师1 小时前
AI的法治迷宫:技术层、模型层、应用层的法律痛点
大数据·网络·人工智能·云计算·区块链
椒颜皮皮虾྅1 小时前
【DeploySharp 】基于DeploySharp 的深度学习模型部署测试平台:安装和使用流程
人工智能·深度学习·开源·c#·openvino
迈火1 小时前
PuLID_ComfyUI:ComfyUI中的图像生成强化插件
开发语言·人工智能·python·深度学习·计算机视觉·stable diffusion·语音识别
AI新兵3 小时前
AI大事记10:从对抗到创造——生成对抗网络 (GANs)
人工智能·神经网络·生成对抗网络
却道天凉_好个秋3 小时前
深度学习(十五):Dropout
人工智能·深度学习·dropout
你好~每一天3 小时前
2025 中小企业 AI 转型:核心岗技能 “怎么证、怎么用”?
人工智能·百度·数据挖掘·数据分析·职业·转行
飞哥数智坊4 小时前
3B参数差点干翻32B模型,Qwen3 Next 是如何做到的?
人工智能
人工智能技术派4 小时前
Whisper推理源码解读
人工智能·语言模型·whisper·语音识别