關於sigmod激活函數圖像不是以0爲中心的問題探討

這個問題之前也遇到過,沒有深究,最近一位網友向我詢問此事,我總結如下:

首先我們要知道反向傳播的流程:

1、概念:

前項傳播:

 

                        

                                                                                                                       

 

反向傳播:

反向傳播的思想其實就是,對於每一個訓練實例,將它傳入神經網絡,計算它的輸出;然後測量網絡的輸出誤差(即期望輸出和實際輸出之間的差異),並計算出上一個隱藏層中各神經元爲該輸出結果貢獻了多少的誤差;反覆一直從後一層計算到前一層,直到算法到達初始的輸入層爲止。此反向傳遞過程有效地測量網絡中所有連接權重的誤差梯度,最後通過在每一個隱藏層中應用梯度下降算法來優化該層的參數(反向傳播算法的名稱也因此而來)。

 

       權重更新方式是發生在反向更新階段,過程:,對於神經元A來說,wi更新的方向和後幾項都有關係,先看超參數,他是人爲規定的,默認值,所以學習率可以不考慮;再看最後兩位乘積項,這個對於神經元A來說,它是神經元A的誤差表示,在某一次反向傳播也是不變的,也不考慮,所以w值的更新方向只與值有關,這個值是上一層神經元的輸入值,即經過了sigmod函數激活過,所以肯定是正值,那麼可以得出結論:在某一次反向傳播時,對於神經元A來說,w1、w2..改變的方向是統一的,或正或負。如果你的最優值是需要w1增加,w2減少,那麼只能走z字形才能實現。

 
 
所以,如何避免這種情況呢。方法之一就是改變激活函數,不需要激活函數值全正或者全負。所以你說,這裏的sigmod函數輸出均>0,是不合適的,所以他的缺點之一:不是關於原點對稱!
如有錯誤,歡迎討論指正。

 

 

參考資料:

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

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

https://liam.page/2018/04/17/zero-centered-active-function/

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章