深度學習 · 神經網路基礎

激活函數 Activation Functions

神經元的「開關」。沒有它,再深的網路也只是一條直線;有了它,網路才學得會彎彎曲曲的世界。

非線性ReLUSigmoidSoftmax梯度消失

💡一句話定義

激活函數= 加在每個神經元「加權求和」之後的一個非線性轉換,決定這個神經元要不要「發火」、以及發多強。它是讓神經網路能學習複雜、非線性關係的關鍵零件。

一個神經元先算 z = w·x + b(線性),再把 z 丟進激活函數 a = f(z)。前半段只能畫直線,真正讓網路「轉彎」的,是後面這個 f。

🚫為什麼一定要非線性?

假設把激活函數拿掉,讓每一層都只做線性運算,那麼多層疊起來會發生什麼事?

第 1 層:h₁ = W₁x + b₁
第 2 層:h₂ = W₂h₁ + b₂ = W₂(W₁x + b₁) + b₂
      = (W₂W₁)x + (W₂b₁+b₂) → 還是「一條」線性式!

不管疊幾層,線性 × 線性還是線性——整個深層網路會塌縮成一個單層線性模型,學不到 XOR、影像、語言這類彎曲的關係。加入非線性激活函數,每一層才真正「有作用」,網路才有表達力。這就是通用近似能成立的前提。

🔘用「開關」來想

把神經元想成一個帶門檻的開關:輸入訊號夠強才「打開」把訊號傳下去,不夠強就壓抑。Sigmoid 像可以慢慢轉的旋鈕(0~1 平滑過渡);ReLU 像單向閥(負的直接關成 0,正的原樣通過);Softmax 則像多選一的投票器,把幾個候選人的分數變成一組「加起來等於 100%」的機率。

🎮互動:三種激活函數

切換 Sigmoid / ReLU / Softmax,拖動滑桿改變輸入,看輸出怎麼變化。下方會同步顯示公式、特性與應用場景。

激活函數 (Activation Functions) 互動演示

📊常見激活函數對照表

函數公式輸出範圍重點特性 / 用在哪
Sigmoid1/(1+e⁻ˣ)(0, 1)平滑、可當機率;兩端飽和會梯度消失,非零中心。多用於二分類輸出
Tanh(eˣ−e⁻ˣ)/(eˣ+e⁻ˣ)(−1, 1)零中心、比 Sigmoid 好;一樣會兩端飽和。RNN 早期常見
ReLUmax(0, x)[0, ∞)計算快、正區間不飽和、緩解梯度消失。隱藏層預設;缺點是負區恆 0 會「死亡」
Leaky ReLUx>0 ? x : 0.01x(−∞, ∞)負區給一點斜率,緩解神經元死亡
GELUx·Φ(x)(≈0, ∞)平滑版 ReLU;Transformer / BERT / GPT 常用
Softmaxeᶻⱼ/Σeᶻᵏ(0, 1) 且和為 1把一組分數變機率分布。多分類輸出層、LLM 選下一個字
一句話:隱藏層先想 ReLU(或 GELU);輸出層看任務——二分類 Sigmoid、多分類 Softmax、迴歸不加(線性輸出)。

📉梯度消失:為什麼 ReLU 取代了 Sigmoid

Sigmoid、Tanh 在輸入很大或很小時會「飽和」——曲線變平,導數趨近於 0。反向傳播時梯度一層層相乘,這些接近 0 的數字連乘,會讓前面幾層幾乎收不到梯度、學不動,這就是梯度消失

ReLU 的解法:正區間導數恆為 1,梯度不會被壓縮,深層網路因此訓練得動。代價是負區間導數為 0,若一個神經元長期落在負區就「死亡」不再更新——Leaky ReLU、ELU、GELU 就是為了緩解這點。

🧭選型指南

🧱隱藏層
預設 ReLU;想更平滑或用在 Transformer 選 GELU;怕神經元死亡用 Leaky ReLU。
二分類輸出
Sigmoid,輸出一個 0~1 的機率。
🎯多分類輸出
Softmax,輸出各類機率、總和為 1。
📈迴歸輸出
通常不加激活(線性輸出),才能輸出任意實數。

自我檢測

Q1. 如果整個網路都不用激活函數,會怎樣?
不管疊幾層,線性疊線性還是線性,整個網路會塌縮成一個單層線性模型,學不到非線性關係(連 XOR 都學不會)。所以激活函數提供的「非線性」是網路表達力的關鍵。
Q2. 為什麼隱藏層現在多用 ReLU 而不是 Sigmoid?
Sigmoid 兩端飽和、導數趨近 0,反向傳播時梯度連乘會消失,深層難訓練。ReLU 正區間導數恆為 1、不飽和,且計算簡單,能緩解梯度消失、收斂快,成為隱藏層預設。
Q3. 二分類和多分類的輸出層各用什麼?
二分類用 Sigmoid(輸出一個機率);多分類用 Softmax(輸出每一類的機率,總和為 1)。迴歸則通常不加激活,直接線性輸出。
Q4. 什麼是「ReLU 神經元死亡」?怎麼緩解?
ReLU 負區間輸出與梯度都是 0,若一個神經元長期落在負區,就再也不會更新、等於「死掉」。用 Leaky ReLU(負區給小斜率)、ELU 或 GELU 可以緩解。

🎯重點整理

📝 iPAS 考點提醒

激活函數讓神經網路具備非線性表達力,是 iPAS 深度學習基礎(中級科目三)。重點:沒有激活函數,多層網路等同一層線性轉換、學不了複雜模式;常見有 ReLU、Sigmoid、Tanh。易混點:隱藏層多用 ReLU(緩解梯度消失、計算快)、二元輸出用 Sigmoid、多分類輸出用 Softmax,別放錯位置。情境:選錯激活函數會導致梯度消失或訓練停滯。

想練情境題與詳解 → AI 學習與考證地圖

❓ 常見問題

為什麼需要激活函數?

提供非線性。若沒有,多層線性疊加仍等於一個線性模型、學不到複雜關係;激活函數讓網路具備表達力。

常見的激活函數有哪些?

Sigmoid、Tanh、ReLU 與其變體(Leaky ReLU、ELU、GELU)、輸出用的 Softmax,各有適用場景。

為什麼 ReLU 這麼流行?

計算簡單、正區間梯度為 1 不飽和、緩解梯度消失、收斂快,成為隱藏層的預設選擇。

Sigmoid 與 Tanh 的問題?

兩端飽和、梯度趨近 0(梯度消失),深層難訓練;Sigmoid 輸出非零中心,現多用於特定輸出而非深層隱藏層。

輸出層該用什麼?

二分類用 Sigmoid(機率)、多分類用 Softmax(各類機率和為 1)、迴歸通常不加激活(線性輸出)。

🧭 相關主題

← 返回 AI 學習與考證地圖