詳細解釋
ReLU(Rectified Linear Unit,線性整流單元)是最常用的神經網絡激活函數,定義為f(x)=max(0,x),簡單高效,解決了梯度消失問題。
數學定義:
- f(x) = max(0, x)
- x > 0:輸出x(線性)
- x ≤ 0:輸出0(截斷)
為何成功:
- 計算簡單:比Sigmoid/Tanh快6倍以上
- 梯度不消失:正區域梯度恆為1
- 稀疏激活:約50%神經元輸出為0
- 生物啟發:類似神經元激活機制
與傳統激活的比較:
- Sigmoid:梯度飽和(x大時梯度→0)
- Tanh:同樣飽和問題
- ReLU:無飽和區,但負區域梯度為0
變體:
- Leaky ReLU:f(x)=max(αx, x),α小常數(如0.01)
- PReLU:α是可學習參數
- ELU:負區域指數衰減,平滑過渡
- GELU:高斯誤差線性單元,Transformer使用
- Swish:x · sigmoid(βx),Google發現的平滑激活
潛在問題:
- Dying ReLU:負梯度導致神經元永久關閉
- 解決:Leaky ReLU、合適的初始化、較小學習率
應用:
- CNN:卷積層後的標準激活
- MLP:隱藏層的首選
- Transformer:前饋網絡中使用GELU或Swish
- 幾乎所有深度網絡:ReLU或其變體
歷史:
- 2010年:Nair & Hinton在受限玻爾茲曼機中使用
- 2012年:AlexNet使用ReLU,展示其效果
- 此後:成為深度學習的默認選擇
ReLU是現代深度學習的基石激活函數。