💡一句話定義
導數 f′(x) = 1(x>0) ,0(x<0)
別看它只是一個轉折點,這個「折角」就是關鍵的非線性來源。很多個 ReLU 神經元組合起來,網路就能拼出複雜的連續折線,把彎曲的資料切開。
🚰用「單向閥」來想
🎮互動:線性做不到、ReLU 做得到
橘點是被藍點包圍的「瑕疵特徵」,分布是彎的。切換兩個按鈕,看純線性只能畫直線(圈不出中心),而 ReLU 能折出多邊形邊界把橘點框起來。
模型初始化:線性狀態
圖中的橘色點是瑕疵特徵,被藍色的正常特徵包圍。這在真實影像分類中極為常見(例如複雜的紋理或瑕疵)。我們需要模型區分橘點與藍點。
請按下下方按鈕,觀察不同激活函數如何畫出分類邊界。
⚡ReLU 為什麼這麼強?
只是一個 max(0, x) 比較,比指數運算的 Sigmoid 快非常多。
x>0 時梯度恆為 1,反向傳播不被壓縮,緩解梯度消失。
負區輸出 0,讓一部分神經元「不活化」,表示更稀疏、計算更省。
深層網路的隱藏層預設選擇,是 CNN、ResNet 等的標配。
💀Dead ReLU 與它的變體
ReLU 的代價:負區間輸出與梯度都是 0。如果一個神經元因為學習率過大或不良初始化,長期被推到負區,它就永遠輸出 0、再也收不到梯度——這叫 神經元死亡(Dying / Dead ReLU)。變體們就是為了補這個洞:
| 函數 | 負區間做法 | 特點 |
|---|---|---|
| ReLU | 直接歸 0 | 最快最簡單;但可能神經元死亡 |
| Leaky ReLU | 給小斜率(如 0.01x) | 負區留一點梯度,避免完全死亡 |
| PReLU | 斜率可學習 | 負區斜率由訓練決定,更彈性 |
| ELU | 負區用指數平滑 | 輸出更接近零中心,收斂常更穩 |
| GELU | 依機率平滑加權 | Transformer / BERT / GPT 常用 |
✅自我檢測
Q1. ReLU 的公式與導數是什麼?
Q2. 為什麼 ReLU 能緩解梯度消失,Sigmoid 不行?
Q3. 什麼是 Dead ReLU?怎麼緩解?
Q4. ReLU 放在網路的哪裡?輸出層可以用嗎?
🎯重點整理
- 公式:f(x)=max(0, x),正區導數 1、負區導數 0。
- 優點:計算快、正區不飽和、緩解梯度消失、帶稀疏性。
- 非線性來源:那個「折角」,多個組合能折出複雜決策邊界。
- 缺點:Dead ReLU(神經元死亡)——用 Leaky ReLU / GELU 等變體緩解。
- 用在哪:隱藏層預設;輸出層另用 Sigmoid / Softmax / 線性。