RNN 中為什麼要採用 tanh,而不是 ReLU 作為啟用函式?

時間 2021-05-06 06:07:24

1樓:丨我丨

因為提出RNN的時候還沒有提出ReLU這一啟用函式,而提出ReLU後,RNN由於種種原因已經很少使用了,研究者很少再使用RNN這種模型,因此就保留了tanh。

2樓:Jennifer

從訊號處理的方式說,要保證系統穩定。類似線性系統極點要在單位圓裡,非線性直接加個啟用卡住。

所以簡而言之:Relu不行,越界了;sigmoid差一半平面;只有tanh剛好。tanh還有個好處是零點梯度為1,這個性質比sigmoid好,relu在右半平面也是1,但越界不穩定,然並卵了。

3樓:pkupig

RNN的主要問題是梯度消失(在反向傳播分層訓練[Back Propagation]的過程中本應用於修正模型引數的誤差隨著層數的增加指數遞減,導致了模型訓練的效率低下)。為了保持啟用函式線性區域中的梯度,我們需要乙個函式,其二階導數可以在零點之前持續很長的範圍。而tanh可以將所有值對映到-1至1之間,在利用梯度下降演算法調優時利用鏈式法則,會造成很多個小於1的項連乘就很快的逼近零。

總結一下。

Tanh

數學表達: tanh(z) = [exp(z) - exp(-z)] / [exp(z) + exp(-z)]

一階導數: tanh'(z) = 1 - ([exp(z) - exp(-z)] / [exp(z) + exp(-z)])^2 = 1 - tanh^2(z)

優點:(1) 大量實踐表明,可以更快地收斂(2) 梯度計算成本較低

4樓:

理論上,每個元素上的導數是一,並不意味著,作為整體的復合函式矩陣求導的 Jacobin norm 是 1。傳統RNN的問題是,因為recurrent structure 求導的時候,矩陣不斷連乘,導致gradient要麼 vanish,要麼explode。relu不會解決這個問題的。

最初的lstm,沒有memory gating的時候,recurrent structure,是純粹 S_t = S_(t-1) + g 的,所以可以嚴格保證求導時需要連乘的矩陣是單位矩陣。lstm 最重要的idea是,可以有乙個memory cell 有recurrent structure,但完全不用activation,同時,有gating來保證nonlinearity。當然,後來發展出forget gate之後,其實嚴格性也無法保證了。

不過直覺上,其實更合理。

5樓:張皓

一方面, 已經有人將ReLU用進RNN了, 如Hinton等人的IRNN.

另一方面, ReLU的乙個問題是輸出非負, 這樣使得遞迴時永遠只有大於等於0的部分. 所以目前的主流仍是tanh這樣的0中心對稱的啟用函式.

6樓:張大帥

lstm和grnn並不光是為了梯度消失,主要是為了學習長距離依存關係,或者說要具備「跳過」那些不重要的東西的能力。

另外,誰說rnn不能用relu的?

另外啟用函式除了要實現非線性,還有做值域變換的能力。某些特定的神經元要用tanh或sigmoid,是因為取值範圍有要求,比如gate的取值是0到1,這時候搞個relu算咋回事兒?最後一層要做01二分類的,你加個relu算咋回事兒?

為什麼採用正常高,而不採用正高?

豪子在原野 似大地水準面 正常高 和大地水準面 正高 在高海拔地區有什麼不一樣的地方?大地水準面的形狀反映的是地球內部物質結構 密度和分布。1873年,利斯廷提出用大地水準面代表地球形狀,面對的直接問題便是,即便不考慮地球內部的密度不均,假想乙個靜止的海平面為重力水準面,可陸地上尤其高海拔地區由於複...

活佛為什麼要採用轉世這種形式而不是長生不老?

鄭傳軍 理論上修佛只有乙個目的,就是為了超脫生死輪迴,苦集滅道四聖諦是佛教的最基本原則。既然還在轉世不得脫離苦海,那成佛的目的又是啥呢? 世紀狂人 首先宣告,我不是宗教徒,但為了解釋宗教的問題,只能引入宗教的理念。首先佛法講六 道 每一道有每一道的 理 規律 一些在人 人道 看來很正常的規律,在更高...

柴油機為什麼要採用壓燃,而不採用火花塞點火,有什麼優點嗎這樣?

我臥推140kg 因為點不燃,所以就沒有了火花塞點火線圈,霧化的柴油在設計好的點火時間被噴入活塞頂部,活塞在執行到缸頭位置利用極小的空間,將柴油混合氣壓縮點燃,這個壓縮的體積是做到很小的,也就是壓縮比可以很大,大的能達到20比1。汽油機則達不到。 時間規劃局 從燃料本身的屬性,來做個不太恰當的比喻。...