从检索开始理解

Query 表示“我正在寻找什么”,Key 表示“我可以如何被匹配”,Value 则是匹配成功后真正取出的内容。 在自注意力中,三者都由同一组输入通过不同线性变换得到。

Q = XWQ K = XWK V = XWV

缩放点积注意力

Q 与 K 的点积衡量匹配程度。除以 √dk 是为了控制数值尺度, Softmax 把分数变成总和为 1 的权重,最后对 V 做加权求和。

Attention(Q,K,V) = softmax(QKᵀ / √dk)V

按步骤看

  1. 每个位置生成自己的 Q、K、V。
  2. 一个位置的 Q 与所有位置的 K 计算相似度。
  3. Softmax 将相似度归一化为注意力权重。
  4. 使用这些权重汇总所有位置的 V。

为什么需要多头

单个注意力头只在一个表示子空间中匹配。多头注意力让模型同时学习不同关系, 例如局部搭配、长距离依赖或语义指代,再把各头结果拼接起来。

Q 和 K 决定“看哪里”,V 决定“取回什么”。