一、简介
一个节点的激活函数(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