← 配套《总成·Attention 到底在算什么》,回文章看原理
交互工具 · 总成12 配套

Attention 三步可视化

前面探针反复说「注意力,留到总成拆」——这就是那个总成。注意力只有三步:每个词拿着 Query 去和别人 Key 算点积(谁相关)、softmax 归一化(相关多少)、加权求和 Value(把相关的混进来)。点「我想吃苹果」里的任一个词,看这三步怎么走完,看「苹果」怎么被钉成水果。

每个词预设 5 维语义向量,Q·K 点积和 softmax 算的是真实数学,零 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 的消歧义本事。