1.sigmoid函式:
s(x)=1/(1+exp(-x))
導數為:s(x)*(1-s(x))。這個數值不會超過0.25.。通過sigmoid函式計算的函式值在0~1之間,如果神經網路的層數很多,如果每一層的激勵函式採用sigmoid函式,就會產生梯度瀰散的問題。因為利用bp函式更新引數的時候,會乘以它的導數,所以會一直減小。並且在比較大或者比較小的時候,會產生飽和效應,導致神經元類似與死亡。
2.tanh函式
t(x) = (exp(x)-exp(-x))/(exp(x)+exp(-x))
導數:1-t(x)*t(x)
。tanh函式的值在-1~1之間。導數小於1.如果每一層用這個激勵函式。會導致和sigmoid函式類似的情況。
3.elu函式
4.softplus函式f(
x)=ln
(1+e
x)導數為:f′
(x)=
ex1+
ex=1
1+e−
x。導數比較小
5.softsign函式
6.relu函式
f(x) = max(0, x)。這個函式經常用,可以解決梯度瀰散問題,因為它的導師等於1或者就是0。
7. relu6函式
f(x) = max(0,6,x)。這個函式可以將激勵函式的值資料位於0~6之間。
還有一些其他的函式變體,這裡就不一一介紹。下面使用tensorflow畫出的各種函式的圖。
深度學習中常用的激勵函式
我們知道深度學習的理論基礎是神經網路,在單層神經網路中 感知機 輸入和輸出計算關係如下圖所示 可見,輸入與輸出是乙個線性關係,對於增加了多個神經元之後,計算公式也是類似,如下圖 這樣的模型就只能處理一些簡單的線性資料,而對於非線性資料則很難有效地處理 也可通過組合多個不同線性表示,但這樣更加複雜和不...
深度學習中常用的激勵函式
我們知道深度學習的理論基礎是神經網路,在單層神經網路中 感知機 輸入和輸出計算關係如下圖所示 可見,輸入與輸出是乙個線性關係,對於增加了多個神經元之後,計算公式也是類似,如下圖 這樣的模型就只能處理一些簡單的線性資料,而對於非線性資料則很難有效地處理 也可通過組合多個不同線性表示,但這樣更加複雜和不...
pytorch 學習筆記(三) 激勵函式
學習自 莫煩python 一句話概括 activation 就是讓神經網路可以描述非線性問題的步驟,是神經網路變得更強大 1.啟用函式是用來加入非線性因素的,解決線性模型所不能解決的問題。2.激勵函式要考慮到線性所收到的約束條件,也就是掰彎線性函式 3.它其實就是另外乙個非線性函式.比如說relu,...