請問人工神經網路中的activation function的作用具體是什麼?為什麼ReLu要好過於tanh和sigmoid function

時間 2021-05-07 02:31:01

1樓:wuxuedaifu

引入啟用函式的目的:通過引入非線性變換,使得神經元網路能代表更多的函式形式(即更多的資訊)。Sigmod和Tanh是早期開始使用的兩種啟用函式,Tanh比Sigmod的優勢是:

Tanh在saturated point處具有略好的gradient特徵,不會說在飽和區梯度為零了(但依然很小)。

後來又引入了更好了ReLU(rectified linear unit)和softplus函式。softplus可以看作是ReLU的光滑形式,這兩種函式目前具有更廣泛的應用,因為具有很好的梯度特性,即使啟用函式在飽和區也能具有很好的倒數特性,使得模型更容易被訓練好。

2樓:晟沚

首先我們來說一下啟用函式是幹什麼的

我們知道在卷積的每層中都會有權重w和偏差b,那麼如果我們不使用啟用函式的話,經過隱層之後得到的還是線性的,也就是說還能用wx+b形式表示,所以你加的隱層有什麼用呢?

通過上面我門知道啟用函式其實就是非線性函式。

啟用函式有tanh sigmoid relu elu maxout leakly elu

下面我們來說一下relu在一些情況下為什麼比tanh sigmoid要好,首先我們知道,sigmoid很明顯的特徵就是在輸入較大的時候就變得平緩了,這意味這什麼呢?也就是說我們在反向傳播進行隨即梯度下降尋求引數最優解的時候,梯度會消失,也就是這時候求偏導會容易得到0,這就是為什麼我們在輸入層需要對資料進行去均值處理;相反relu就不會出現這個狀況

最後,一定注意CNN不能用sigmoid作為激勵函式

3樓:

我覺得李巨集毅教授給的解釋最直觀了,在此簡單給出觀點:

深度學習的特點在於Deep,在反向傳播演算法中,Sigmoid求導數會越求越小,最後會發生梯度消失問題( Vanishing Gradient Problem)

ReLu的導數為常數,因此解決了該問題。

4樓:劉子巧

僅作其它回答的補充。

這裡給出sigmoid和概率的對接:http://www.

cedar.buffalo.edu/~srih

ari/CSE574/Chap13/Ch13.5-ConditionalRandomFields.pdf

當初sigmoid是基於2分類問題的:p(class1)+p(class2) = 1;

由全概率公式,有

p(class1|obj)

= ==而sigmoid(x) =

和上面的公式對應,則人為定義:

p(class1|obj)

= :=

= sigmoid(x)

其中 x =

為了簡化計算,

,這是為了把生成式推向判別式,這樣可以用更少的訓練資料得到比像HMM這樣的生成式模型更好的學習結果。

這是sigmoid的由來,其他函式都可以由sigmoid變化而來,比如疊加,比如縮放等等。

N分類在Logistic Regression裡則是用的softmax:

5樓:

啟用函式減少輸出的方差,比如sigmoid 使輸出的區間在0~1之間。

如果不進行啟用,輸出的資料差距很大。

第二個問題,不知道

6樓:約翰曰不約

原回答請見 不同activation function的神經網路的表達能力是否一致? - 約翰曰不約的回答

為什麼通常Relu比sigmoid和tanh強,有什麼不同?

主要是因為它們gradient特性不同。sigmoid和tanh的gradient在飽和區域非常平緩,接近於0,很容易造成vanishing gradient的問題,減緩收斂速度。vanishing gradient在網路層數多的時候尤其明顯,是加深網路結構的主要障礙之一。

相反,Relu的gradient大多數情況下是常數,有助於解決深層網路的收斂問題。Relu的另乙個優勢是在生物上的合理性,它是單邊的,相比sigmoid和tanh,更符合生物神經元的特徵。

而提出sigmoid和tanh,主要是因為它們全程可導。還有表達區間問題,sigmoid和tanh區間是0到1,或著-1到1,在表達上,尤其是輸出層的表達上有優勢。

7樓:Yuwei

當然,啟用函式有很多種,並不是每個都能有以上作用(例如單位函式作為啟用函式,但其實單位函式作為隱含層啟用函式,可以達到以減少引數和過濾資料的作用:,原來乙個的線性權重矩陣的功能由兩個小矩陣()代替),也有的啟用函式具有更多作用。

那為什麼ReLU好過sigmoid類的呢?因為它具有其他優良性質[4]:

梯度傳播性質的解釋(最重要的,因為目前,對神經網路訓練而言,梯度這東西最重要):梯度消失是因為有saturation regime的存在,而ReLU線性部分能很好傳播梯度,而置0部分本身就是為了稀疏性而犧牲gradient的。

稀疏性性質的解釋:ReLU更易產生稀疏性,而數學上來看,你可以認為這是一種線性變化,然後再投影,投到特徵維度上( )。

