深度學習領域最常用的10個激活函數(shù),一文詳解數(shù)學原理及優(yōu)缺點
日期 : 2021年03月04日
正文共 :2599字
激活函數(shù)是神經(jīng)網(wǎng)絡模型重要的組成部分,本文作者Sukanya Bag從激活函數(shù)的數(shù)學原理出發(fā),詳解了十種激活函數(shù)的優(yōu)缺點。





Sigmoid 函數(shù)的輸出范圍是 0 到 1。由于輸出值限定在 0 到 1,因此它對每個神經(jīng)元的輸出進行了歸一化;
用于將預測概率作為輸出的模型。由于概率的取值范圍是 0 到 1,因此 Sigmoid 函數(shù)非常合適;
梯度平滑,避免「跳躍」的輸出值;
函數(shù)是可微的。這意味著可以找到任意兩個點的 sigmoid 曲線的斜率;
明確的預測,即非常接近 1 或 0。
傾向于梯度消失;
函數(shù)輸出不是以 0 為中心的,這會降低權(quán)重更新的效率;
Sigmoid 函數(shù)執(zhí)行指數(shù)運算,計算機運行得較慢。



首先,當輸入較大或較小時,輸出幾乎是平滑的并且梯度較小,這不利于權(quán)重更新。二者的區(qū)別在于輸出間隔,tanh 的輸出間隔為 1,并且整個函數(shù)以 0 為中心,比 sigmoid 函數(shù)更好;
在 tanh 圖中,負輸入將被強映射為負,而零輸入被映射為接近零。


當輸入為正時,不存在梯度飽和問題。
計算速度快得多。ReLU 函數(shù)中只存在線性關系,因此它的計算速度比 sigmoid 和 tanh 更快。
Dead ReLU 問題。當輸入為負時,ReLU 完全失效,在正向傳播過程中,這不是問題。有些區(qū)域很敏感,有些則不敏感。但是在反向傳播過程中,如果輸入負數(shù),則梯度將完全為零,sigmoid 函數(shù)和 tanh 函數(shù)也具有相同的問題;
我們發(fā)現(xiàn) ReLU 函數(shù)的輸出為 0 或正數(shù),這意味著 ReLU 函數(shù)不是以 0 為中心的函數(shù)。


Leaky ReLU 通過把 x 的非常小的線性分量給予負輸入(0.01x)來調(diào)整負值的零梯度(zero gradients)問題;
leak 有助于擴大 ReLU 函數(shù)的范圍,通常 a 的值為 0.01 左右;
Leaky ReLU 的函數(shù)范圍是(負無窮到正無窮)。


沒有 Dead ReLU 問題,輸出的平均值接近 0,以 0 為中心;
ELU 通過減少偏置偏移的影響,使正常梯度更接近于單位自然梯度,從而使均值向零加速學習;
ELU 在較小的輸入下會飽和至負值,從而減少前向傳播的變異和信息。


如果 a_i= 0,則 f 變?yōu)?ReLU
如果 a_i> 0,則 f 變?yōu)?leaky ReLU
如果 a_i 是可學習的參數(shù),則 f 變?yōu)?PReLU
在負值域,PReLU 的斜率較小,這也可以避免 Dead ReLU 問題。
與 ELU 相比,PReLU 在負值域是線性運算。盡管斜率很小,但不會趨于 0。


在零點不可微;
負輸入的梯度為零,這意味著對于該區(qū)域的激活,權(quán)重不會在反向傳播期間更新,因此會產(chǎn)生永不激活的死亡神經(jīng)元。

「無界性」有助于防止慢速訓練期間,梯度逐漸接近 0 并導致飽和;(同時,有界性也是有優(yōu)勢的,因為有界激活函數(shù)可以具有很強的正則化,并且較大的負輸入問題也能解決);
導數(shù)恒 > 0;
平滑度在優(yōu)化和泛化中起了重要作用。






— THE END —

