面试常问系列(一)-神经网络参数初始化-之自注意力机制为什么除以根号d而不是2*根号d或者3*根号d

发布于:2025-05-07 ⋅ 阅读:(13) ⋅ 点赞:(0)

首先先罗列几个参考文章,大家之后可以去看看,加深理解:

好,步入正题,我们假定各位读者看过上面👆几篇文章,已经了解了,为什么自注意力机制中要使用\sqrt{d} 进行缩放,然后我们进一步进行探究,为什么不是2\sqrt{d} 。

1、实例

1.点击没有缩放的时候,标准差的范围

  • 在【-\sqrt{d}\sqrt{d}】,有68.26%的值在这个区间,
  • 在【-2\sqrt{d},2\sqrt{d}】,有95.45%的值在这个区间,
  •  在【-3\sqrt{d},3\sqrt{d}】,有99.73%的值在这个区间,

参考:正态分布_百度百科

    2.点击缩放\sqrt{d}的时候,标准差的范围从\sqrt{d} 到 1

    • x在【-1,1】,e^x在【0.37,2.72】有68.26%的值在这个区间,
    • x在【-2,2】,e^x有【0.14,7.39】95.45%的值在这个区间,
    • x在【-3,3】,e^x有【0.05,20.09】99.73%的值在这个区间,

    3.点击缩放2\sqrt{d}的时候,标准差的范围从\sqrt{d} 到 0.5

    • x在【-0.5,0.5】,e^x在【0.61,1.65】有68.26%的值在这个区间,
    • x在【-1,1】,e^x有【0.37,2.72】95.45%的值在这个区间,
    • x在【-1.5,1.5】,e^x有【0.22,4.48】99.73%的值在这个区间,

    2、实例总结(重点)

    通过上述的不同缩放比例,大家应该可以比较清晰的发现,以一个标准差(68.26%)为例,随着缩放比例加大,变化范围减小,点击值被过度压缩,导致相对趋于均匀,从而无法很好的捕捉不同特征之间的差异,趋于大家都一样的感觉,区分度被缩小。大家感兴趣的可以实操看一下,softmax在不同缩放比例下的分布情况。

    3、梯度特性

    若除以2\sqrt{d},Softmax输入的方差过小,导致梯度值普遍偏低,模型训练效率显著下降。例如,在机器翻译任务中,使用2\sqrt{d}​的BLEU分数可能下降2-3个点。

    4、实验验证

    • 收敛速度对比

            在WMT14英德翻译任务中,使用\sqrt{d}的Transformer模型在5万步迭代后达到收敛,而使用2\sqrt{d}的模型需8万步迭代,且最终BLEU分数低1.5个点。

    • 数值稳定性测试

    通过模拟高维向量(d=1024)的点积计算,发现:        

                    a. \sqrt{d}缩放后,Softmax输入的最大值约为5,最小值约为-5,梯度值集中在[0.1,0.5];

                    b. 2\sqrt{d}缩放后,Softmax输入的最大值约为2.5,最小值约为-2.5,梯度值集中在[0.01,0.1],导致训练缓慢。

    • ​​​​​​​泛化能力分析
      • 在GLUE基准测试中,\sqrt{d}​缩放的模型在MNLI、QQP等任务上的准确率比2\sqrt{d}模型高1-2个百分点,表明其泛化能力更强。

    参考:

    https://zhuanlan.zhihu.com/p/32150751004


    网站公告

    今日签到

    点亮在社区的每一天
    去签到