当前位置: 首页 > news >正文

掌握 Self-Attention(自注意力)机制——Transformer 与大模型的核心基础

目录

一、前言

二、什么是 Self-Attention

(一)Attention是什么

(二)什么是 Self-Attention

三、为什么需要 Self-Attention

(一)RNN存在的问题

(二)长距离依赖问题

(三)无法并行计算

(四)Self-Attention优势

四、Self-Attention核心思想

(一)每个词都看所有词

(二)建立词与词之间的关系

五、Q、K、V是什么

(一)Query(查询)

(二)Key(键)

(三)Value(值)

(四)生活中的例子

六、Self-Attention计算流程

(一)生成Q、K、V

(二)计算相关性

(三)缩放处理

(四)Softmax归一化

(五)加权求和

七、Self-Attention完整公式

八、Self-Attention工作示例

九、Self-Attention结构图

十、多头注意力机制

(一)为什么需要多头

(二)Multi-Head思想

(三)工作流程

十一、Self-Attention的优势

(一)捕获长距离依赖

(二)支持并行训练

(三)全局感知能力强

(四)适合大规模训练

十二、Self-Attention的缺点

(一)计算复杂度高

(二)显存消耗大

(三)推理成本较高

十三、PyTorch实现Self-Attention

十四、Self-Attention在大模型中的应用

(一)GPT系列

(二)BERT

(三)ChatGPT

(四)DeepSeek

十五、Self-Attention对AI发展的意义

十六、总结


如果要评选近十年来人工智能领域最重要的技术,那么 Self-Attention(自注意力机制)一定榜上有名。

从 Google 提出的 Transformer,到如今火爆全球的:

  • GPT系列

  • ChatGPT

  • Claude

  • Gemini

  • DeepSeek

  • Qwen

其核心都建立在 Self-Attention 机制之上。

2017年,Google 在论文:

《Attention Is All You Need》

中提出了 Transformer 架构。

这篇论文有一个非常大胆的观点:

不再使用 RNN 和 CNN,仅依靠 Attention 机制完成自然语言处理任务。

事实证明,这个观点彻底改变了人工智能的发展方向。

而 Transformer 最核心的组件就是:

Self-Attention

可以说:

理解 Self-Attention,就等于掌握了 Transformer 和大模型的核心基础。

本文将从原理、结构、计算过程、代码实现等多个角度,深入讲解 Self-Attention 机制。


二、什么是 Self-Attention

(一)Attention是什么

Attention 翻译过来叫:

注意力机制

其核心思想非常简单:

关注重要信息 忽略无关信息

例如:

阅读一句话:

小明喜欢打篮球。

当看到:

篮球

时。

我们会自然联想到:

小明 喜欢

而不会重点关注无关内容。

这就是:

注意力机制。


(二)什么是 Self-Attention

Self-Attention:

即:

自注意力机制

所谓“自”。

指的是:

自己关注自己

换句话说:

输入序列中的每个元素。

都会与序列中的所有元素建立联系。

例如:

我 喜欢 深度 学习

当处理:

学习

时。

模型会同时关注:

我 喜欢 深度 学习

并自动计算:

谁对当前词更重要。


三、为什么需要 Self-Attention

(一)RNN存在的问题

在 Transformer 出现之前。

NLP主要依赖:

  • RNN

  • LSTM

  • GRU

结构如下:

输入 ↓ RNN ↓ RNN ↓ RNN ↓ 输出

这种结构存在明显缺陷。


(二)长距离依赖问题

例如:

小明在北京工作多年, 后来他回到了家乡。

这里:

实际上指代:

小明

但:

两者距离较远。

RNN 很难建立联系。

容易出现信息丢失。


(三)无法并行计算

RNN 必须:

一个词一个词处理

例如:

我 喜欢 深度 学习

只能顺序执行。

无法充分利用 GPU 并行能力。

训练效率较低。


(四)Self-Attention优势

Self-Attention:

所有词同时计算

因此:

  • 训练更快

  • 长距离依赖更强

  • 表达能力更好


四、Self-Attention核心思想

(一)每个词都看所有词

例如:

输入句子:

我 喜欢 深度 学习

传统RNN:

我 → 喜欢 → 深度 → 学习

Self-Attention:

我 ↔ 全部词 喜欢 ↔ 全部词 深度 ↔ 全部词 学习 ↔ 全部词

即:

每个词都能够获取全局信息。


(二)建立词与词之间的关系

