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 的核心过程。

相关推荐
冬奇Lab2 小时前
Workflow 系列(01):基础理论——三种执行模型与 Anthropic 5 种模式
人工智能·agent·工作流引擎
冬奇Lab2 小时前
每日一个开源项目(第143篇):page-agent - 纯 JS 的网页 GUI Agent,无需截图、无需插件、无需后端
前端·人工智能·agent
程序员cxuan4 小时前
虽迟但到!GPT-5.6 终于来了!
人工智能·后端·程序员
ZhengEnCi6 小时前
Q03-UI设计进阶技巧-让界面更高级的7个核心原则
人工智能
IT_陈寒6 小时前
React的这个渲染问题连官方文档都没说清楚
前端·人工智能·后端
不加辣椒8 小时前
第12章 工具调用与 Agent 提示工程
人工智能
用户1693176172668 小时前
前端给AI消息做日期分组与时间线
人工智能
i晟8 小时前
Claude Code Harness 深度拆解:从你敲回车到模型回复,中间发生了什么
人工智能
用户252736278149 小时前
【踩坑复盘】我在本地跑 RAG 知识库时踩了 5 个大坑,吐血整理避坑指南
人工智能
大模型真好玩9 小时前
LangChain DeepAgents 速通指南(九)—— 生产级智能体框架 DeepAgents Code 源码导读
人工智能·langchain·agent