02 Transformer 基础:Self-Attention 原理详解

1. Self-Attention?

ViT 的核心不是"把图像切成 patch"这么简单。

图像切成 patch 只是第一步。真正让 ViT 能够建模图像全局关系的,是 Transformer Encoder 中的 Self-Attention。在 CNN 中,图像信息通常通过卷积层逐步传播。一个像素或者一个局部区域想要和远处区域发生关系,往往需要经过多层卷积堆叠。而在 Self-Attention 中,所有 token 之间都可以直接计算关系。如果放到 ViT 中理解:

每个图像 patch 都是一个 token;

Self-Attention 会计算每个 patch 和其他 patch 的关系;

模型根据这些关系重新聚合图像信息。

也就是说,Self-Attention 让 ViT 不再只能从局部一步步看图,而是可以直接比较图像中任意两个 patch 之间的联系。这就是它和 CNN 最核心的区别之一。

2. 从一个简单例子理解 Attention

在正式讲公式之前,我们先用一个简单例子理解 Attention。假设一句话是:

我 喜欢 计算机 视觉

这句话中有 4 个 token。当模型处理"视觉"这个词时,它可能需要关注前面的"计算机",因为"计算机视觉"是一个整体概念。当模型处理"喜欢"这个词时,它可能需要关注"我",因为"我"是动作的发出者。所以,Attention 的核心思想可以简单理解为:当前 token 在更新自己的表示时,不是只看自己,而是会根据相关性去关注其他 token。

换句话说,每个 token 都会问一个问题:在当前上下文中,我应该重点关注哪些 token?这个"关注程度"就是 attention weight。

3. Query、Key、Value 是什么?

Self-Attention 中最容易让人困惑的三个概念就是:

复制代码
Query
Key
Value

它们通常简写为:

复制代码
Q, K, V

很多初学者第一次看到这三个名字会觉得很抽象。其实可以用"检索信息"的方式来理解。

3.1 用搜索来理解 Q、K、V

假设你在搜索引擎中输入一个问题:

Vision Transformer 是什么?

这个问题就类似于 Query。搜索引擎会拿你的问题和网页中的关键词、标题、内容进行匹配,这些被匹配的信息可以类比为 Key。最后,搜索引擎返回给你的具体网页内容,可以类比为 Value。所以可以简单理解为:

Query:我想找什么?

Key:我有什么特征可以被匹配?

Value:如果匹配上了,我能提供什么信息?

放到 Self-Attention 中,每个 token 都会生成自己的 Query、Key 和 Value。

3.2 在 token 中理解 Q、K、V

假设输入有 4 个 token:

复制代码
token_1, token_2, token_3, token_4

每个 token 都会通过不同的线性层生成三个向量:

复制代码
Q:用来查询其他 token
K:用来被其他 token 匹配
V:真正被聚合的信息内容

例如,当 token_1 想更新自己的表示时,它会用自己的 Query 去和所有 token 的 Key 做匹配。匹配分数越高,说明 token_1 越应该关注那个 token。然后再根据这些分数,对所有 token 的 Value 做加权求和。这就是 Self-Attention 的核心过程。

相关推荐
189228048611 小时前
NV243美光MT29F32T08GWLBHD6-24QJES:B
大数据·服务器·人工智能·科技·缓存
是Dream呀1 小时前
vLLM适配昇腾NPU:DeepSeek-V3 PD分离部署完整流程
人工智能
Java后端的Ai之路1 小时前
CodeBuddy-Rules配置
人工智能·python·ai编程
清灵xmf1 小时前
CC Switch:解决 AI 编程工具配置
前端·人工智能·cc switch
拾-光1 小时前
【Git】命令大全:从入门到高手,100 个最常用命令速查(2026 版)
java·大数据·人工智能·git·python·elasticsearch·设计模式
笨笨饿1 小时前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法
2501_921960851 小时前
协同本体论 V4.2+:离散关系拓扑涌现连续时空几何的数值验证
数据结构·人工智能·重构
IT_陈寒1 小时前
Redis缓存击穿把我坑惨了,原来这样解决才靠谱
前端·人工智能·后端
学习论之费曼学习法2 小时前
Agent记忆系统:让AI拥有长期记忆能力
数据库·人工智能·oracle