激活函數
激活函數是每個神經元內部的小型非線性門,讓神經網路學習複雜的彎曲模式,而不僅僅是直線。
概述
沒有它們,深度網絡將崩解成單一線性方程式。
深入探討
每個神經元計算其輸入的加權和,但該和本身是線性的。堆疊許多線性層,從數學上講,無論多深,你仍然只有一個大的線性函數。激活函數透過對每個神經元的輸出應用非線性變換來打破這一點,使網路能夠逼近幾乎任何函數。最受歡迎的是 ReLU,它簡單地輸出輸入(如果為正,否則為零);它速度很快,並且避免了舊函數的一些訓練問題。 Sigmoid 和 tanh 將值壓縮到有界範圍內,這在歷史上很常見,但可能會受到深度網路中梯度消失的影響。輸出處使用的 softmax 函數將原始分數轉換為類別的機率分佈。
技術洞察
ReLU 的吸引力部分在於它的梯度:對於正輸入,它恰好為 1,因此它不會在反向傳播期間縮小誤差訊號,從而幫助深度網路訓練。相較之下,Sigmoid 和 tanh 在極端情況下會變平,即梯度接近零,導致梯度消失問題,從而阻礙深棧學習。 ReLU 的缺點是 ReLU 垂死問題,即神經元永遠處於負輸入,輸出為零; Leaky ReLU 和 GELU 等變體通過允許小的或平滑的非零響應來解決這個問題。
戰略影響
更明確的決策
它可以幫助您將清晰的技術聲明與行銷語言分開。
成本與預算
在花費金錢或時間之前,您可以提出更好的實施問題。
團隊與工作流程
具有共同理解的團隊可以做出更好的產品、政策和學習決策。
激活函數的未來
ReLU 和它的平滑表親 GELU 如今佔據主導地位,其中 GELU 在 Transformer 中受到青睞,因為它的平滑曲線與其訓練動態完美匹配。研究探索了像 SwiGLU 這樣的學習和門控激活,現在在大型語言模型中很常見,它使用乘法門控來提高表達能力。大趨勢是平滑的門控函數,可大規模提高梯度流和模型品質。雖然奇特的激活經常出現在論文中,但簡單、表現良好的函數往往會在實踐中獲勝,因為它們可以在巨大的模型上進行可靠的訓練。
現實世界的實施
在卷積網路的隱藏層中使用 ReLU,以便它可以學習用於影像辨識的彎曲決策邊界
在最後一層應用 softmax 將分類器的原始分數轉換為總和為 1 的類別機率
在 Transformer 語言模型中選擇 GELU 活化以獲得更平滑的梯度流
當網路中太多神經元死亡並停止回應時切換到 Leaky ReLU
風險與防護欄
不同的團隊可能會以不同的方式使用相同術語,因此請儘早定義範圍。
基準測試可能看起來很強大,但實際效能卻參差不齊。
忽視數據品質和評估計劃通常會產生脆弱的結果。
實施路線圖
從您需要的結果的簡單語言定義開始。
在測試之前選擇一種成功指標和一種失敗條件。
使用代表性資料運行小型試點,而不是完善的演示集。
記錄激活函數在哪些方面有幫助以及在哪些方面更簡單的方法更好。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Activation Functions quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
什麼是啟動功能?
激活函數是每個神經元內部的小型非線性門,讓神經網路學習複雜的彎曲模式,而不僅僅是直線。如果沒有它們,深層網路將崩潰為單一線性方程式。
沒有激活函數的深度網路會發生什麼?
堆疊沒有非線性的線性層在數學上會分解為線性變換,因此網路無法學習複雜的模式。
對於負輸入,ReLU 激活函數輸出什麼?
ReLU 在正值時輸出輸入,在負值時輸出零,這使得計算簡單且快速。
與 sigmoid 和 tanh 相關的梯度消失問題是什麼?
Sigmoid 和 tanh 在極值處變平,因此它們的梯度縮小到零,從而削弱了深層網路中的誤差訊號。
多類別分類器的輸出層通常使用哪一種激活函數?
Softmax 將原始分數轉換為類別上總和為 1 的機率分佈,非常適合分類輸出。
什麼是「垂死的 ReLU」問題?
如果 ReLU 神經元總是接收負輸入,它會輸出零且梯度為零,並有效地停止更新,從而「死亡」。