開學季,你要的激活函數都在這裏

摘要: 激活函數就是神經網絡輸出端的一個節點,來鏈接兩個神經網絡。激活函數都有哪些類型?讓咱們繼續閱讀。

什麼是激活函數?

激活函數就是神經網絡輸出端的一個節點,來鏈接兩個神經網絡。網絡

爲何要在神經網絡中使用激活函數

激活函數用來肯定神經網絡的輸入,好比「是」或「否」,將結果映射爲[0,1]或[-1,1]之間,根據函數的曲線,可分爲兩種類型:線性激活函數、非線性激活函數。dom

1.線性激活函數(恆等激活函數)機器學習

以下圖所示,函數是線性的,函數的輸出範圍爲(-∞,+∞)。函數

clipboard.png
線性激活函數學習

方程式:f(x) = xspa

取值範圍:(-∞,+∞)3d

2.非線性激活函數blog

非線性激活函數是最經常使用的激活函數,其曲線以下圖所示:ip

clipboard.png

非線性激活函數get

使用非線性激活函數,模型能夠更容易進行自我調整,並區分不一樣的輸出。非線性激活函數中的主要術語有:

1.導數或微分:y軸隨x軸的變化,稱爲斜率。

2.單調函數:徹底遞增或徹底遞減的函數。

根據取值範圍,非線性激活函數可分爲如下幾種:Sigmoid激活函數、Tanh激活函數、ReLU激活函數、

1.Sigmoid激活函數(Logistic激活函數)

Sigmoid激活函數的曲線呈「S」形。

clipboard.png

Sigmoid激活函數

sigmoid函數很受大衆的歡迎,其主要緣由是:它的輸出處於[0,1]範圍內,特別適用於輸出機率的模型。因爲任何機率的取值在0和1範圍之間,所以,sigmoid激活函數是最好的選擇。

該函數是可微的,也就是說,咱們能夠獲得「S」曲線上任意兩點之間的斜率。這個函數是單調的,可是其導數不是,sigmoid 激活函數可能會致使神經網絡在訓練的時候卡住。

softmax函數是一種更通用的邏輯激活函數,用於多類分類。

2.Tanh激活函數

tanh激活函數和sigmoid激活函數相似,可是要比sigmoid激活函數好。tanh激活函數的取值範圍是(-1,1),曲線也呈「S」形。

clipboard.png

sigmoid激活函數和tanh激活函數

tanh激活函數的優勢在於,若是輸入爲負數,則輸出也爲負數,輸入爲0,則輸出也近似爲0。

該函數是可微分、單調的,但其導數不單調。tanh激活函數主要用於分類。

tanh和sigmoid激活函數均可用於前饋網絡。

3.ReLU激活函數(Rectified Linear Unit)

在神經網絡中,使用最多的激活函數是ReLU激活函數,它幾乎可用於全部卷積神經網絡或深度學習中。

clipboard.png
ReLU激活函數和Sigmoid激活函數

如上圖所示,在ReLU激活函數中,當z<0時,f(z)=0;當z>0時,f(z)=z。取值範圍爲[0,+∞]

ReLU激活函數及其導數都是單調的。

但這存在一個問題:當輸入爲負值時,輸出馬上變爲0,這就下降了模型擬合或訓練數據的能力。反過來講,爲了避免影響結果,就不能映射負值輸入。

4. Leaky ReLU激活函數

Leaky ReLU激活函數的出現,試圖解決ReLU激活函數中出現的死亡問題。

clipboard.png
ReLU激活函數和Leaky ReLU激活函數

Leaky ReLU激活函數擴大了ReLU激活函數的取值範圍,如上圖所示,一般,a的值爲0.01左右。取值範圍:(-∞,+∞)。

當a不是0.01時,該函數稱爲Randomized ReLU。

本質上來講,Leaky ReLU函數和Randomized ReLU函數都是單調的。 並且,它們的導數也單調。

爲何要使用導數和微分?

在更新曲線時,咱們要知道哪一個方向上會發生變化,或者是根據斜率來更新曲線。這就是咱們要在機器學習和深度學習的每一個部分都使用微分的緣由。

clipboard.png
激活函數彙總

clipboard.png
激活函數的導數曲線圖彙總

本文做者:【方向】

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索