【啟用函式的飽和】定義:x趨向於正無窮或者負無窮時,函式導數趨近於0,此時稱為飽和;
飽和啟用函式:sigmod、tanh
非飽和啟用函式:relu、leaky relu、gelu
給神經網路引入非線性元素,使神經網路可以完成非線性對映。如果不使用啟用函式,無論神經網路有多少層,都只是線性組合而已。
sigmoid函式輸入乙個實值的數,然後將其壓縮到0~1的範圍內。特別地,大的負數被對映成0,大的正數被對映成1,數值絕對值越大,梯度越平坦,敏感度越低。
公式:sigmod影象:
sigmod導數影象:
sigmod啟用函式優點:
sigmod啟用函式缺點:
tanh和 sigmoid 相似,都屬於飽和啟用函式,區別在於輸出值範圍由 (0,1) 變為了 (-1,1),可以把 tanh 函式看做是 sigmoid 向下平移和拉伸後的結果。
公式:tan
h(x)
=ex−
e−xe
x+e−
x=21
+e−2
x−1tanh(x)=\frac}} =\frac}-1
tanh(x
)=ex
+e−x
ex−e
−x=
1+e−
2x2
−1 tan
h′(x
)=1−
tanh
2(x)
tanh^(x)=1-tanh^2(x)
tanh′(
x)=1
−tan
h2(x
) tanh影象:
tanh導數影象:
tanh優點:
tanh缺點:
relu函式是目前主流的啟用函式,它的公式很簡單,輸入小於0的時候為0,大於0的時候是本身。
公式:f(x
)=ma
x(0,
x)f(x)=max(0,x)
f(x)=m
ax(0
,x)
relu影象:
relu導數影象:
relu函式優點:
relu函式缺點:
啟用函式整理
這裡主要首先要說下為什麼在深度學習網路中需要加入啟用函式?因為啟用函式是網路中非線性的 去除了該部分之後網路就只剩下線性運算部分了,而且線性運算的組合疊加也是線性的,最後得到的結果模型也當然可以等價於單層的線性模型了,也為了能夠適用於複雜的情況,所以需要在網路中引入非線性單元。那麼說到了啟用函式那麼...
常見啟用函式對比
參考blog 啟用函式的主要功能是為神經網路非線性能力 去掉啟用函式層,神經網路僅剩下線性函式,多層線性函式的擬合還是線性的,無法更好的建模生活中的大多數非線性問題。線性啟用函式 不是重點 非線性啟用函式 sigmod,tanh,relu,lrelu,prelu,swish 考量 公式 f x 11...
深度學習中常見的啟用函式
下面分別進行介紹。1.sigmoid函式 s型增長函式 sigmoid函式能夠將取值為 infty,infty 的數對映到 0,1 公式和圖形如下 s x frac sigmoid函式作為非線性啟用函式卻不被經常使用,具有以下幾個缺點 1.當x非常大或者非常小的時候,sigmoid函式的導數將接近0...