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

相关推荐
朝朝辞暮i1 小时前
VLA 系统学习第 4 课:一个 Batch 进入神经网络后,模型到底是怎么“学会”的?
人工智能·python·神经网络·vla
IT古董2 小时前
《FDE前沿部署工程师实战教程》33 - Enterprise AI Observability:从Agent Trace到全链路智能运维
数据库·人工智能
xsd202411182 小时前
地网腐蚀AI识别算法全解析:从锈蚀图像到地下腐蚀快速定位
人工智能
oooost2 小时前
pytorch学习笔记2(transformer)
人工智能·机器学习
云杂项3 小时前
Exploring Model Inversion Attacks in the Black-box Setting(个人笔记)
人工智能
还卿一钵无情泪3 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
冬奇Lab4 小时前
LLM 驱动的自动化测试系列(06):移动端自动化(二)——DroidRun/Mobilerun 的角色级模型拆分
人工智能·测试
冬奇Lab4 小时前
一天一个开源项目(第230篇):HandRaw-Style —— 把 327 种手绘风格、165 种排版、36 种配色编号化,让 AI 画图不再每次都飘
人工智能·开源·资讯
罗西的思考4 小时前
从陶哲轩的访谈看:AI 数学研究方法论 & 给其它行业的启示
人工智能
学...4 小时前
软件学报 2023 论文《面向复杂约束优化问题的进化算法综述》阅读笔记
人工智能·ga·cmop