1. 程式人生 > >神經網路 從ReLU到Sinc,26種啟用函式視覺化

神經網路 從ReLU到Sinc,26種啟用函式視覺化

轉自:https://mp.weixin.qq.com/s/7DgiXCNBS5vb07WIKTFYRQ

在神經網路中,啟用函式決定來自給定輸入集的節點的輸出,其中非線性啟用函式允許網路複製複雜的非線性行為。正如絕大多數神經網路藉助某種形式的梯度下降進行優化,啟用函式需要是可微分(或者至少是幾乎完全可微分的)。此外,複雜的啟用函式也許產生一些梯度消失或爆炸的問題。因此,神經網路傾向於部署若干個特定的啟用函式(identity、sigmoid、ReLU 及其變體)。

下面是 26 個啟用函式的圖示及其一階導數,圖的右側是一些與神經網路相關的屬性。

1.Step

這裡寫圖片描述

啟用函式 Step 更傾向於理論而不是實際,它模仿了生物神經元要麼全有要麼全無的屬性。它無法應用於神經網路,因為其導數是 0(除了零點導數無定義以外),這意味著基於梯度的優化方法並不可行。

2.Identity

這裡寫圖片描述

通過啟用函式 Identity,節點的輸入等於輸出。它完美適合於潛在行為是線性(與線性迴歸相似)的任務。當存在非線性,單獨使用該啟用函式是不夠的,但它依然可以在最終輸出節點上作為啟用函式用於迴歸任務。

3. ReLU

這裡寫圖片描述

修正線性單元(Rectified linear unit,ReLU)是神經網路中最常用的啟用函式。它保留了 step 函式的生物學啟發(只有輸入超出閾值時神經元才啟用),不過當輸入為正的時候,導數不為零,從而允許基於梯度的學習(儘管在 x=0 的時候,導數是未定義的)。使用這個函式能使計算變得很快,因為無論是函式還是其導數都不包含複雜的數學運算。然而,當輸入為負值的時候,ReLU 的學習速度可能會變得很慢,甚至使神經元直接無效,因為此時輸入小於零而梯度為零,從而其權重無法得到更新,在剩下的訓練過程中會一直保持靜默。

4. Sigmoid

這裡寫圖片描述

Sigmoid 因其在 logistic 迴歸中的重要地位而被人熟知,值域在 0 到 1 之間。Logistic Sigmoid(或者按通常的叫法,Sigmoid)啟用函式給神經網路引進了概率的概念。它的導數是非零的,並且很容易計算(是其初始輸出的函式)。然而,在分類任務中,sigmoid 正逐漸被 Tanh 函式取代作為標準的啟用函式,因為後者為奇函式(關於原點對稱)。

5. Tanh

這裡寫圖片描述

在分類任務中,雙曲正切函式(Tanh)逐漸取代 Sigmoid 函式作為標準的啟用函式,其具有很多神經網路所鍾愛的特徵。它是完全可微分的,反對稱,對稱中心在原點。為了解決學習緩慢和/或梯度消失問題,可以使用這個函式的更加平緩的變體(log-log、softsign、symmetrical sigmoid 等等)

6. Leaky ReLU

這裡寫圖片描述

經典(以及廣泛使用的)ReLU 啟用函式的變體,帶洩露修正線性單元(Leaky ReLU)的輸出對負值輸入有很小的坡度。由於導數總是不為零,這能減少靜默神經元的出現,允許基於梯度的學習(雖然會很慢)。

7. PReLU

這裡寫圖片描述

引數化修正線性單元(Parameteric Rectified Linear Unit,PReLU)屬於 ReLU 修正類啟用函式的一員。它和 RReLU 以及 Leaky ReLU 有一些共同點,即為負值輸入添加了一個線性項。而最關鍵的區別是,這個線性項的斜率實際上是在模型訓練中學習到的。

8. RReLU

這裡寫圖片描述

隨機帶洩露的修正線性單元(Randomized Leaky Rectified Linear Unit,RReLU)也屬於 ReLU 修正類啟用函式的一員。和 Leaky ReLU 以及 PReLU 很相似,為負值輸入添加了一個線性項。而最關鍵的區別是,這個線性項的斜率在每一個節點上都是隨機分配的(通常服從均勻分佈)。

9. ELU

這裡寫圖片描述

指數線性單元(Exponential Linear Unit,ELU)也屬於 ReLU 修正類啟用函式的一員。和 PReLU 以及 RReLU 類似,為負值輸入添加了一個非零輸出。和其它修正類啟用函式不同的是,它包括一個負指數項,從而防止靜默神經元出現,導數收斂為零,從而提高學習效率。

10. SELU

這裡寫圖片描述

擴充套件指數線性單元(Scaled Exponential Linear Unit,SELU)是啟用函式指數線性單元(ELU)的一個變種。其中λ和α是固定數值(分別為 1.0507 和 1.6726)。這些值背後的推論(零均值/單位方差)構成了自歸一化神經網路的基礎(SNN)。

11. SReLU

這裡寫圖片描述

