AI Attention机制详解:用Query、Key、Value看懂注意力计算

Attention 机制解决的问题很具体:当模型处理一个词时,如何从句子其他位置提取有用信息,而不是只依赖固定窗口或循环状态。
它的基本动作是给每个位置算一个相关性分数,再按分数加权汇总信息。
理解这条主线,就能看懂 Transformer 里大部分注意力变体。

先分清 Query、Key、Value 各自负责什么

Attention 常被类比成查字典,但真正要抓住的是三个角色的分工:

  • Query(查询):当前要处理的位置发出的“我需要什么信息”的向量。
  • Key(键):每个位置提供的“我能匹配什么”的向量,用来和 Query 算相关性。
  • Value(值):每个位置实际携带的内容向量,按相关性权重被汇总。

计算时先用 Query 和所有 Key 做点积得到分数,再经过缩放和 Softmax 变成权重,最后用权重对 Value 加权求和。
输出向量的每一维都来自 Value 的混合,混合比例由 Query 与 Key 的匹配程度决定。

缩放点积注意力的计算步骤

以单个 Query 和长度为 n 的序列为例,标准缩放点积注意力可以拆成四步:

  1. 算分数:scores = Q · K^T,得到当前 Query 与每个 Key 的点积。
  2. 缩放:scores = scores / sqrt(d_k),其中 d_k 是 Key 向量的维度。维度越大点积方差越大,不缩放会让 Softmax 过度尖锐。
  3. 归一化:对分数做 Softmax,得到总和为 1 的注意力权重。
  4. 加权求和:output = weights · V,用权重混合所有 Value。

如果写成矩阵形式,就是:

Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) V

这里的 sqrt(d_k) 不是可调超参数,而是按维度做标准化。
很多入门解释会省略缩放,但实际实现中这一步直接影响训练稳定性。

自注意力与多头注意力不是两套公式

自注意力指 Query、Key、Value 都来自同一个序列。
比如处理句子“猫追老鼠”时,每个词都同时充当查询者和被查询者,因此能直接建模词与词之间的关系,不受距离限制。

多头注意力则是在同一层里并行做多组注意力,每组使用不同的线性投影得到自己的 Q、K、V,最后把多个头的输出拼接再投影。
它的意义不是简单增加参数量,而是让不同头关注不同模式,例如有的头偏向局部相邻词,有的头偏向句法依存。

两者关系可以这样记:自注意力描述“Q、K、V 从哪来”,多头注意力描述“做几组、怎么合并”。
实际模型通常同时使用两者。

从公式到代码:用 NumPy 验证一次权重

不需要深度学习框架也能验证 Attention 的计算过程。
下面用 NumPy 跑一个最小例子,重点看权重是否归一化、输出维度是否和 Value 一致:

import numpy as np

np.random.seed(0)
q = np.array([[1.0, 0.0]])
k = np.array([[1.0, 0.0], [0.0, 1.0], [1.0, 1.0]])
v = np.array([[10.0, 0.0], [0.0, 10.0], [5.0, 5.0]])

d_k = k.shape[1]
scores = q @ k.T / np.sqrt(d_k)
weights = np.exp(scores) / np.exp(scores).sum(axis=1, keepdims=True)
output = weights @ v

print(weights)
print(output)

执行后应看到 weights 每行和为 1,output 形状为 (1, 2),与 Value 的列数一致。
如果权重和明显不等于 1,优先检查 Softmax 是否按最后一维归一化;
如果输出维度不对,检查矩阵乘法方向。

常见误解和避坑点

  • 把注意力权重当成解释性证据:权重高只说明当前计算中该位置贡献大,不能直接等同于模型决策原因。
  • 忽略 mask 的作用:解码器自注意力需要因果 mask,把未来位置分数设为负无穷后再 Softmax,否则训练时会看到不该看的信息。
  • 以为缩放可有可无:sqrt(d_k) 影响 Softmax 的平滑程度,去掉后大维度下梯度容易不稳定。
  • 混淆注意力头和隐藏维度:多头注意力的总输出维度通常等于模型隐藏维度,不是每个头都占满隐藏维度。

怎么确认自己真的理解了

可以用三个检查点验证:第一,给定 Q、K、V 能手动算出权重和输出;
第二,能说清自注意力和多头注意力分别解决什么问题;
第三,在代码里改动 d_k 或去掉缩放,观察 Softmax 权重的变化。
能解释这些变化,比背公式更有用。

Attention 机制本身并不神秘,核心就是相关性打分加加权汇总。
把 Q、K、V 的角色、缩放点积公式和 mask 这几个点吃透,再去看 Transformer 的完整结构会顺畅很多。

分享到:
上一篇
AI Transformer架构详解:从自注意力到完整工作流程
下一篇
AI大模型原理详解:看懂参数、训练与推理过程
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意