重读注意力:它到底在近似什么
把 softmax 注意力还原成一种核平滑:查询在键上做加权平均,温度决定它有多"自信"。
Attention Is All You Need
第一次读这篇论文时,注意力被当成一个”机制”来记:Q、K、V 三个矩阵,点积、缩放、softmax、加权求和。第二次读,更值得问的是它在函数意义上近似了什么。
从加权平均说起
给定查询 与一组键 、值 ,注意力输出是
这不是什么新算子,而是一个核平滑估计:用 当作相似度核,对值做归一化加权平均。换成 Nadaraya–Watson 的语言,注意力就是
理解成核平滑之后,几个”经验设定”就有了理由。
为什么除以根号 d
若 与 的各维独立、均值 0、方差 1,则 的方差是 。softmax 对输入的尺度极其敏感:方差随维度线性增长时,最大的那一项会迅速吞掉全部概率质量,梯度随之消失。
除以 把点积的方差压回 1,让 softmax 停留在”有区分度但不饱和”的区间。这本质上是在调温度。
| 温度 | softmax 行为 | 注意力的效果 |
|---|---|---|
| 过高(除以过大的常数) | 接近均匀分布 | 退化为对所有位置求平均 |
| 合适 | 有峰值但仍有梯度 | 聚焦而可训练 |
| 过低 | 接近 one-hot | 梯度消失,只认一个位置 |
一个容易忽略的点
这解释了为什么去掉 FFN 的 Transformer 会明显变弱:混合是路由,变换才是计算。
读论文时的三个问题
- 这个模块新增了什么函数类?(注意力:凸组合式的路由)
- 它的归纳偏置是什么?(置换等变、局部性缺失,靠位置编码补)
- 它的失败模式在哪?(长序列上的注意力弥散、softmax 饱和)
按这三问重读,比记住结构图更有用。