啟用函式總結

2021-09-02 07:40:41 字數 2076 閱讀 3395

1. sigmod函式

函式公式和圖表如下圖

在sigmod函式中我們可以看到,其輸出是在(0,1)這個開區間內,這點很有意思,可以聯想到概率,但是嚴格意義上講,不要當成概率。sigmod函式曾經是比較流行的,它可以想象成乙個神經元的放電率,在中間斜率比較大的地方是神經元的敏感區,在兩邊斜率很平緩的地方是神經元的抑制區。

當然,流行也是曾經流行,這說明函式本身是有一定的缺陷的。

1) 當輸入稍微遠離了座標原點,函式的梯度就變得很小了,幾乎為零。在神經網路反向傳播的過程中,我們都是通過微分的鏈式法則來計算各個權重w的微分的。當反向傳播經過了sigmod函式,這個鏈條上的微分就很小很小了,況且還可能經過很多個sigmod函式,最後會導致權重w對損失函式幾乎沒影響,這樣不利於權重的優化,這個問題叫做梯度飽和,也可以叫梯度瀰散。

2) 函式輸出不是以0為中心的,這樣會使權重更新效率降低。對於這個缺陷,在斯坦福的課程裡面有詳細的解釋。

3) sigmod函式要進行指數運算,這個對於計算機來說是比較慢的。

2.tanh函式

tanh函式公式和曲線如下

tanh是雙曲正切函式,tanh函式和sigmod函式的曲線是比較相近的,咱們來比較一下看看。首先相同的是,這兩個函式在輸入很大或是很小的時候,輸出都幾乎平滑,梯度很小,不利於權重更新;不同的是輸出區間,tanh的輸出區間是在(-1,1)之間,而且整個函式是以0為中心的,這個特點比sigmod的好。

一般二分類問題中,隱藏層用tanh函式,輸出層用sigmod函式。不過這些也都不是一成不變的,具體使用什麼啟用函式,還是要根據具體的問題來具體分析,還是要靠除錯的。

3.relu函式

relu函式公式和曲線如下

relu(rectified linear unit)函式是目前比較火的乙個啟用函式,相比於sigmod函式和tanh函式,它有以下幾個優點:

1) 在輸入為正數的時候,不存在梯度飽和問題。

2) 計算速度要快很多。relu函式只有線性關係,不管是前向傳播還是反向傳播,都比sigmod和tanh要快很多。(sigmod和tanh要計算指數,計算速度會比較慢)

當然,缺點也是有的:

1) 當輸入是負數的時候,relu是完全不被啟用的,這就表明一旦輸入到了負數,relu就會死掉。這樣在前向傳播過程中,還不算什麼問題,有的區域是敏感的,有的是不敏感的。但是到了反向傳播過程中,輸入負數,梯度就會完全到0,這個和sigmod函式、tanh函式有一樣的問題。

2) 我們發現relu函式的輸出要麼是0,要麼是正數,這也就是說,relu函式也不是以0為中心的函式。

4.elu函式

elu函式公式和曲線如下圖

elu函式是針對relu函式的乙個改進型,相比於relu函式,在輸入為負數的情況下,是有一定的輸出的,而且這部分輸出還具有一定的抗干擾能力。這樣可以消除relu死掉的問題,不過還是有梯度飽和和指數運算的問題。

5.prelu函式

prelu函式公式和曲線如下圖

prelu也是針對relu的乙個改進型,在負數區域內,prelu有乙個很小的斜率,這樣也可以避免relu死掉的問題。相比於elu,prelu在負數區域內是線性運算,斜率雖然小,但是不會趨於0,這算是一定的優勢吧。

我們看prelu的公式,裡面的引數α一般是取0~1之間的數,而且一般還是比較小的,如零點零幾。當α=0.01時,我們叫prelu為leaky relu,算是prelu的一種特殊情況吧。

啟用函式總結

一 主要作用 啟用函式的主要作用就是加入非線性因素,以解決線性模型表達能力不足的缺陷,在整個神經網路起到至關重要的作用。在神經網路中常用的啟用函式有sigmoid tanh和relu等,下面逐一介紹。二 sigmod函式 1 函式介紹 sigmoid是常用的非線性的啟用函式,數學公式如下 2 函式曲...

啟用函式總結

cnn rnn各種模型啟用函式總結 sigmoid函式是早期非常經典的啟用函式,輸出值在 0,1 之間,當輸入值為非常大負數時,值為0,當輸入值非常大正數時,值為1。sigmoid非常經典,但是現在它以不太受歡迎,原因是它存在乙個幾個比較大的缺陷,後面做詳細討論。tanh函式是sigmoid函式的一...

啟用函式總結

在神經網路中,啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。先舉乙個簡單的例子,在做二分類時,我們的 值y wtx b widehat w x b y wtx b,其中w和b為引數,我們希望得到乙個範圍是 0,1 的概率值,而如果直接使用上式進行計算會導...