- **本文作者: **Liam Huang
- 本文鏈接: https://liam.page/2018/04/17/zero-centered-active-function/
- **版權(quán)聲明: **本博客所有文章除特別聲明外,均采用 BY-NC-SA 許可協(xié)議。轉(zhuǎn)載請(qǐng)注明出處!
今天在討論神經(jīng)網(wǎng)絡(luò)中的激活函數(shù)時(shí),陸同學(xué)提出 Sigmoid 函數(shù)的輸出不是以零為中心的(non-zero-centered),這會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)收斂較慢。關(guān)于這一點(diǎn),過去我只是將其記下,卻并未理解背后的原因。此篇談?wù)劚澈蟮脑颉?/p>
神經(jīng)元


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


tanh 函數(shù)


一些性質(zhì)
Sigmoid 和 tanh 兩個(gè)函數(shù)非常相似,具有不少相同的性質(zhì)。簡單羅列如下
優(yōu)點(diǎn):平滑
優(yōu)點(diǎn):易于求導(dǎo)
缺點(diǎn):冪運(yùn)算相對(duì)耗時(shí)
缺點(diǎn):導(dǎo)數(shù)值小于 1,反向傳播易導(dǎo)致梯度消失(Gradient Vanishing)
對(duì)于 Sigmoid 函數(shù)來說,它的值域是 (0,1),因此又有如下特點(diǎn)
優(yōu)點(diǎn):可以作為概率,輔助模型解釋
缺點(diǎn):輸出值不以零為中心,可能導(dǎo)致模型收斂速度慢
此篇重點(diǎn)講 Sigmoid 函數(shù)輸出值不以零為中心的這一缺點(diǎn)。
收斂速度
這里首先需要給收斂速度做一個(gè)詮釋。模型的最優(yōu)解即是模型參數(shù)的最優(yōu)解。通過逐輪迭代,模型參數(shù)會(huì)被更新到接近其最優(yōu)解。這一過程中,迭代輪次多,則我們說模型收斂速度慢;反之,迭代輪次少,則我們說模型收斂速度快。
參數(shù)更新

以零為中心的影響


如圖,模型參數(shù)走綠色箭頭能夠最快收斂,但由于輸入值的符號(hào)總是為正,所以模型參數(shù)可能走類似紅色折線的箭頭。如此一來,使用 Sigmoid 函數(shù)作為激活函數(shù)的神經(jīng)網(wǎng)絡(luò),收斂速度就會(huì)慢上不少了。