你在神經網路裡看過一個函數,正值原樣通過,負值直接變成 0 嗎?
你可以把 ReLU 想成一個很簡單的門,正的放行,負的擋掉。 它之所以受歡迎,是因為計算快,而且在很多深度學習模型裡效果很好。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
ReLU vs Sigmoid Sigmoid 會把輸入壓到 0 到 1 之間。 ReLU 對正值幾乎不壓縮,負值才歸零。 最關鍵的區別:一個會飽和,一個更直接。
ReLU vs Leaky ReLU ReLU 在負值時直接變 0。 Leaky ReLU 在負值時還留一點小斜率。 最關鍵的區別:一個完全截斷,一個保留一點梯度。
ReLU vs Tanh Tanh 會把值壓到 -1 到 1。 ReLU 不會把正值壓成固定區間。 最關鍵的區別:一個是平滑壓縮,一個是分段線性。
記住這句就好
正的放行,負的歸零。
實際案例
影像辨識 卷積神經網路常用 ReLU 讓特徵通過更快。 這讓模型在多層堆疊時更容易訓練。
語音或文字模型 深度網路裡的隱藏層常搭配 ReLU,幫助梯度更容易往前傳。 這比傳統飽和型函數更不容易卡住。
算法與應用
ReLU 的公式很簡單,輸入大於 0 就輸出原值,小於 0 就輸出 0。 它的優點是算得快、通常比較不會有梯度消失問題。 缺點是負值區域可能讓神經元長期沒有輸出,這就是常說的 dead ReLU。
情境判斷
Q1(直覺題): 你要讓神經網路在正值區域盡量保留訊號,該選哪種激活函數?
→ ReLU 很常被選,因為它對正值幾乎不做壓縮。
Q2(判斷題): 如果很多神經元在負值區域一直沒反應,就代表 ReLU 一定不適合嗎?
→ 不一定,要看資料分布、初始化和學習率,有時改成 Leaky ReLU 就能改善。
常見問題
ReLU 為什麼這麼常用?
因為計算簡單、速度快,而且在很多深度學習任務裡都很有效。
ReLU 的缺點是什麼?
主要問題是負值區域會直接歸零,可能讓部分神經元不再學習。
ReLU 和線性函數一樣嗎?
不一樣,它是分段線性的,只有正值那一段保留線性,負值會被截斷。