← 关联知识节点:Attention 与 Transformer
交互工具 · 直觉

缩放与 softmax 饱和

注意力打分是 d_k 个乘积项加出来的:维度越高,分数方差越大,softmax 一过就「一家独大」——top-1 拿走几乎全部权重,其他 key 的梯度近乎断流。除以 √d_k 把方差钉回 1,权重重新铺开。拧 d_k、切缩放开关,看直方图摊开又收拢、权重条形从独热铺平——softmax(QKᵀ/√d_k)V 里那个 √d_k,从此有手感。

纯前端算真实数学:Var(q·k) = d_k、softmax(QKᵀ/√d_k),与知识库《Attention 与 Transformer》实测口径对账(d_k=64 方差 63.9 → 1.00;饱和数字 0.84 / 0.94 → 0.25 为 16-key 平均,本工具条形为 10-key 单次抽样、结论同向);随机点积固定种子可复现,零 API、零延迟。

键向量维度 d_k 越大,点积打分加的项越多、方差越大——softmax 一过就「一家独大」。拧 d_k、切 ÷√d_k 缩放开关,看权重分布怎么从近独热(one-hot)铺回均匀。
点积方差
67.3
理论值 = d_k=64(文章实测 63.9)
最大权重
0.994
文章 16-key 平均:0.84 / 0.94 → 缩放 0.25
权重熵
0.06
bit(均匀上限 3.32)

softmax 权重分布(1 个查询 × 10 个 key)

竖线 = 均匀基线 10%
K1
0.0%
K2
0.0%
K3
99.4%
K4
0.0%
K5
0.0%
K6
0.0%
K7
0.5%
K8
0.1%
K9
0.0%
K10
0.0%

同一批 key(种子 42 固定),只随 d_k 与缩放开关变:不缩放时 d_k 大,top-1 一个 key 吃掉几乎全部权重——这就是 softmax 饱和;切到 ÷√d_k,所有条形回到基线附近。

点积打分分布(2000 个随机 q·k)

横轴固定 · 看展宽不看形状
±1σ = 8.0[-101.8, -96.2):0 个点积[-96.2, -90.5):0 个点积[-90.5, -84.9):0 个点积[-84.9, -79.2):0 个点积[-79.2, -73.5):0 个点积[-73.5, -67.9):0 个点积[-67.9, -62.2):0 个点积[-62.2, -56.6):0 个点积[-56.6, -50.9):0 个点积[-50.9, -45.3):0 个点积[-45.3, -39.6):0 个点积[-39.6, -33.9):0 个点积[-33.9, -28.3):0 个点积[-28.3, -22.6):9 个点积[-22.6, -17.0):33 个点积[-17.0, -11.3):133 个点积[-11.3, -5.7):301 个点积[-5.7, 0.0):523 个点积[0.0, 5.7):519 个点积[5.7, 11.3):327 个点积[11.3, 17.0):115 个点积[17.0, 22.6):34 个点积[22.6, 28.3):4 个点积[28.3, 33.9):1 个点积[33.9, 39.6):1 个点积[39.6, 45.3):0 个点积[45.3, 50.9):0 个点积[50.9, 56.6):0 个点积[56.6, 62.2):0 个点积[62.2, 67.9):0 个点积[67.9, 73.5):0 个点积[73.5, 79.2):0 个点积[79.2, 84.9):0 个点积[84.9, 90.5):0 个点积[90.5, 96.2):0 个点积[96.2, 101.8):0 个点积-1020+102

横轴固定:拧大 d_k,点积整体摊开(方差 ≈ d_k,琥珀虚线 ±1σ=√d_k 往外跑);切 ÷√d_k,摊开的分布被拉回 ±1σ=1 的窄柱——这就是「把打分方差钉在与维度无关的水位」。种子 42 固定,每一步都可复现。

d_k 键向量维度64

等比档位 4 ~ 512;文章口径 64 / 128 / 512 都在档上

缩放开关不缩放

标准做法是除:softmax(QKᵀ/√d_k)V;关掉看裸点积的后果

Attention(Q, K, V) = softmax(QKT / √d_k) V

文章口径,点一下复现

一家独大:不缩放时点积方差已到 67.3(贴合理论值 d_k=64,文章 d_k=64 实测 63.9)。分数差被维度系统性放大,softmax 再指数放大——top-1 一个 key 就拿走 99.4% 的权重,熵只剩 0.06 bit(均匀上限 3.32)。文章同法实测(序列长 16 平均):64 维最大权重 0.84、512 维 0.94——注意力近乎退化成只看一个人,其他候选拿不到训练信号。