人工智能 · 12 MIN EXPLORATION
Transformer 是怎么「读懂」一句话的?
点一个词,看它把注意力分给了谁。下面每一个数字都是真算出来的。
只用位置编码,不看内容:每个词都盯着自己左边的那个词。
小猫没有跳上桌子,因为它太累了。
小猫
没有
跳上
桌子
,
因为
它
太
累
了
。
Attention(Q, K, V) = softmax( QKᵀ / √6 ) · V
① 「桌子」的输入向量 x
② q = x · W_Q
[1.42, 1.68, 2.20, -0.06, -0.13, -2.20]| Key | ③ q·k | ④ 缩放后 | ⑤ softmax |
|---|---|---|---|
| 小猫 | -0.58 | -0.24 | 2.5% |
| 没有 | 3.54 | 1.44 | 13.5% |
| 跳上 | 6.60 | 2.69 | 47.3% |
| 桌子 | 3.54 | 1.44 | 13.5% |
| , | -0.58 | -0.24 | 2.5% |
| 因为 | -0.34 | -0.14 | 2.8% |
| 它 | 0.36 | 0.15 | 3.7% |
| 太 | -2.15 | -0.88 | 1.3% |
| 累 | -3.08 | -1.26 | 0.9% |
| 了 | 0.46 | 0.19 | 3.9% |
| 。 | 2.25 | 0.92 | 8.0% |
温度 T
0.254
教学模型:2 层、5 个头,权重为手工设计以展示机制,省略了 W_V 的多维投影、前馈网络和层归一化。真实模型的权重靠训练得到,头的分工也远没有这么整齐。
小挑战 1 / 5
在「指代头」里点选「它」:它把注意力放在了谁身上?
直接操作上方的模型,完成时会自动告诉你。
THE BIG PICTURE
一个完整的 Transformer 块
每个头有自己的 W_Q、W_K、W_V,各自学会关注不同关系。输出拼接后再投影回原维度。
延伸阅读:Vaswani et al., Attention Is All You Need (2017)