例如:

北京是中国的首都

处理:

首都

时。

模型会重点关注:

北京 中国

而降低对其他词的关注。


五、Q、K、V是什么

Self-Attention最重要的三个概念:

(一)Query(查询)

表示:

我想找什么

记作:

Q

(二)Key(键)

表示:

我有什么信息

记作:

K

(三)Value(值)

表示:

真正输出的信息

记作:

V

(四)生活中的例子

假设:

你去图书馆查书。

Query:

Python编程

Key:

书籍目录

Value:

书籍内容

过程:

Q匹配K ↓ 找到目标 ↓ 返回V

Self-Attention的原理与此类似。


六、Self-Attention计算流程

(一)生成Q、K、V

输入:

Embedding

经过线性变换:

X ↓ WQ ↓ Q X ↓ WK ↓ K X ↓ WV ↓ V

得到:

Q K V

三个矩阵。


(二)计算相关性

计算:

Q 与 K 的相似度。

公式:

Q × Kᵀ

例如:

学习 与 深度

关系越强。

得分越高。


(三)缩放处理

为了避免数值过大。

Transformer提出:

(QKᵀ)/√dk

其中:

dk

表示向量维度。


(四)Softmax归一化

将分数转换为概率。

例如:

0.8 0.1 0.05 0.05

表示:

80% 10% 5% 5%

注意力权重。


(五)加权求和

最后:

Attention Weight × V

得到最终输出。


七、Self-Attention完整公式

Self-Attention最经典公式:

Attention(Q,K,V) = Softmax( QKᵀ/√dk ) V

这是 Transformer 的核心公式。

也是整个大模型时代最重要的公式之一。


八、Self-Attention工作示例

假设句子:

小明喜欢打篮球

处理:

篮球

时。

可能得到:

小明 → 0.3 喜欢 → 0.5 打 → 0.15 篮球 → 0.05

说明:

模型认为:

喜欢

与:

篮球

关系最强。

因此给予最高权重。


九、Self-Attention结构图

整体流程:

Input ↓ Embedding ↓ Linear ↓ Q K V ↓ Q × Kᵀ ↓ Softmax ↓ Attention Weight ↓ Weight × V ↓ Output

这就是标准 Self-Attention 模块。


十、多头注意力机制

(一)为什么需要多头

单个 Self-Attention:

只能学习一种关系。

例如:

语法关系

或者:

语义关系

表达能力有限。


(二)Multi-Head思想

同时建立多个 Self-Attention。

例如:

Head1 Head2 Head3 Head4 Head5 Head6 Head7 Head8

每个头学习不同信息。


(三)工作流程

Input ↓ Multi Head ↓ Concat ↓ Linear ↓ Output

这就是:

Multi-Head Attention

十一、Self-Attention的优势

(一)捕获长距离依赖

任何两个词:

都能直接建立联系。


(二)支持并行训练

所有词同时计算。

训练速度远超RNN。


(三)全局感知能力强

每个词:

都能获取全局信息。


(四)适合大规模训练

非常适合:

  • GPT

  • BERT

  • Transformer

等大型模型。


十二、Self-Attention的缺点

(一)计算复杂度高

复杂度:

O(n²)

序列长度翻倍:

计算量增长四倍。


(二)显存消耗大

长文本场景:

显存压力明显增加。


(三)推理成本较高

相比CNN:

计算资源需求更高。


十三、PyTorch实现Self-Attention

下面实现一个简化版 Self-Attention。

import torch import torch.nn as nn class SelfAttention(nn.Module): def __init__(self, dim): super().__init__() self.q = nn.Linear(dim, dim) self.k = nn.Linear(dim, dim) self.v = nn.Linear(dim, dim) def forward(self, x): Q = self.q(x) K = self.k(x) V = self.v(x) scores = torch.matmul( Q, K.transpose(-2, -1) ) scores = scores / ( Q.size(-1) ** 0.5 ) attention = torch.softmax( scores, dim=-1 ) output = torch.matmul( attention, V ) return output

该代码完整实现了:

  • Q生成

  • K生成

  • V生成

  • Softmax计算

  • Attention输出

过程。


十四、Self-Attention在大模型中的应用

目前几乎所有主流大模型都基于 Self-Attention。

(一)GPT系列

例如:

  • GPT-2

  • GPT-3

  • GPT-4

核心:

Transformer Decoder

(二)BERT

采用:

Transformer Encoder

结构。


