一、簡介
一個節點的激活函數(Activation Function)定義了該節點在給定的輸入或輸入的集合下的輸出。神經網絡中的激活函數用來提升網絡的非線性(只有非線性的激活函數才允許網絡計算非平凡問題),以增強網絡的表徵能力。對激活函數的一般要求是:必須非常數、有界、單調遞增並且連續,並且可導。
在實際選擇激活函數時並不會嚴格要求可導,只需要激活函數幾乎在所有點可導即可,即在個別點不可導是可以接受的。另外,其導數儘可能的大可以幫助加速訓練神經網絡,否則導數過小會導致網絡無法繼續訓練下去。
二、激活函數種類
下面是不同的激活函數的函數公式,圖像和導數公式,圖像。
1、恆等函數
f(x)=xf′(x)=1
2、單位階躍函數
f(x)={0,x<01,x≥0f′(x)={0,x=0?,x=0
3、邏輯函數
f(x)=σ(x)=1+e−x1f′(x)=f(x)(1−f(x))
4、雙曲正切函數
f(x)=tanh(x)=ex+e−x(ex−e−x)f′(x)=1−f(x)2
5、反正切函數
f(x)=tan−1(x)f′(x)=x2+11
6、Softsign函數
f(x)=1+∣x∣xf′(x)=(1+∣x∣)21
7、反平方根函數(ISRU)
f(x)=1+αx2xf′(x)=(1+αx21)3
8、線性整流函數(ReLU)
f(x)={0,x<0x,x≥0f′(x)={0,x<01,x≥0
9、帶泄露線性整流函數(Leaky ReLU)
f(x)={0.01x,x<0x,x≥0f′(x)={0.01,x<01,x≥0
10、參數化線性整流函數(PReLU)
f(x)={αx,x<0x,x≥0f′(x)={α,x<01,x≥0
11、帶泄露隨機線性整流函數(RReLU)
f(x)={αx,x<0x,x≥0f′(x)={α,x<01,x≥0
12、指數線性函數(ELU)
f(x)={α(ex−1),x<0x,x≥0f′(x)={f(α,x)+α,x<01,x≥0
13、擴展指數線性函數(SELU)
f(x)=λ{α(ex−1),x<0x,x≥0λ=1.0507,α=1.67326f′(x)=λ{α(ex),x<01,x≥0
14、S型線性整流激活函數(SReLU)
ftl,al,tr,ar(x)=⎩⎨⎧tl+al(x−tl),x≤tlx,tl<x<trtr+ar(x−tr),x≥trtl,al,tr,ar爲參數ftl,al,tr,ar′(x)=⎩⎨⎧al,x≤tl1,tl<x<trar,x≥tr
15、反平方根線性函數(ISRLU)
f(x)={1+αx2x,x<0x,x≥0f′(x)={(1+αx21)3,x<01,x≥0
16、自適應分段線性函數(APL)
f(x)=max(0,x)+s=1∑Saismax(0,−x+bis)f′(x)=H(x)−s=1∑SaisH(−x+bis)
17、SoftPlus函數
f(x)=ln(1+ex)f′(x)=2x2+1x+1
18、彎曲恆等函數
f(x)=2x2+1−1+xf′(x)=2x2+1x+1
19、Sigmoid Weighted Liner Unit(SiLU)
f(x)=x⋅σ(x)f′(x)=f(x)+σ(x)(1−f(x))
20、SoftExponential
f(x)=⎩⎨⎧−αln(1−α(x+α)),α<0x,α=0αeαx−1,α>0f′(x)={1−α(α+x)1,α<0eαx,α≥0
21、正弦函數
f(x)=sin(x)f′(x)=cos(x)
22、Sinc函數
f(x)={1,x=0xsin(x),x=0f(x)={0,x=0xcos(x)−xsin(x),x=0
23、高斯函數
f(x)=e−x2f′(x)=−2xe−x2