为什么 Attention 公式中需要除以 √dk?不缩放会怎样?
当 dk 很大时,Query 和 Key 的点积 q · k 的数值会变得很大, 导致 Softmax 函数进入饱和区域,输出接近 one-hot 分布, 进而造成梯度消失,模型难以学习。
数学直觉:如果 q 和 k 的各分量独立、均值为 0、方差为 1, 则点积 q · k = ∑ qiki 的方差为 dk。 因此除以 √dk 可将方差归一化为 1,保持梯度健康。