(三)ChatGPT

本质上:

仍然建立在 Self-Attention 之上。


(四)DeepSeek

其核心架构同样依赖:

Self-Attention

进行上下文建模。


十五、Self-Attention对AI发展的意义

Self-Attention 的出现。

彻底改变了深度学习的发展路线。

推动诞生了:

  • Transformer

  • BERT

  • GPT

  • ChatGPT

  • Claude

  • Gemini

  • DeepSeek

等现代AI系统。

可以说:

没有 Self-Attention,就没有今天的大模型时代。


十六、总结

Self-Attention 是 Transformer 架构的核心,也是现代人工智能最重要的基础技术之一。

本文重点掌握了:

1、什么是 Self-Attention;

2、为什么需要 Self-Attention;

3、RNN存在的问题;

4、Q、K、V 的含义;

5、Self-Attention计算流程;

6、核心公式解析;

7、多头注意力机制;

8、PyTorch实现方式;

9、Self-Attention优势与不足;

10、在GPT、BERT等模型中的应用。

可以将 Self-Attention 理解为:

“让每个输入元素主动寻找与自己最相关的信息,并根据重要程度进行加权融合的机制。”

正是这种机制,让 Transformer 具备了强大的上下文理解能力,也奠定了大模型时代的技术基础。对于学习 NLP、Transformer、ChatGPT 和大语言模型的开发者而言,Self-Attention 是必须彻底掌握的核心知识。

http://www.gsyq.cn/news/1502514.html

相关文章:

  • 3分钟掌握:免费使用Cursor Pro功能的完整教程与终极指南
  • 别再只会写一种了!用Verilog的三种描述方式搞定三人表决器(附完整代码)
  • 2026年6月国产PCB厂家综合实力排行榜评测
  • 掌握多头自注意力机制(Multi-Head Self-Attention)——Transformer 强大表达能力的核心来源
  • 如何在非Windows系统上完美编辑Visio文件?drawio-desktop为您提供专业解决方案
  • 2026-6学习计划
  • 做工业控制和物联网网关的朋友最近经常问:屏幕刷新卡顿、AI算力不够、PCB面积又受限,这该怎么选型?
  • BiliTools智能解析:轻松获取B站视频资源的一站式解决方案
  • PostgreSQL 保姆级入门:为什么说它“养活”了国产数据库?
  • 告别Excel图表!用aardio+ScottPlot在Windows桌面快速绘制38种专业图表(附完整源码)
  • 2026年幕墙安装改造公司靠谱度排行:西安幕墙维修公司、贵阳幕墙安装公司、贵阳幕墙维修公司、重庆幕墙安装公司、重庆幕墙维修公司选择指南 - 优质品牌商家
  • 群论中的稳定群与完全群:构造与分类
  • 13ft Ladder:3分钟搭建个人专属付费墙绕过阅读助手
  • 2026年最新|Turnitin检测告急?英文文章降AI率从86%降至20%以下的实测指南 - 降AI实验室
  • 从Qt摄像头显示到RKNN推理:手把手解析RK3568上SSD模型的实时部署流程
  • 2026南昌黄金回收全攻略 多家靠谱门店详解及避坑指南 - 润富黄金回收
  • 数据的加密与解密(07:11)
  • C#工业视觉项目实战:Halcon 3D点云数据如何通过ActiViz在WinForm中流畅显示(附完整代码)
  • 告别万用表手动测算!给老旧STC89C51开发板加个新功能:自动电路特性测试
  • 手把手教你用FPGA驱动24位高精度ADC芯片ADS1256(附Verilog代码避坑指南)
  • 终极指南:高效扩展FossFLOW等距图表工具的完整方案
  • 2026年6月郑州黄金回收店推荐:五大机构专业评测报价透明特点适用场景 - 品牌推荐
  • 2026最佳Chrome代理插件推荐:4个插件工具测评(附详细评测)
  • 褐矮星系统动力学:潮汐演化与轨道特性研究
  • 2026 安徽安庆彩钢瓦翻新防水 TOP4 权威推荐(全区域服务 + 避坑指南) - 本地便民网
  • 2026年6月10日博客精选
  • FanControl深度解析:Windows风扇智能控制架构与实战配置
  • 黑洞吸积动力学与QPO频率的数值模拟研究
  • TaskbarX:重新定义Windows任务栏美学的革命性工具
  • 英雄联盟全能助手:League Akari 3分钟快速上手指南