relu、 leaky relu 兩者的優點是:
第一,在
z z
的區間變動很大的情況下,啟用函式的導數或者啟用函式的斜率都會遠大於0,在程式實現就是乙個 if-else 語句,而 sigmoid 函式需要進行浮點四則運算,在實踐中,使用 relu 啟用函式神經網路通常會比使用 sigmoid 或者 tanh 啟用函式學習的更快。
第二, sigmoid 和 tanh 函式的導數在正負飽和區的梯度都會接近於 0,這會造成梯度瀰散,而 relu 和 leaky relu 函式大於 0 部分都為常熟,不會產生梯度瀰散現象。 (同時應該注意到的是, relu 進入負半區的時候,梯度為 0,神經元此時不會訓練,產生所謂的稀疏性,而 leaky relu 不會有這問題)。
z' role="presentation" style="position: relative;">z
z在 relu 的梯度一半都是 0,但是,有足夠的隱藏層使得 z 值大於 0,所以對大多數的訓練資料來說學習過程仍然可以很快。
sigmoid 啟用函式:除了輸出層是乙個二分類問題基本不會用它。
tanh 啟用函式: tanh 是非常優秀的,幾乎適合所有場合。
relu 啟用函式:最常用的預設函式, 如果不確定用哪個啟用函式,就使用 relu 或者
leaky relu。
深度學習中常見的啟用函式
下面分別進行介紹。1.sigmoid函式 s型增長函式 sigmoid函式能夠將取值為 infty,infty 的數對映到 0,1 公式和圖形如下 s x frac sigmoid函式作為非線性啟用函式卻不被經常使用,具有以下幾個缺點 1.當x非常大或者非常小的時候,sigmoid函式的導數將接近0...
深度學習中常用的啟用函式
我們知道深度學習的理論基礎是神經網路,在單層神經網路中 感知機 輸入和輸出計算關係如下圖所示 可見,輸入與輸出是乙個線性關係,對於增加了多個神經元之後,計算公式也是類似,如下圖 這樣的模型就只能處理一些簡單的線性資料,而對於非線性資料則很難有效地處理 也可通過組合多個不同線性表示,但這樣更加複雜和不...
深度學習之啟用函式總結
深度學習中啟用函式的作用是能夠給神經網路加入一些非線性因素,使得神經網路可以更好地解決較為複雜的問題。沒有啟用函式,即便有再多的隱藏層,其整個網路跟單層神經網路也是等價的,可見啟用函式的重要性如此之大。下面,分別介紹深度學習中常用的啟用函式。sigmoid的公式如下 函式對應的影象如下 優點 1.s...