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 的消歧义本事。