首先先羅列幾個參考文章,大家之后可以去看看,加深理解:
- 面試常問系列(一)-神經網絡參數初始化
- 面試常問系列(一)-神經網絡參數初始化之自注意力機制_注意力機制的參數初始化怎么做-CSDN博客
- 面試常問系列(一)-神經網絡參數初始化-之-softmax-CSDN博客
好,步入正題,我們假定各位讀者看過上面👆幾篇文章,已經了解了,為什么自注意力機制中要使用?進行縮放,然后我們進一步進行探究,為什么不是
?。
1、實例
1.點擊沒有縮放的時候,標準差的范圍
- 在【-
,
】,有68.26%的值在這個區間,
- 在【-2
,2
】,有95.45%的值在這個區間,
- ?在【-3
,3
】,有99.73%的值在這個區間,
參考:正態分布_百度百科
2.點擊縮放的時候,標準差的范圍從
?到 1
- x在【-1,1】,
在【0.37,2.72】有68.26%的值在這個區間,
- x在【-2,2】,
有【0.14,7.39】95.45%的值在這個區間,
- x在【-3,3】,
有【0.05,20.09】99.73%的值在這個區間,
3.點擊縮放2的時候,標準差的范圍從
?到 0.5
- x在【-0.5,0.5】,
在【0.61,1.65】有68.26%的值在這個區間,
- x在【-1,1】,
有【0.37,2.72】95.45%的值在這個區間,
- x在【-1.5,1.5】,
有【0.22,4.48】99.73%的值在這個區間,
2、實例總結(重點)
通過上述的不同縮放比例,大家應該可以比較清晰的發現,以一個標準差(68.26%)為例,隨著縮放比例加大,變化范圍減小,點擊值被過度壓縮,導致相對趨于均勻,從而無法很好的捕捉不同特征之間的差異,趨于大家都一樣的感覺,區分度被縮小。大家感興趣的可以實操看一下,softmax在不同縮放比例下的分布情況。
3、梯度特性
若除以2,Softmax輸入的方差過小,導致梯度值普遍偏低,模型訓練效率顯著下降。例如,在機器翻譯任務中,使用2
?的BLEU分數可能下降2-3個點。
4、實驗驗證
- 收斂速度對比
????????在WMT14英德翻譯任務中,使用的Transformer模型在5萬步迭代后達到收斂,而使用2
的模型需8萬步迭代,且最終BLEU分數低1.5個點。
- 數值穩定性測試
通過模擬高維向量(d=1024)的點積計算,發現:????????
? ? ? ? ? ? ? ? a. 縮放后,Softmax輸入的最大值約為5,最小值約為-5,梯度值集中在[0.1,0.5];
????????? ? ? ? b. 2縮放后,Softmax輸入的最大值約為2.5,最小值約為-2.5,梯度值集中在[0.01,0.1],導致訓練緩慢。
- ???????泛化能力分析
- 在GLUE基準測試中,
?縮放的模型在MNLI、QQP等任務上的準確率比2
模型高1-2個百分點,表明其泛化能力更強。
- 在GLUE基準測試中,
參考:
https://zhuanlan.zhihu.com/p/32150751004