self Attention为何除以根号dk?(全新角度)

全网最独特解析: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∑dkqi(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∑dkVar(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函数对输入值的量级极其敏感:

  1. 数值溢出问题 :若点积的绝对值随 d k d_k dk增大而显著增大(例如 d k = 64 d_k=64 dk=64时标准差为8),输入Softmax的值可能超出浮点数表示范围。
  2. 梯度消失问题:当某些点积值远大于其他值时,Softmax输出接近独热分布(Hard Attention),导致梯度趋近于零,阻碍参数更新。
  3. 分布退化问题:未经缩放的输入会使注意力权重集中在极少数位置,失去"软性关注"的优势。

四、除以 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)=dkVar(qi⋅kj)=1

此时,点积的分布被标准化 为 N ( 0 , 1 ) \mathcal{N}(0,1) N(0,1),实现了以下效果:

  1. 数值稳定性:Softmax输入的均值为0、方差为1,避免极端值。
  2. 梯度均衡性:Softmax输出的概率分布更平缓,梯度更新更稳定。
  3. 模型鲁棒性:注意力权重在多位置间合理分配,保留软性关注能力。

五、为何不是其他缩放因子?

若采用其他缩放因子(如 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 的本质是通过方差归一化,将点积的统计特性控制在合理范围内

相关推荐
AI木马人5 小时前
2.人工智能实战:大模型接口并发低、GPU利用率上不去?基于 vLLM 重构推理服务的完整工程方案
人工智能·transformer·vllm
小超同学你好6 小时前
Transformer 30. MoCo:用「动量编码器 + 队列字典」把对比学习做成可扩展的“字典查找”
深度学习·学习·transformer
yigan_Eins7 小时前
Transformer|残差连接的技术演进:从CNN到ResNet
人工智能·深度学习·cnn·transformer
上课不要睡觉了7 小时前
day13统计师考试(初级)统计量与抽样分布
统计·概率论·统计师考试
大江东去浪淘尽千古风流人物8 小时前
【RT-1】面向真实世界规模化控制的机器人Transformer
深度学习·机器人·transformer
小超同学你好9 小时前
Transformer 31. ALBEF:Align before Fuse,用「先对齐、再融合」解决图文交互难学的问题
深度学习·transformer·交互
AI技术增长10 小时前
Pytorch图像去噪实战(九):SwinIR图像去噪实战,用Transformer解决CNN纹理恢复不足问题
pytorch·cnn·transformer
西西弗Sisyphus10 小时前
Transformer 架构里关于 Attention 概念的澄清
transformer·attention·注意力机制·注意力·self-attention
AI技术增长11 小时前
Pytorch图像去噪实战(十):Restormer图像去噪实战,用高效Transformer解决高分辨率去噪问题
pytorch·深度学习·机器学习·cnn·transformer
这张生成的图像能检测吗1 天前
(论文速读)IMSE-IGA-CNN-Transformer
人工智能·深度学习·cnn·transformer·故障诊断·预测模型·时序模型