全網最獨特解析:self Attention為何除根號dk?
一、假設條件:查詢向量和鍵向量服從正態分布
假設查詢向量 q i q_i qi?和鍵向量 k j k_j kj?的每個分量均為獨立同分布的隨機變量,且服從標準正態分布,即:
q i ( m ) , k j ( m ) ~ N ( 0 , 1 ) ( m = 1 , 2 , … , d k ) q_i^{(m)}, k_j^{(m)} \sim \mathcal{N}(0,1) \quad (m=1,2,\dots,d_k) qi(m)?,kj(m)?~N(0,1)(m=1,2,…,dk?)
此時,每個分量的均值為0,方差為1。
二、點積的統計特性分析
查詢向量 q i q_i qi?和鍵向量 k j k_j kj?的點積為:
q i ? k j = ∑ m = 1 d k q i ( m ) k j ( m ) q_i \cdot k_j = \sum_{m=1}^{d_k} q_i^{(m)} k_j^{(m)} qi??kj?=m=1∑dk??qi(m)?kj(m)?
根據獨立隨機變量和的方差性質,點積的方差為:
Var ( q i ? k j ) = ∑ m = 1 d k Var ( q i ( m ) k j ( m ) ) \text{Var}(q_i \cdot k_j) = \sum_{m=1}^{d_k} \text{Var}(q_i^{(m)} k_j^{(m)}) Var(qi??kj?)=m=1∑dk??Var(qi(m)?kj(m)?)
由于 q i ( m ) q_i^{(m)} qi(m)?和 k j ( m ) k_j^{(m)} kj(m)?獨立且均服從 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),乘積的方差為:
Var ( q i ( m ) k j ( m ) ) = Var ( q i ( m ) ) ? Var ( k j ( m ) ) + [ E ( q i ( m ) ) ] 2 ? Var ( k j ( m ) ) + [ E ( k j ( m ) ) ] 2 ? Var ( q i ( m ) ) = 1 \text{Var}(q_i^{(m)} k_j^{(m)}) = \text{Var}(q_i^{(m)}) \cdot \text{Var}(k_j^{(m)}) + [E(q_i^{(m)})]^2 \cdot \text{Var}(k_j^{(m)}) + [E(k_j^{(m)})]^2 \cdot \text{Var}(q_i^{(m)}) = 1 Var(qi(m)?kj(m)?)=Var(qi(m)?)?Var(kj(m)?)+[E(qi(m)?)]2?Var(kj(m)?)+[E(kj(m)?)]2?Var(qi(m)?)=1
因此,點積的方差為 d k d_k dk?,標準差為 d k \sqrt{d_k} dk??。
三、縮放的必要性:Softmax的輸入敏感性
Softmax函數對輸入值的量級極其敏感:
- 數值溢出問題:若點積的絕對值隨 d k d_k dk?增大而顯著增大(例如 d k = 64 d_k=64 dk?=64時標準差為8),輸入Softmax的值可能超出浮點數表示范圍。
- 梯度消失問題:當某些點積值遠大于其他值時,Softmax輸出接近獨熱分布(Hard Attention),導致梯度趨近于零,阻礙參數更新。
- 分布退化問題:未經縮放的輸入會使注意力權重集中在極少數位置,失去“軟性關注”的優勢。
四、除以 d k \sqrt{d_k} dk??的數學解釋
通過將點積除以 d k \sqrt{d_k} dk??,可以將點積的標準差從 d k \sqrt{d_k} dk??縮放至1,即:
Var ( q i ? k j d k ) = Var ( q i ? k j ) d k = 1 \text{Var}\left( \frac{q_i \cdot k_j}{\sqrt{d_k}} \right) = \frac{\text{Var}(q_i \cdot k_j)}{d_k} = 1 Var(dk??qi??kj??)=dk?Var(qi??kj?)?=1
此時,點積的分布被標準化為 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),實現了以下效果:
- 數值穩定性:Softmax輸入的均值為0、方差為1,避免極端值。
- 梯度均衡性:Softmax輸出的概率分布更平緩,梯度更新更穩定。
- 模型魯棒性:注意力權重在多位置間合理分配,保留軟性關注能力。
五、為何不是其他縮放因子?
若采用其他縮放因子(如 d k d_k dk?或 2 d k 2\sqrt{d_k} 2dk??):
? 除以 d k d_k dk?:方差將縮小為 1 / d k 1/d_k 1/dk?,導致Softmax輸入過小,注意力權重趨于均勻分布,失去區分性。
? 除以 2 d k 2\sqrt{d_k} 2dk??:方差將縮小為 1 / 4 1/4 1/4,輸入量級過小,同樣影響注意力權重的有效性。
總結
從正態分布的角度看,除以 d k \sqrt{d_k} dk??的本質是通過方差歸一化,將點積的統計特性控制在合理范圍內。