← 关联知识节点:Attention 与 Transformer
交互工具 · 原理

Attention 三步

attention 不是黑魔法,是三步算术:每个词带三份向量出场——Q 去问、K 挂牌、V 装货。点「苹果」,看它怎么被「吃」钉成水果;换个词再点,同一套算式换一个视角。

纯前端确定性演示:预设 5 维语义轴上的 Q/K/V 向量,点积、softmax 归一化、加权求和均为真实计算;机制口径与知识库《Attention 与 Transformer》一致——QKV 与缩放点积、多头与因果掩码在文中展开。零 API、零随机。

点一个词,看它的注意力怎么看上下文:
当前看「苹果」的注意力——它拿着自己的 Q,去和别人配对。
①

Q · K 点积 = 相关性分数

「苹果」拿着自己的 Query,去和每个词的 Key 算方向一致性——方向越一致,点积越大。

我
0.12
想
0.12
吃
1.34
苹果
1.20

分数最高的是「吃」——「苹果」最关注它。

②

softmax 归一化 = 注意力权重

把分数变成加起来等于 1 的权重,而且让强相关的更突出、弱相关的更微弱。

我
12%
想
12%
吃
41%
苹果
35%

权重集中在最相关的几个词上——相关的多看,不相关的几乎不看。

③

加权求和 V = 更新后的向量

按权重把每个词的 Value 混进来,「苹果」的向量被更新。下面是 5 个语义维度的强度。

动作
0.41
食物
0.35
人称
0.12
意图
0.12
自指
0.00

新向量在「动作」(0.41)、「食物」(0.35)最强。——多义的「苹果」吸收了「吃」的进食动作 + 自身的水果实体,被上下文钉成了「被吃的水果」,不是苹果公司。这就是 attention 的消歧义本事。