激活函數之Sigmoid
Sigmoid 激活函數,也稱為邏輯函數(Logistic Function),是人工神經網絡歷史上一個非常重要的激活函數。它因其獨特的“S”形曲線而得名,能夠將任何實數值輸入壓縮到一個介于 0 和 1 之間的范圍。
1. 數學表達式
Sigmoid 函數的數學公式如下:??(??)=1 / ( 1 + ????? )
其中,??是自然對數的底數(約等于 2.71828),x是神經元的加權輸入總和。

2. 關鍵特性
- 輸出范圍 (0, 1):這是 Sigmoid 最顯著的特點。無論輸入??是多大或多小(從負無窮大到正無窮大),輸出值始終落在 0 到 1 之間。
- 非線性:Sigmoid 是一個非線性函數,使得神經網絡能夠學習和逼近復雜的非線性決策邊界。
- 平滑連續、可微:該函數處處可導,具有平滑的梯度。這對于基于梯度的優化算法(如反向傳播)至關重要,因為它允許平穩地計算和更新權重。
- 單調遞增:函數值隨著輸入值的增大而增大。
優點
- 概率解釋:由于輸出范圍在 0 到 1 之間,Sigmoid 函數的輸出可以被自然地解釋為概率。這使得它非常適合用于二元分類問題的輸出層。
- 歸一化:它可以將具有不同尺度或范圍的原始輸入值“擠壓”到一個標準化的范圍內。
缺點 (導致其在深層網絡中被 ReLU 取代的主要原因)
- 梯度消失問題 (Vanishing Gradient Problem):當輸入值
??非常大(接近 1)或非常小(接近 0)時,Sigmoid 函數的曲線變得非常平坦,即導數(梯度)接近于零。在深層網絡中進行反向傳播時,這些接近零的梯度在逐層傳遞過程中會不斷相乘,導致前幾層的梯度極其微小,使得網絡權重無法有效更新,學習過程停滯。

- 輸出非零中心化:Sigmoid 的輸出值都在 0 以上。這會導致在訓練過程中,權重更新的效率降低,使得模型收斂速度變慢。
- 指數運算耗時:Sigmoid 函數涉及指數運算,計算成本相對較高。
應用場景
- 二元分類輸出層:Sigmoid 函數最主要的現代用途是在處理二元分類任務時,作為輸出層的激活函數,用于輸出樣本屬于正向類別的概率。
- 循環神經網絡 (RNN/LSTM) 的門控機制:在 LSTM 等網絡結構中,Sigmoid 函數常被用作“門”(如遺忘門、輸入門)的激活函數,用于控制信息的流動(決定哪些信息應該保留,哪些應該忘記),因為它能提供一個 0 到 1 之間的權重或概率值。
在大多數現代深度神經網絡的隱藏層中,Sigmoid 函數已經被 ReLU(Rectified Linear Unit)或其變體(如 Leaky ReLU、ELU)所取代,以解決梯度消失問題并加速訓練。
浙公網安備 33010602011771號