我覺得是可以利用這種粗略的想法,來判斷當前資料是否適用ReLU這種啟用函式來構建網路。當然,實驗是最靠譜的了。

而稀疏性的好處有:

資訊解離:相當於將高度耦合的變數解耦,這樣表示就能容忍雜訊從而更具魯棒性;

資訊容量可變的表示:如果input資訊量大,那麼會有很多神經元active以儲存這些資訊;而如果input資訊量小,那麼就會有很多神經元inactive。這也是variable-size data structure,機器學習模型中,變數多了怕過擬合,變數不夠怕欠擬合。

這裡提供了一種解決思路。

線性可分:低維到高維從而分類,這不正是SVM想做的?

稀疏分布式表示:2個0-1變數的4種可能組合,n個0-1變數有2^n種組合。n越大,表現力就越強。

生物解釋:這是生物神經的firing rate curve:

這是各種啟用函式的curve:

他主要強調的相同點是:

1. 沒有到突然有這個過程(紅框),而不是極其小到逐漸大;

2. 對於某些輸入,生物神經元的輸出和輸入成比例;

3. 大多數時間,生物神經元是非啟用的(也就是稀疏性)。

實際實驗上的解釋:

hard saturation at 0 的問題:clear;

無上限問題:clear;

實現非線性的問題:clear;

達到的效果:好。

8樓:賣糰子的小喵吉

如果你把深度模型看作是資料空間到最終表達空間的一種對映的話,就很好理解了。

啟用函式就是每層對映的方式。

使用不同的啟用函式,自然對表達的能力有著不同的影響。

簡單的例子,全部採用線性表達,輸入資料abcd,輸出efg。efg=w(abcd)兩層之間相當於做了矩陣乘法,其實也就是線性變換。

而使用sigmod,efg=σ(wabcd),這個寫的有問題,應該拆開來寫,但是爪機太痛苦了,領會精神吧。

至於relu和sigmod,使用的範圍不同。relu在cv上用的很好,其實就是CNN。而rbm,rnn這些,由於涉及概率

還是需要用sigmod才行。

9樓:

為什麼要引入activation function(線性-->非線性)?

因為非線性函式的表達能力比線性的表達能力要強(線性函式不管你再怎麼做線性變換,它永遠還是線性的)以下為activation function的比較,引自:CS231N(Stanford University CS231n: Convolutional Neural Networks for Visual Recognition)

10樓:月下僧竅門

你如果仔細看backpropagation這個演算法在深度網路中的求導,會發現大量的W相乘,如果det(W)>1隨著網路加深,gradient explosion,如果det(W)<1隨著網路加深,W連乘越來越多,gradient vanishing...所以用relu,max(0,a), 間接regularize gradient.

11樓:

關於ReLu,可以看看 What is special about rectifier neural units used in NN learning?

12樓:desperado

using just a single layer of hidden units.摘自UFLDL

事實上,在我的理解中,啟用函式作用有如下兩點:

把輸入值歸約到乙個區間內。

線性方程的線性組合也只有線性表達的能力,這遠遠不夠,所以我們要用非線性的組合,也就是樓上所說的要轉化為非線性的,使得表達能力更加強大。

13樓:囧囧森

不用activation就是線性函式的擬合了。同LS,activation就是個對映,使得模型具有非線性的擬合能力。ReLU好的原因應該是它是一種非飽和的非線性函式,在深度模型中收斂快

如何看待人工神經網路ANN和脈衝神經網路SNN的發展?

十萬個為什麼 SNN起源於人類對生物神經網路的解剖,是一種機理模型 ANN是一種工程模型,架構上源於生物學基礎,但是又採用了數值優化的方法進行求解。當前的科技發展水平下,ANN更實用,可以解決很多實際問題,而SNN在功能性角度方面遠遠弱於ANN。從發展前景方面,ANN顯然不及SNN,因為生物神經網路...

神經網路中Belief Net和標準的神經網路有什麼區別?

金天 這個已經深埋地下的問題今天在下挖出來回答一番,拂去歲月的塵埃這個問題還是值得一答,也值得大家一讚.我的思考 1.DBN本質是RBM一層層的堆疊,那麼問題在於RBM與標準傳統簡單的神經網路有毛線區別呢?我們知道RBM可見層與隱藏層之間是全連線的,而hidden和hidden之間是沒有連線的,這個...

卷積神經網路和BP神經網路的關係?

乙個維度的BP神經網路就相當於CNN中的全連線了,無非是多幾個全連線,CNN是二維,二維如果搞成全連線就導致運算量巨大,所以有了權重共享,大大減少了運算量,CNN卷積的思想肯定也源於BP神經網路就,在影象上做二維卷積的CNN發出炫目的光芒下,BP神經網路就已經快被人們遺忘了,但是不管CNN再怎麼發展...