1 修正線性單元(ReLU)
從上圖可以看到,ReLU 是從底部開始半修正的一種函數(shù)。數(shù)學公式為:
當輸入 x<0 時,輸出為 0,當 x> 0 時,輸出為 x。該激活函數(shù)使網絡更快速地收斂。它不會飽和,即它可以對抗梯度消失問題,至少在正區(qū)域(x> 0 時)可以這樣,因此神經元至少在一半區(qū)域中不會把所有零進行反向傳播。由于使用了簡單的閾值化(thresholding),ReLU 計算效率很高。但是 ReLU 神經元也存在一些缺點:
1. 不以零為中心:和 Sigmoid 激活函數(shù)類似,ReLU 函數(shù)的輸出不以零為中心。
2. 前向傳導(forward pass)過程中,如果 x < 0,則神經元保持非激活狀態(tài),且在后向傳導(backward pass)中「殺死」梯度。這樣權重無法得到更新,網絡無法學習。當 x = 0 時,該點的梯度未定義,但是這個問題在實現(xiàn)中得到了解決,通過采用左側或右側的梯度的方式。
為了解決 ReLU 激活函數(shù)中的梯度消失問題,當 x < 0 時,我們使用 Leaky ReLU——該函數(shù)試圖修復 dead ReLU 問題。下面我們就來詳細了解 Leaky ReLU。
2 Leaky ReLU
該函數(shù)試圖緩解 dead ReLU 問題。數(shù)學公式為:
Leaky ReLU 的概念是:當 x < 0 時,它得到 0.1 的正梯度。該函數(shù)一定程度上緩解了 dead ReLU 問題,但是使用該函數(shù)的結果并不連貫。盡管它具備 ReLU 激活函數(shù)的所有特征,如計算高效、快速收斂、在正區(qū)域內不會飽和。
Leaky ReLU 可以得到更多擴展。不讓 x 乘常數(shù)項,而是讓 x 乘超參數(shù),這看起來比 Leaky ReLU 效果要好。該擴展就是 Parametric ReLU。
3 Parametric ReLU
PReLU 函數(shù)的數(shù)學公式為:
其中
是超參數(shù)。這里引入了一個隨機的超參數(shù)
,它可以被學習,因為你可以對它進行反向傳播。這使神經元能夠選擇負區(qū)域最好的梯度,有了這種能力,它們可以變成 ReLU 或 Leaky ReLU。
總之,最好使用 ReLU,但是你可以使用 Leaky ReLU 或 Parametric ReLU 實驗一下,看看它們是否更適合你的問題。
鏈接:http://www.itdecent.cn/p/53bbb4ed78f3
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯(lián)系作者獲得授權并注明出處。