深度學習中啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。沒有啟用函式,即便有再多的隱藏層,其整個網路跟單層神經網路也是等價的,可見啟用函式的重要性如此之大。下面,分別介紹深度學習中常用的啟用函式。
sigmoid的公式如下:
函式對應的影象如下:
優點:1. sigmoid函式的輸出對映在(0,1)之間,單調連續,輸出範圍有限,優化穩定,可以用於輸入的歸一化,也可以用作輸出層。
2. 求導容易
缺點:1. 由於其軟飽和性,即容易產生梯度消失,導致訓練出現問題。
2. 其輸出並不是以0為中心的。
tanh的公式如下:
函式對應的影象如下:
優點:1. 比sigmoid函式收斂速度更快。
2. 相比sigmoid函式,其輸出以0為中心。
缺點:1. 依舊具有軟飽和問題。
relu的公式如下:
函式對應的影象如下:
優點:1. relu具有線性、非飽和的特點,並且相比sigmoid和tanh,relu的收斂速度更快。
2. relu實現比較簡單。
3. relu有效緩解了梯度下降問題。
4. 提供了神經網路的稀疏表達能力
缺點:1. 隨著訓練的進行,可能會出現神經元死亡,權重無法更新的情況。
2. 當x<0時,relu是硬飽和的。
針對在x<0時的硬飽和問題,lrelu對relu進行了改進,其公式如下:
函式的影象如下:
lrelu的目的是避免梯度消失,所以lrelu對準確率並沒有太大的影響。此外,必須非常小心謹慎地重複訓練,從而選取合適的引數a。這樣會十分麻煩,因此prelu就此誕生,可以自適應地從資料中學習引數。prelu具有收斂速度快、錯誤率低的特點,可以用於反向傳播的訓練。
elu的公式如下:
函式的影象如下:
優點:1. elu融合了sigmoid和relu,左側具有軟飽和性,右側無飽和性。
右側線性部分使得elu能夠緩解梯度消失,而左側軟飽能夠 讓elu對輸入變化或雜訊更魯棒。
2. elu的輸出均值接近於零,所以收斂速度更快。
關於啟用函式的選取,需要結合實際情況,並且要考慮不同啟用函式的優缺點,不能盲目使用一種啟用函式。
深度學習之啟用函式
sigmoid啟用函式 sigmoid將乙個實數輸入對映到 0,1 範圍內,如下圖 左 所示。使用sigmoid作為啟用函式存在以下幾個問題 梯度飽和。當函式啟用值接近於0或者1時,函式的梯度接近於0。在反向傳播計算梯度過程中 l w l t l 1 f z l 每層殘差接近於0,計算出的梯度也不可...
深度學習之啟用函式
啟用函式 activate function 在神經元中非常重要,為了增強網路的表示能力和學習能力,啟用函式需要具備以下幾點性質 1 連續並可導的非線性函式,以便於利用數值優化的方法來學習網路引數。2 啟用函式及其導數要盡可能簡單,以提高網路計算的效率。3 啟用函式的導函式的值域要在乙個合適的區間內...
深度學習之啟用函式詳解
啟用函式是什麼 啟用函式,即activation function,有時候也稱作激勵函式。它是為了解決線性不可分的問題引出的。但是也不是說線性可分就不能用啟用函式,也是可以的。它的目的是為了使資料更好的展現出我們想要的效果。啟用函式在 用?比如乙個神經網路 為了更清晰的表示,我用紅色標出。比如像上面...