iPAS 備考專區 登入

iPAS AI 應用規劃師 中級 科目一 AI 技術應用與規劃・114 年第二次・L21・第 8 題

Softmax 和 Max-Pooling 差在哪?

原題

關於 Softmax 與 Max-Pooling,下列敘述何者正確?

白話

問你:關於 Softmax 與 Max-Pooling,下列哪一個描述正確?

一句話總結

Softmax 把所有輸入值轉換成「加起來等於 1 的比例」,保留所有資訊;Max-Pooling 則只取一個區域裡最大的那個值,其他值直接丟掉。兩者目的和位置完全不同。

情境

先感受問題:投票和找冠軍是兩回事

「識影 AI」是一家做影像辨識服務的公司,他們的模型要辨識照片裡是貓、狗、還是鳥。

模型最後一層輸出三個分數:貓 = 3.2,狗 = 1.5,鳥 = 0.8。

問題來了:這三個數字要怎麼變成「機率」?這就是 Softmax 的任務。

Softmax 的做法:把三個數字都轉成 0 到 1 之間的值,而且三個加起來 = 1。

結果可能是:貓 72%、狗 23%、鳥 5%。

注意:三個類別都還在,只是換成比例而已。

那 Max-Pooling 呢?它出現在模型更前面的地方,任務是「壓縮特徵圖(Feature Map)」。

想像特徵圖是一張 4x4 的格子,Max-Pooling 把它切成四個 2x2 的小區塊,每個區塊只留下最大的值,其他三個值直接丟棄,結果變成一張 2x2 的小格子。

所以,Softmax 保留了所有類別的資訊(只是換成比例),Max-Pooling 直接丟棄了大量資訊(只留最大值)。

舊方法

如果把 Softmax 和 Max-Pooling 的位置搞混,會發生什麼事?

  1. 模型輸出沒有機率意義:如果最後一層用 Max-Pooling,只會輸出「最大值是誰」,但不知道其他類別的相對可能性,無法做「我有 60% 把握是貓」這種軟性判斷。
  2. 梯度無法回傳到所有神經元:Max-Pooling 對非最大值的梯度為 0,如果用在分類輸出層,大量神經元的梯度永遠是 0,訓練很容易死掉。
  3. Softmax 用在特徵層會讓特徵失去尺度:Softmax 輸出加總 = 1,如果用在中間特徵層,所有特徵的「強度資訊」會消失,只剩相對比例,後面的層就沒辦法判斷特徵有多強。
  4. 分類輸出無法接損失函數:神經網路訓練需要 Softmax 輸出接 Cross-Entropy Loss,如果輸出不是機率分佈,Loss 計算就沒有意義。
  5. 語意上的混淆讓工程師寫錯架構:兩個都有「壓縮」的感覺,很容易搞混,但一個在 CNN 中間層壓空間維度,一個在最後一層壓輸出成機率,根本不同位置、不同目的。

新方法

記住:Softmax 是「比例轉換」,Max-Pooling 是「丟棄保留最大」

識影 AI 的 CNN 模型架構是這樣的:

輸入影像 → 卷積層 → Max-Pooling 層(每個 2x2 區域留最大值,壓縮空間大小)→ 更多卷積層 → ... → 全連接層 → Softmax 層(把分數轉成機率)→ 輸出「貓 72%、狗 23%、鳥 5%」

Max-Pooling 的行為:把特徵圖某個 2x2 區域的四個值 [3, 1, 2, 4] → 只留下 4,其他丟掉。資訊有損失,但保留了「這個區域最顯著的特徵」。

Softmax 的行為:把最後三個分數 [3.2, 1.5, 0.8] → 全部保留,轉成 [0.72, 0.23, 0.05]。資訊沒有丟失(三個類別都還在),只是換成機率比例。

這就是選項 C 講的:Softmax 會保留所有輸入資訊,但以比例表示;Max-Pooling 只保留區域最大值。

錯選項

為什麼其他選項是錯的

A兩者都壓縮為單一最大值

字面在說什麼

Softmax 和 Max-Pooling 都把特徵壓縮成一個最大值。

為什麼不對

Softmax 的輸出數量和輸入一樣多(有幾個類別就輸出幾個機率),完全沒有壓縮成「單一值」。Max-Pooling 是每個區塊留一個最大值,但整體輸出仍是一個特徵圖(只是尺寸縮小),不是「單一最大值」。兩者都不符合這個描述。

誰會選錯

對兩個操作都沒有深入了解,看到 Softmax 有「max」字就以為它只取最大值的人。Softmax 裡的 max 其實指的是「讓最大的那個更突出」,而不是「只保留最大值」。

BMax-Pooling 進行機率分佈轉換

字面在說什麼

Max-Pooling 會把輸入轉換成機率分佈。

為什麼不對

Max-Pooling 只是取最大值,沒有任何機率的概念,輸出不會加總為 1,也不是機率。把「輸入轉成機率分佈」是 Softmax 的工作,選項 B 把兩個功能完全搞反了。

誰會選錯

把 Max-Pooling 和 Softmax 的功能對調的人。這種混淆很常見,因為兩個詞都在深度學習裡很常出現,容易在記憶時互換。

DSoftmax 降維,Max-Pooling 分類

字面在說什麼

Softmax 的主要目的是降低特徵維度,Max-Pooling 用於產生分類輸出。

為什麼不對

完全顛倒。Max-Pooling 才是做空間降維(減少特徵圖的高度和寬度),Softmax 是在最後一層做分類輸出(把 logit 轉成機率)。Softmax 不降維,Max-Pooling 不做分類。

誰會選錯

只記得「Softmax 輸出比例、Max-Pooling 取最大」但沒有把它們放在網路架構位置上思考的人。關鍵是記住:Max-Pooling 在 CNN 中間壓縮特徵圖,Softmax 在最後一層輸出機率。

變形題

同個考點下次怎麼變形

延伸

想再往下看,這 5 個

答案、題目或解析有問題?回報這題

出處:iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 8 題

看官方原文 PDF

原題 © 經濟部產業發展署,AITerms.tw 僅作教學解析使用,本站解析以 CC BY-NC-SA 4.0 授權。