iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用

線性激活函數讓模型無法學複雜特徵,怎麼改?

原題 27

某智慧製造團隊在開發瑕疵影像偵測模型時,發現使用線性激活函數(Activation Function)後,模型的訓練準確率長期停滯,懷疑模型無法學習到足夠複雜的特徵表達。若要改善此問題,下列哪一項調整方案最為合適?

白話

一個智慧製造團隊的瑕疵影像偵測模型,使用了線性激活函數之後,訓練準確率一直無法提升。他們懷疑問題出在模型「沒辦法學到足夠複雜的特徵表達」。

問你:為了讓模型能學習更複雜的特徵,最合適的調整方案是哪一項?

點選你的答案。

01 總結

一句話總結

解決線性激活函數讓模型無法學習複雜特徵的問題,正確方案是:改用 ReLU(Rectified Linear Unit)激活函數,以引入非線性並提升模型表達能力——沒有非線性,不管疊多少層都只是一個線性變換,模型根本無法學習複雜模式。

02 情境

先感受問題:所有層加在一起還是直線

你是鴻海智慧製造廠的 AI 工程師,要訓練一個卷積神經網路偵測 PCB 電路板上的細微瑕疵(微短路、銅層剝落)。

你的網路有 5 層,但每層都用線性激活函數(f(x) = x)。跑了 100 個 Epoch,訓練準確率從 52% 爬到 57%,就再也上不去了。

問題出在哪?線性函數的數學告訴你:5 層線性層疊在一起,等於一層線性層。不管你疊多少層,整個網路最終等效於一個矩陣乘法。線性模型只能學直線(或超平面),但瑕疵的形狀、紋理、邊緣特徵都是高度非線性的——用直線去學曲線,當然學不了。

03 對照

線性激活函數的根本問題

  1. 疊層失效:線性函數的組合還是線性函數。5 層線性網路等效於 1 層,「深度」帶來的計算成本完全是浪費。
  2. 無法學習非線性決策邊界:現實問題(影像、語音、文字)的決策邊界幾乎都是非線性的。線性模型只能把特徵空間用一個超平面切開,無法捕捉複雜的類別分界。
  3. 表達能力上限固定:不管增加多少層、多少神經元,線性網路的表達能力都被限制在「線性空間」裡,本質上與邏輯迴歸(Logistic Regression 前的線性部分)相同。
  4. 梯度資訊無法有效傳播:線性函數的導數是常數,雖然不會梯度消失,但也無法讓不同層學到「不同層次的特徵」——每層學的都是同一件事的線性組合。
  5. 特徵階層無意義:深度學習的核心優勢是「特徵的層次抽象化」(低層學邊緣,高層學物體),但沒有非線性,這種層次結構根本無法形成。
04 解法

ReLU 怎麼解

鴻海工程師把所有層的激活函數從 f(x) = x 換成 ReLU(f(x) = max(0, x)):

  • 引入非線性:ReLU 在 x < 0 時輸出 0,在 x ≥ 0 時輸出 x。這個「折點」讓整個網路不再是一個線性變換,每一層都能學到真正不同的特徵組合。
  • 層次特徵有意義:第 1-2 層學像素級邊緣特徵;第 3-4 層組合邊緣成為形狀特徵;第 5 層整合形狀特徵識別瑕疵類型。
  • 梯度傳播順暢:ReLU 在正值區的導數是 1,不像 Sigmoid 在端點梯度接近 0。反向傳播時梯度能高效流動,深層網路也能正常訓練。
  • 計算簡單:只需判斷 x 正負,比 Sigmoid(需要 exp 運算)快得多,適合影像任務的大量神經元。

換成 ReLU 後,訓練準確率在 50 個 Epoch 內從 57% 爬到 93%。

這就是選項 D 講的:改用 ReLU(Rectified Linear Unit)激活函數,以引入非線性並提升模型表達能力

技術版:激活函數在深度學習中的位置

激活函數(Activation Function)是深度神經網路的核心元件,屬於深度學習架構設計的範疇。

在 AI 領域的位置:激活函數放在每個神經元的輸出端,決定這個神經元的輸出是否傳遞到下一層,以及如何傳遞。沒有非線性激活函數,深度學習的「深度」就沒有意義——多層感知器退化為單層線性模型。

常見激活函數比較:

  • Sigmoid(σ(x)):輸出 [0,1],常用於二分類輸出層,但深層網路中容易梯度消失(飽和區梯度接近 0)。
  • Tanh:輸出 [-1,1],比 Sigmoid 以零為中心,梯度問題略輕,但仍有飽和問題。
  • ReLU:f(x)=max(0,x),計算快、梯度不飽和(正值區),現代 CNN 的標準選擇。問題:「Dead ReLU」(神經元永久輸出 0)。
  • Leaky ReLU:負值區給一個小斜率(例如 0.01x),解決 Dead ReLU 問題。
  • GELU:近似平滑的 ReLU,Transformer 模型(BERT/GPT)的主流選擇。

為什麼出題者要考這題:激活函數的非線性是深度學習表達能力的根本來源。能理解「線性激活 = 模型表達能力受限」並選出 ReLU,代表掌握了深度學習最核心的一個設計原則。

05 陷阱

為什麼其他選項是錯的

A增加卷積層(Convolutional Layer)數量,使網路更深以強化特徵提取

字面在說什麼

更多卷積層意味著更深的網路,理論上能提取更高層次的特徵。

