關于原點對稱的輸入和中心對稱的輸出,網絡會收斂地更好?

今天在討論神經網絡中的激活函數時,陸同學提出 Sigmoid 函數的輸出不是以零為中心的(non-zero-centered),這會導致神經網絡收斂較慢。關于這一點,過去我只是將其記下,卻并未理解背后的原因。此篇談談背后的原因。

神經元


神經元

Sigmoid 與 tanh


此篇集中討論激活函數輸出是否以零為中心的問題,因而不對激活函數做過多的介紹,而只討論 Sigmoid 與 tanh 兩個激活函數。

Sigmoid 函數



tanh 函數



一些性質

Sigmoid 和 tanh 兩個函數非常相似,具有不少相同的性質。簡單羅列如下

優點:平滑
優點:易于求導
缺點:冪運算相對耗時
缺點:導數值小于 1,反向傳播易導致梯度消失(Gradient Vanishing)

對于 Sigmoid 函數來說,它的值域是 (0,1),因此又有如下特點

優點:可以作為概率,輔助模型解釋
缺點:輸出值不以零為中心,可能導致模型收斂速度慢

此篇重點講 Sigmoid 函數輸出值不以零為中心的這一缺點。

收斂速度

這里首先需要給收斂速度做一個詮釋。模型的最優解即是模型參數的最優解。通過逐輪迭代,模型參數會被更新到接近其最優解。這一過程中,迭代輪次多,則我們說模型收斂速度慢;反之,迭代輪次少,則我們說模型收斂速度快。

參數更新

以零為中心的影響



如圖,模型參數走綠色箭頭能夠最快收斂,但由于輸入值的符號總是為正,所以模型參數可能走類似紅色折線的箭頭。如此一來,使用 Sigmoid 函數作為激活函數的神經網絡,收斂速度就會慢上不少了。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容