線性整流函數(Rectified Linear Unit, ReLU),又稱修正線性單元, 是一種人工神經網絡中常用的激活函數(activation function),通常指代以斜坡函數及其變種為代表的非線性函數。比較常用的線性整流函數有斜坡函數,以及帶泄露整流函數 (Leaky ReLU),其中
為神經元(Neuron)的輸入。線性整流被認為有一定的生物學原理[1],並且由於在實踐中通常有着比其他常用激活函數(譬如邏輯函數)更好的效果,而被如今的深度神經網絡廣泛使用於諸如圖像識別等計算機視覺[1]人工智能領域。
定義:
通常意義下,線性整流函數指代數學中的斜坡函數,即
而在神經網絡中,線性整流作為神經元的激活函數,定義了該神經元在線性變換 {\displaystyle \mathbf {w} ^{T}\mathbf {x} +b}之后的非線性輸出結果。換言之,對於進入神經元的來自上一層神經網絡的輸入向量 {\displaystyle x}
,使用線性整流激活函數的神經元會輸出
至下一層神經元或作為整個神經網絡的輸出(取決現神經元在網絡結構中所處位置)。
優勢:
相比於傳統的神經網絡激活函數,諸如邏輯函數(Logistic sigmoid)和tanh等雙曲函數,線性整流函數有着以下幾方面的優勢:
- 仿生物學原理:相關大腦方面的研究表明生物神經元的信息編碼通常是比較分散及稀疏的[6]。通常情況下,大腦中在同一時間大概只有1%-4%的神經元處於活躍狀態。使用線性修正以及正則化(regularization)可以對機器神經網絡中神經元的活躍度(即輸出為正值)進行調試;相比之下,邏輯函數在輸入為0時達到 {\displaystyle {\frac {1}{2}}}
,即已經是半飽和的穩定狀態,不夠符合實際生物學對模擬神經網絡的期望[1]。不過需要指出的是,一般情況下,在一個使用修正線性單元(即線性整流)的神經網絡中大概有50%的神經元處於激活態[1]。
- 更加有效率的梯度下降以及反向傳播:避免了梯度爆炸和梯度消失問題
- 簡化計算過程:沒有了其他復雜激活函數中諸如指數函數的影響;同時活躍度的分散性使得神經網絡整體計算成本下降
參考文檔:
1 https://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%95%B4%E6%B5%81%E5%87%BD%E6%95%B0