深度学习中常用的激活函数详解及对比分析(sigmoid)
Sigmoid函數(shù):
特性:
1.當(dāng)變量值遠(yuǎn)離中心軸時,梯度幾乎為0,在神經(jīng)網(wǎng)絡(luò)的反向傳播過程中,鏈?zhǔn)角髮?dǎo)導(dǎo)致經(jīng)過sigmoid函數(shù)之后的梯度
很小,權(quán)重值更新較慢
2.計算機(jī)執(zhí)行指數(shù)運(yùn)算較慢
3.sigmoid在壓縮數(shù)據(jù)幅度方面有優(yōu)勢,在深度網(wǎng)絡(luò)中,在前向傳播中,sigmoid可以保證數(shù)據(jù)幅度在[0,1]內(nèi),這樣數(shù)據(jù)幅度穩(wěn)住了,不會出現(xiàn)數(shù)據(jù)擴(kuò)散,不會有太大的失誤。
4.定義域(0, 1) 可以表示作概率,或者用于輸入的歸一化,如Sigmoid交叉熵?fù)p失函數(shù)。
5.如圖像所示其值域在[0,1]之間,函數(shù)輸出不是0均值的,權(quán)重更新效率降低,因?yàn)檫@會導(dǎo)致后層的神經(jīng)元的輸入是非0均值的信號,這會對梯度產(chǎn)生影響:假設(shè)后層神經(jīng)元的輸入都為正(e.g. x>0 elementwise in ),那么對w求局部梯度則都為正,這樣在反向傳播的過程中w要么都往正方向更新,要么都往負(fù)方向更新,導(dǎo)致有一種捆綁的效果,使得收斂緩慢。 當(dāng)然了,如果你是按batch去訓(xùn)練,那么每個batch可能得到不同的符號(正或負(fù)),那么相加一下這個問題還是可以緩解。因此,非0均值這個問題雖然會產(chǎn)生一些不好的影響,不過跟上面提到的 kill gradients 問題相比還是要好很多的。
?
Tanh函數(shù):
特性:
1.Tanh 網(wǎng)絡(luò)的收斂速度要比 Sigmoid 快。因?yàn)?Tanh 的輸出均值為 0,SGD 會更接近 natural gradient(一種二次優(yōu)化技術(shù)),從而降低所需的迭代次數(shù)。
2.Tanh 激活函數(shù)與sigmoid函數(shù)一樣也具有軟飽和性,沒有改變Sigmoid函數(shù)的最大問題——由于飽和性產(chǎn)生的梯度消失。
?
Relu函數(shù)(Rectified linear unit):
特性:
1.當(dāng)輸入值小于0時,出現(xiàn)硬飽和,梯度消失為0;
2.解決了梯度消失的問題 :在正區(qū)間當(dāng)輸入值大于0時,梯度保持不變,沒有sigmoid及Tanh函數(shù)的梯度消失的問題。
3.計算速度快,只需要判斷輸入是否大于0
4.收斂速度遠(yuǎn)快于sigmoid和tanh
5.輸出不是zero-centered
6.Dead ReLU Problem:
Dead ReLU Problem指的是某些神經(jīng)元可能永遠(yuǎn)不會被激活,導(dǎo)致相應(yīng)的參數(shù)永遠(yuǎn)不能被更新。有兩個主要原因可能導(dǎo)致這種情況產(chǎn)生: (1) 非常不幸的參數(shù)初始化,這種情況比較少見 (2) 學(xué)習(xí)速率太高導(dǎo)致在訓(xùn)練過程中參數(shù)更新太大,不幸使網(wǎng)絡(luò)進(jìn)入這種狀態(tài)。
?
Leaky ReLU函數(shù)
Leaky ReLU是為了解決ReLU函數(shù)的Dead ReLU Problem而提出的激活函數(shù)。為了解決Dead ReLU Problem,Leaky ReLU提出了將ReLU的前半段設(shè)為0.01x0.01x而非0。另外一種直觀的想法是基于參數(shù)的方法,即Parametric ReLU:
其中α可由back propagation學(xué)出來。理論上來講,Leaky ReLU有ReLU的所有優(yōu)點(diǎn),外加不會有Dead ReLU問題,但是在實(shí)際操作當(dāng)中,并沒有完全證明Leaky ReLU總是好于ReLU。
?
ELU函數(shù)
特性:
ELU(Exponential Linear Units)函數(shù)也是為解決ReLU存在的問題而提出,顯然,ELU有ReLU的基本所有優(yōu)點(diǎn),以及:
- 不會有Dead ReLU問題
- 輸出的均值接近0,zero-centered
它的一個小問題在于計算量稍大。類似于Leaky ReLU,理論上雖然好于ReLU,但在實(shí)際使用中目前并沒有好的證據(jù)ELU總是優(yōu)于ReLU。
總結(jié)
以上是生活随笔為你收集整理的深度学习中常用的激活函数详解及对比分析(sigmoid)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习---评价指标:Accuracy
- 下一篇: caffe检测图片是否包含人脸_caff