神經網路常見的啟用函式彙總
1.啟用函式的作用
在神經網路中,啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。
比如在下面的這個問題中:
如上圖所示,這是一個簡單的線性分類問題,只需要一條直線就可以很好地分類。當我們碰到下圖問題時,無法通過一條直線將樣本分類出來,需要我們加入非線性因素才可以將樣本分類好,而我們的啟用函式就是我們要加入的非線性因素。
2.常見的啟用函式
a) Sigmoid函式
Sigmoid函式:
Sigmoid導數:
Sigmoid函式的優點:1.求導容易。 2.Sigmoid函式的輸出對映在(0,1)之間,單調連續輸出範圍有限,優化穩定可以用作輸出層。
缺點:1.由於其軟飽和性,容易造成梯度消失問題。2.其輸出沒有以0為中心。
b) Tanh函式
Tanh函式:
Tanh函式導數:
Tanh函式的優點:1.收斂速度比Sigmoid函式快。 2. 其輸出以0為中心。
缺點:還是出現軟飽和現象,梯度消失問題並沒有解決。
c)Relu函式
Relu函式:
Relu導數:
Relu函式的優點:1.在SGD(隨機梯度下降演算法)中收斂速度夠快。2.不會出現像Sigmoid那樣梯度消失問題。3.提供了網路稀疏表達能力。4.在 無監督訓練中也有良好的表現。
缺點:1.不以0為中心。2.前向傳導(forward pass)過程中,如果 x < 0,則神經元保持非啟用狀態,且在後向傳導(backward pass)中「殺死」梯度。這樣權重無法得到更新,網路無法學習。神經元死亡是不可逆的。
d)LReLU、PReLU與RReLU函式
通常在LReLU和PReLU中,我們定義一個啟用函式。
LRelu函式:
公式:
LRelu的優點:緩解了Relu神經元死亡的問題。
PRelu函式:
公式:
其中是超引數。這裡引入了一個隨機的超引數,它可以被學習,因為你可以對它進行反向傳播。這使神經元能夠選擇負區域最好的梯度,有了這種能力,它們可以變成 ReLU 或 Leaky ReLU。負值部分的斜率是根據資料來定的,而非預先定義的。
RRelu函式:
RReLU也是Leaky ReLU的一個變體。在RReLU中,負值的斜率在訓練中是隨機的,在之後的測試中就變成了固定的了。RReLU的亮點在於,在訓練環節中,aji是從一個均勻的分佈U(I,u)中隨機抽取的數值。
RReLU中的aji是一個在一個給定的範圍內隨機抽取的值,這個值在測試環節就會固定下來。
e)ELU啟用函式:
右側的線性部分能夠緩解梯度消失,左側的軟飽和能夠對於輸入變化魯棒.而且收斂速度更快.