S 型整流線性啟用單元(S-shaped Rectified Linear Activation Unit,SReLU)屬於以 ReLU 為代表的整流啟用函式族。它由三個分段線性函式組成。其中兩種函式的斜度,以及函式相交的位置會在模型訓練中被學習。

12. Hard Sigmoid

這裡寫圖片描述

Hard Sigmoid 是 Logistic Sigmoid 啟用函式的分段線性近似。它更易計算,這使得學習計算的速度更快,儘管首次派生值為零可能導致靜默神經元/過慢的學習速率(詳見 ReLU)。

13. Hard Tanh

這裡寫圖片描述

Hard Tanh 是 Tanh 啟用函式的線性分段近似。相較而言,它更易計算,這使得學習計算的速度更快,儘管首次派生值為零可能導致靜默神經元/過慢的學習速率(詳見 ReLU)。

14. LeCun Tanh

這裡寫圖片描述

LeCun Tanh(也被稱作 Scaled Tanh)是 Tanh 啟用函式的擴充套件版本。它具有以下幾個可以改善學習的屬性:f(± 1) = ±1;二階導數在 x=1 最大化;且有效增益接近 1。

15. ArcTan

這裡寫圖片描述

視覺上類似於雙曲正切(Tanh)函式,ArcTan 啟用函式更加平坦,這讓它比其他雙曲線更加清晰。在預設情況下,其輸出範圍在-π/2 和π/2 之間。其導數趨向於零的速度也更慢,這意味著學習的效率更高。但這也意味著,導數的計算比 Tanh 更加昂貴。

16. Softsign

這裡寫圖片描述

Softsign 是 Tanh 啟用函式的另一個替代選擇。就像 Tanh 一樣,Softsign 是反對稱、去中心、可微分,並返回-1 和 1 之間的值。其更平坦的曲線與更慢的下降導數表明它可以更高效地學習。另一方面,導數的計算比 Tanh 更麻煩。

17. SoftPlus

這裡寫圖片描述

作為 ReLU 的一個不錯的替代選擇,SoftPlus 能夠返回任何大於 0 的值。與 ReLU 不同,SoftPlus 的導數是連續的、非零的,無處不在,從而防止出現靜默神經元。然而,SoftPlus 另一個不同於 ReLU 的地方在於其不對稱性,不以零為中心,這興許會妨礙學習。此外,由於導數常常小於 1,也可能出現梯度消失的問題。

18. Signum

這裡寫圖片描述

啟用函式 Signum(或者簡寫為 Sign)是二值階躍啟用函式的擴充套件版本。它的值域為 [-1,1],原點值是 0。儘管缺少階躍函式的生物動機,Signum 依然是反對稱的,這對啟用函式來說是一個有利的特徵。

19. Bent Identity

這裡寫圖片描述

啟用函式 Bent Identity 是介於 Identity 與 ReLU 之間的一種折衷選擇。它允許非線性行為,儘管其非零導數有效提升了學習並克服了與 ReLU 相關的靜默神經元的問題。由於其導數可在 1 的任意一側返回值,因此它可能容易受到梯度爆炸和消失的影響。

20. Symmetrical Sigmoid

這裡寫圖片描述

Symmetrical Sigmoid 是另一個 Tanh 啟用函式的變種(實際上,它相當於輸入減半的 Tanh)。和 Tanh 一樣,它是反對稱的、零中心、可微分的,值域在 -1 到 1 之間。它更平坦的形狀和更慢的下降派生表明它可以更有效地進行學習。

21. Log Log

這裡寫圖片描述

Log Log 啟用函式(由上圖 f(x) 可知該函式為以 e 為底的巢狀指數函式)的值域為 [0,1],Complementary Log Log 啟用函式有潛力替代經典的 Sigmoid 啟用函式。該函式飽和地更快,且零點值要高於 0.5。

22. Gaussian

這裡寫圖片描述

高斯啟用函式(Gaussian)並不是徑向基函式網路(RBFN)中常用的高斯核函式,高斯啟用函式在多層感知機類的模型中並不是很流行。該函式處處可微且為偶函式,但一階導會很快收斂到零。

23. Absolute

這裡寫圖片描述

顧名思義,絕對值(Absolute)啟用函式返回輸入的絕對值。該函式的導數除了零點外處處有定義,且導數的量值處處為 1。這種啟用函式一定不會出現梯度爆炸或消失的情況。

24. Sinusoid

這裡寫圖片描述

如同餘弦函式,Sinusoid(或簡單正弦函式)啟用函式為神經網路引入了週期性。該函式的值域為 [-1,1],且導數處處連續。此外,Sinusoid 啟用函式為零點對稱的奇函式。

25. Cos

這裡寫圖片描述

如同正弦函式,餘弦啟用函式(Cos/Cosine)為神經網路引入了週期性。它的值域為 [-1,1],且導數處處連續。和 Sinusoid 函式不同,餘弦函式為不以零點對稱的偶函式。

26. Sinc

這裡寫圖片描述

Sinc 函式(全稱是 Cardinal Sine)在訊號處理中尤為重要,因為它表徵了矩形函式的傅立葉變換(Fourier transform)。作為一種啟用函式,它的優勢在於處處可微和對稱的特性,不過它比較容易產生梯度消失的問題。