為什麼不對

如果激活函數還是線性的,加再多卷積層也沒用——線性函數的組合仍然是線性函數,整個網路等效於一個卷積層。必須先解決非線性問題,增加層數才有意義。題目的根本問題是「線性激活函數」,解決根本問題優先於增加層數。

誰會選錯

聽說「深度學習就要很深」就直覺想加層的人,沒有先分析瓶頸在哪裡(激活函數的線性問題)。

B將輸入影像先進行灰階化處理,降低運算量

字面在說什麼

把 RGB 三通道的彩色影像轉成單通道灰階,減少輸入資料量,讓計算更快。

為什麼不對

灰階化能降低計算量,但完全沒有解決「模型無法學習複雜特徵表達」的問題。而且,對於瑕疵偵測來說,灰階化可能還會丟失顏色資訊(例如銅氧化的顏色變化),反而降低準確率。這個選項是在優化計算速度,不是在解決模型表達能力的問題。

誰會選錯

把「準確率停滯」誤解成「計算資源不夠,需要加速」的人。題目明確說問題是「無法學習足夠複雜的特徵」,不是計算太慢。

C使用 Sigmoid 激活函數,以將輸出壓縮至 [0,1] 範圍

字面在說什麼

Sigmoid 確實是非線性函數,能引入非線性,而且輸出在 [0,1] 可以解釋為機率。

為什麼不對

Sigmoid 雖然是非線性的,但在深層 CNN 中用 Sigmoid 作為隱藏層激活函數是反模式。原因:(1)梯度消失問題嚴重:Sigmoid 在 x > 2 或 x < -2 時梯度接近 0,深層網路反向傳播時梯度幾乎無法傳到底層;(2)計算慢:需要 exp 運算,遠比 ReLU 慢;(3)輸出不以零為中心,對梯度更新不利。Sigmoid 只適合用在二分類的最後輸出層,不適合隱藏層。

誰會選錯

知道 Sigmoid 是非線性函數,但不了解它在深層 CNN 隱藏層中有梯度消失問題的人。ReLU 之所以取代 Sigmoid 成為標準,正是因為在深層網路中 Sigmoid 的梯度問題太嚴重。

06 變形

同個考點下次怎麼變形

變形 1

ReLU 的「Dead ReLU」問題是什麼?怎麼解決?

直覺

ReLU 對負值輸出 0,如果某個神經元的輸入永遠是負值,它就永遠輸出 0,相當於「死掉了」。

答案

Dead ReLU:當一個神經元的加權輸入在所有訓練樣本上都是負值,其梯度為 0,參數永遠無法更新,這個神經元就「死亡」了。解法:(1)Leaky ReLU:對負值給 0.01x 而非 0;(2)ELU(Exponential Linear Unit):負值區用平滑指數曲線;(3)適當的學習率和參數初始化,避免一開始就讓神經元進入負值區;(4)Batch Normalization:讓每層輸入分佈更穩定。

變形 2

輸出層要用什麼激活函數?

直覺

輸出層的激活函數取決於任務類型,不是一律用 ReLU。

答案

二分類:Sigmoid(輸出 [0,1] 機率);多分類:Softmax(輸出各類別機率,總和為 1);迴歸:線性(無激活函數,輸出任意實數);多標籤分類:Sigmoid(每個輸出獨立的 [0,1] 機率)。隱藏層通常用 ReLU 或其變體(Leaky ReLU、GELU);輸出層根據任務選擇。

變形 3

為什麼說「沒有激活函數,深度學習就等於線性迴歸」?

直覺

神經網路有幾百萬個參數,怎麼可能和簡單的線性迴歸是一樣的?

答案

因為線性函數的組合仍是線性函數:假設每層是 y = Wx,兩層就是 y = W2(W1x) = (W2W1)x,等效於一個矩陣 W = W2W1。不管疊幾層,最終都能合并成一個矩陣乘法,等效於一個線性模型。激活函數打破了這個數學規律,讓多層網路能表達比線性模型更豐富的函數類。

變形 4

Transformer 為什麼用 GELU 而不是 ReLU?

直覺

BERT、GPT 等 Transformer 模型都用 GELU,這和 CNN 用 ReLU 有什麼不同?

答案

GELU(Gaussian Error Linear Unit)是 ReLU 的平滑版本,在 x=0 附近有連續平滑的過渡(ReLU 在 0 有尖角)。在 Transformer 架構中,平滑的梯度有助於訓練穩定性,特別是在大規模預訓練時。經驗上 GELU 在 NLP 任務上略優於 ReLU,而 ReLU 在 CNN 影像任務上仍然是主流。

變形 5

如果模型換了 ReLU 後仍然停滯,下一步要查什麼?

直覺

換了 ReLU 還是不好,說明可能有其他問題。

答案

依序檢查:(1)學習率是否合適(太大震盪、太小不收斂);(2)權重初始化是否恰當(應用 He 初始化配合 ReLU);(3)是否有 Batch Normalization(穩定每層輸入分佈);(4)訓練資料是否足夠多樣(資料擴增);(5)模型架構是否適合這個任務(瑕疵偵測可能需要 ResNet 或 EfficientNet 等特定架構)。

07 延伸

想再往下看,這 5 個

出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二梯次 iPAS AI 應用規劃師 中級 科目三 機器學習技術與應用 第 27 題

查看官方原文 PDF