从检索开始理解
Query 表示“我正在寻找什么”,Key 表示“我可以如何被匹配”,Value 则是匹配成功后真正取出的内容。 在自注意力中,三者都由同一组输入通过不同线性变换得到。
Q = XWQ K = XWK V = XWV
缩放点积注意力
Q 与 K 的点积衡量匹配程度。除以 √dk 是为了控制数值尺度, Softmax 把分数变成总和为 1 的权重,最后对 V 做加权求和。
Attention(Q,K,V) = softmax(QKᵀ / √dk)V
按步骤看
- 每个位置生成自己的 Q、K、V。
- 一个位置的 Q 与所有位置的 K 计算相似度。
- Softmax 将相似度归一化为注意力权重。
- 使用这些权重汇总所有位置的 V。
为什么需要多头
单个注意力头只在一个表示子空间中匹配。多头注意力让模型同时学习不同关系, 例如局部搭配、长距离依赖或语义指代,再把各头结果拼接起来。
Q 和 K 决定“看哪里”,V 决定“取回什么”。