看的是3B1B的视频:【官方双语】直观解释注意力机制,Transformer的核心 | 【深度学习第6章】_哔哩哔哩_bilibili
评论都说讲的很好,但是对于0基础小白看的比较费劲,听着听着就开始双眼放空,不知所云。 于是在网上找笔记辅助:深入理解Attention:3b1b直观解释注意力机制笔记
又让AI(豆包可以直接总结抖音视频但是无法读取B站视频内容,所以我是让Gemini总结的youtube上的这个视频)内容如下:
1. 核心问题:词向量的“去歧义”
在 Transformer 出现之前,我们使用 Word Embedding(词嵌入)将单词转换为向量。
- 问题:Embedding 是静态的。单词
Bank在 "River bank"(河岸)和 "Bank account"(银行账户)中,使用的是同一个原始向量。 - 目标:我们需要一种机制,让单词能够“观察”上下文,根据周围的词修改自己的含义。
- 结果:经过 Transformer 处理后,
Bank的向量会发生旋转/移动,变成一个融合了上下文信息的新向量(Contextualized Embedding)。
2. 核心组件:注意力机制 (Attention)
Attention 的本质是一个**加权求和(Weighted Sum)**的过程。
2.1 三个关键角色 (Q, K, V)
对于句子中的每一个 Token(例如 creature),我们通过三个可学习的矩阵 () 将其原始向量 映射为三个新向量:
-
Query () - 提问者:
- 含义:当前 Token 在寻找什么类型的上下文?
- 例子:
creature的 可能会问:“前面有没有形容词修饰我?”
-
Key () - 索引/标签:
- 含义:当前 Token 拥有什么特征?用来回答 的提问。
- 例子:
fluffy的 会回答:“我是形容词,表示毛茸茸。”
-
Value () - 内容/干货:
- 含义:如果匹配成功,当前 Token 要传递给对方的具体信息。
- 例子:
fluffy的 包含了“柔软、有毛”的语义特征。
2.2 计算流程 (数学与几何)
假设输入序列为 ,流程如下:
-
计算相关性 (Attention Score) :
- 几何意义:计算向量的点积。点积越大,两个向量方向越一致,代表相关性越强。
- 缩放:通常除以 (维度的平方根) 以防止数值过大导致 Softmax 梯度消失。
-
归一化 (Softmax) :
- 将分数转化为概率分布(总和为 1)。
- Masking (掩码) :在 GPT 等生成模型中,为了防止“偷看”后面的词,会将上三角区域置为 ,Softmax 后变为 0。
-
信息融合 (Weighted Sum) :
- 核心操作:这是你最关心的步骤。
- 直观理解:
creature的新向量 = - 结果:
creature吸收了fluffy的 信息。
3. 进阶架构:多头与残差
3.1 多头注意力 (Multi-Head Attention)
单次 Attention 只能捕捉一种关系(如:形容词修饰名词)。为了捕捉多种关系(如:主谓关系、时态关系、指代关系),我们并行运行多个 Attention 实例。
-
实现方式:
- 将大的 Embedding 维度(如 12288)切分为 96 个小的 Head(每个 128 维)。
- 每个 Head 拥有独立的 。
- 最后将所有 Head 的输出 拼接 (Concat) 回去,并通过一个输出矩阵 融合。
3.2 残差连接 (Residual Connection)
3b1b 视频中强调了一个非常重要的点:Attention 计算的是“增量”(Delta) 。
- 意义:Attention 并不是重写整个词向量,而是给它“微调”。这使得梯度能够更容易地反向传播,防止深层网络退化。
3.3 前馈神经网络 (FFN / MLP)
Attention 负责让词之间“交流”。交流完后,每个词需要自己“思考”一下。
- 操作:对每个 Token 独立进行一次全连接层运算(通常是升维再降维)。
- 作用:处理和整合刚刚通过 Attention 收集到的信息。
到这里,我大概有些明白了,但是还是有点雾里看花的意思,于是让AI再归纳一下,看完这个视频应该建立的认知:
一、 极简总结:Transformer 到底在干什么?
如果把 Transformer 看作一个黑盒子,它的工作流程只有三步:
-
输入:把一句话里的每个词,变成一串数字(向量/Embedding)。这时候,“苹果”只是一个通用的词,不知道是水果还是手机。
-
处理(Attention 层) :让这些词互相“对话” 。
- “苹果”看到后面有“乔布斯”,就调整自己的数字,让自己变得更像“科技公司”。
- “它”看到前面是“小猫”,就调整自己,让自己代表“动物”。
- 这个过程重复几十次(多层网络),每次微调一点点。
-
输出:经过多次微调后,最后一个词的向量已经包含了整句话的含义,然后预测下一个最可能出现的词。
二、 你可以建立的 3 个核心认知
哪怕不写代码,这三个思维模型对你理解现在的 AI 爆发至关重要:
认知 1:语义即坐标 (Meaning is Position)
-
视频里的画面:那些在空间里飞来飞去的点。
-
核心认知:在 AI 的世界里,含义就是高维空间里的位置。
- 两个词意思相近,它们在空间里的距离就近。
- Transformer 的本质工作,就是不断挪动这些点的位置。
- 当模型把“Bank”从“河边”的区域挪到“金融”的区域,就代表它“听懂”了这句话。
认知 2:注意力即“加权混合” (Attention is Mixing)
-
视频里的画面:那个连线密密麻麻的网格图(Attention Pattern)。
-
核心认知:AI 理解上下文的方式,不是像人类一样做逻辑推理,而是做**“混合”**。
- 当我们说
creature关注到了fluffy(毛茸茸),在数学上发生的事情是:creature的向量里,混入了一部分fluffy的向量。 - Attention = 谁重要,我就把谁的信息加到我身上。
- 这就是为什么 Q/K/V 那么重要,它们决定了“混合的比例”。
- 当我们说
认知 3:智能涌现于“海量微调” (Intelligence from Scale)
-
视频里的画面:成千上万个参数旋钮(Knobs)被微调。
-
核心认知:没有一个单独的神经元代表“语法”或“逻辑”。
- 每一个 Attention 头(Head)都很傻,可能只懂一点点(比如只懂“找前一个词”)。
- 但是,当你把 96 个头 并联,再堆叠 96 层,这上万个简单的操作叠加在一起,神奇的事情发生了:模型表现出了复杂的理解能力。
- 量变引起质变,这就是大模型(LLM)的奥义。