1.數值穩定性: 在機器學習和深度學習中,維持激活函數輸入的方差在一個合理范圍內(如1)是很重要的,這有助于防止在訓練過程中發生梯度消失或梯度爆炸的問題。如果方差過大或過小,經過多層網絡后輸出結果的方差可能變得極大或極小,這會影響梯度的有效傳遞,從而影響模型學習。
2.梯度的有效傳播: 保持輸入方差約為1有助于保持整個網絡中的信息和梯度流的穩定性。這是因為當數據經過多個處理層時,未縮放的變量可能會導致變化幅度過大或過小,從而導致訓練過程不穩定。【也就是數值不穩定,經過多層網絡后方差可能變為極大或者極小,影響模型學習】
3.舉個例子(分為方差為1,方差過大,方差過小三種情況)
1、方差為1
輸入層:輸入數據的方差為1,這意味著數據在0周圍分布得比較均勻,沒有極端的大值或小值。
第一層:這層的權重初始化為使得輸出方差保持為1。因此,當輸入數據通過激活函數(如ReLU或Sigmoid)傳遞時,輸出數據的方差仍為1。
第二層和更多層:由于輸入方差保持不變,每層都可以在不調整學習率的情況下有效地學習,梯度也不會消失或爆炸。
LSTM的學習(包括sigmoid梯度消失原因解析)
2、方差過大
輸入層:假設輸入數據的方差非常大。
第一層:輸入數據的方差大導致了神經元輸出的方差也很大。這可能會導致激活函數(尤其是像Sigmoid或Tanh這樣的函數)飽和,導致梯度幾乎為零(梯度消失),接下來可能參數并未更新到理想狀態(陷入局部極小值情況),但是梯度消失更新不動了。
第二層和更多層:因為梯度消失,網絡在這些層的學習效率極低,難以對數據特征做出正確的反應和調整。
3、方差過小
輸入層:輸入數據的方差非常小。
第一層:小的方差意味著輸出的變化幅度很小,這可能導致輸出對輸入的變化不敏感,同樣可能導致梯度非常小。
第二層和更多層:小的梯度導致網絡學習非常緩慢,甚至幾乎不更新權重,難以達到良好的訓練效果。