深度學習筆記(4)——sigmoid和relu啟用函式的對比
relu是乙個非常優秀的啟用哈數,相比較於傳統的sigmoid函式,有三個作用:
1. 防止梯度瀰散
2. 稀疏啟用性
3. 加快計算
首先我們看下sigmoid和relu的曲線
然後可以得到sigmoid的導數
以及relu的導數
結論就是sigmoid的導數只有在0附近的時候有比較好的啟用性,在正負飽和區的梯度都接近於0,所以這會造成梯度瀰散,而relu函式在大於0的部分梯度為常數,所以不會產生梯度瀰散現象。
第二,relu函式在負半區的導數為0 ,所以一旦神經元啟用值進入負半區,那麼梯度就會為0,也就是說這個神經元不會經歷訓練,即所謂的稀疏性。
第三,relu函式的導數計算更快,程式實現就是乙個if-else語句,而sigmoid函式要進行浮點四則運算。綜上,relu是乙個非常優秀的啟用函式
這裡也小結一下relu函式相對於tanh和sigmoid函式好在**:
第一,採用sigmoid等函式,算啟用函式是(指數運算),計算量大;反向傳播求誤差梯度時,求導涉及除法,計算量相對大。而採用relu啟用函式,整個過程的計算量節省很多。
第二,對於深層網路,sigmoid函式反向傳播時,很容易就會出現梯度消失的情況(在sigmoid接近飽和區時,變換太緩慢,導數趨於0),這種情況會造成資訊丟失,梯度消失在網路層數多的時候尤其明顯,從而無法完成深層網路的訓練。
第三,relu會使一部分神經元的輸出為0,這樣就造成了網路的稀疏性,並且減少了引數的相互依存關係,緩解了過擬合問題的發生。
ReLU啟用函式
在深度神經網路中,通常使用一種叫修正線性單元 rectified linear unit,relu 作為神經元的啟用函式。relu起源於神經科學的研究 2001年,dayan abott從生物學角度模擬出了腦神經元接受訊號更精確的啟用模型,如下圖 其中橫軸是時間 ms 縱軸是神經元的放電速率 fir...
ReLU為什麼比Sigmoid效果好
附 雙曲函式類似於常見的 也叫圓函式的 三角函式。基本雙曲函式是雙曲正弦 sinh 雙曲余弦 cosh 從它們匯出雙曲正切 tanh sigmod函式 relu函式 綜合 為什麼通常relu比sigmoid和tanh強,有什麼不同?主要是因為它們gradient特性不同。sigmoid和tanh的g...
ReLU為什麼比Sigmoid效果好
relu為什麼比sigmoid效果好 附 雙曲函式類似於常見的 也叫圓函式的 三角函式。基本雙曲函式是雙曲正弦 sinh 雙曲余弦 cosh 從它們匯出雙曲正切 tanh sigmod函式 relu函式 綜合 為什麼通常relu比sigmoid和tanh強,有什麼不同?1 相比sigmoid和tan...