1. 程式人生 > >神經網路常見的啟用函式彙總

神經網路常見的啟用函式彙總

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啟用函式:

右側的線性部分能夠緩解梯度消失,左側的軟飽和能夠對於輸入變化魯棒.而且收斂速度更快.