David Sheehan 做了一個(gè)激活函數(shù)可視化的工作,幫助大家快速了解和選擇激活函數(shù)
《Visualising Activation Functions in Neural Networks》
在本文中,作者對(duì)包括 Relu、Sigmoid 在內(nèi)的 26 種激活函數(shù)做了可視化,并附上了神經(jīng)網(wǎng)絡(luò)的相關(guān)屬性,為大家了解激活函數(shù)提供了很好的資源。作者推薦使用Chrome瀏覽器
在神經(jīng)網(wǎng)絡(luò)中,給定輸入集合,激活函數(shù)決定神經(jīng)元節(jié)點(diǎn)的輸出;非線性激活函數(shù)允許人工神經(jīng)網(wǎng)絡(luò)逼近復(fù)雜的非線性關(guān)系。復(fù)雜的激活函數(shù)可能會(huì)產(chǎn)生一些梯度消失(Vanishing Gradient)或梯度爆炸(Exploding Gradient)的問題。
下面是 26 個(gè)激活函數(shù)的圖示及其一階導(dǎo)數(shù),圖的右側(cè)是一些與神經(jīng)網(wǎng)絡(luò)相關(guān)的屬性
Step函數(shù)

激活函數(shù) Step 大多在理論上探討,基本無法用于實(shí)際。它模仿了生物神經(jīng)元要么全有要么全無的屬性。由于其導(dǎo)數(shù)是 0(除了零點(diǎn)導(dǎo)數(shù)無定義以外),這意味著基于梯度的優(yōu)化方法并不可行,所以它基本無法應(yīng)用于神經(jīng)網(wǎng)絡(luò)。
單調(diào)性(Montonic): 單調(diào)性使得在激活函數(shù)處的梯度方向不會(huì)經(jīng)常改變,從而讓訓(xùn)練更容易收斂
連續(xù)性(Continuous):個(gè)人認(rèn)為作者想表達(dá)可微性,可微性保證了在優(yōu)化中梯度的可計(jì)算性
非飽和性(saturation):飽和指的是在某些區(qū)間梯度接近于零(即梯度消失),使得參數(shù)無法繼續(xù)更新的問題。
在深度神經(jīng)網(wǎng)絡(luò)中,前面層上的梯度是來自于后面層上梯度的乘乘積。當(dāng)存在過多的層次時(shí),就出現(xiàn)了內(nèi)在本質(zhì)上的不穩(wěn)定場(chǎng)景,如梯度消失和梯度爆炸
梯度消失(Vanishing Gradient):某些區(qū)間梯度接近于零;前面的層比后面的層梯度變化更小,故變化更慢,從而引起了梯度消失問題
梯度爆炸(Exploding Gradient):??某些區(qū)間梯度接近于無窮大或者權(quán)重過大;前面層比后面層梯度變化更快,會(huì)引起梯度爆炸問題