深度學習知識地圖 · 基礎架構

損失函數

MSE, Cross-Entropy

在互動地圖中開啟 回深度學習知識地圖

觀念教學

模型要進步,得先知道自己「錯多少」。損失函數(Loss Function)就是那把尺:把預測值與真實值的差距量化成一個數字 — Loss 值,整個訓練就是想辦法讓它變小。

核心觀念

損失函數是模型優化的目標。訓練迴圈長這樣:模型預測 → 損失函數比對預測值與實際值的差距 → 反向傳播計算梯度 → 更新內部參數 → 再預測,反覆進行,直到 Loss 趨於穩定。訓練曲線上那條往下掉的線,就是它。

白話理解

射箭教練的兩種評分表:MSE 量「箭離靶心幾公分」,量的是數值差距;交叉熵量「你有多不相信正確答案」,量的是機率差距。任務不同,評分表就不同 — 拿分類的尺去量回歸,模型會練歪。

兩大經典與使用守則

  • MSE(Mean Squared Error,均方誤差):回歸任務用。白話公式:誤差平方後取平均;平方會放大離譜的錯,逼模型別犯大錯。房價、氣溫、銷量這類數值預測都是它
  • Cross-Entropy(交叉熵):分類任務用;模型給正確類別的機率越低,罰得越重。搭配 Sigmoid 或 Softmax 輸出使用
  • 對應是鐵律:回歸 → MSE(或 MAE);分類 → Cross-Entropy
  • Loss 是給機器看的優化目標;準確率等指標才是給人看的成績單
  • 訓練 Loss 持續下降、驗證 Loss 回升 = 過擬合警訊
🎯 口訣:回歸量距離用 MSE,分類量機率用交叉熵。

iPAS 考點

兩個真實考向。一、直球題:「預測房價(數值)該用哪種損失函數」→ MSE,判斷關鍵字是連續數值預測。二、敘述題:「持續比對預測值與實際值之間的差距,並透過一套機制逐步調整模型內部參數,直到結果趨於穩定」→ 講的正是損失函數搭配梯度下降的訓練機制;陷阱選項會塞激活函數、資料前處理,認明「比對差距+逐步調參」兩個動作就能鎖定。

📝 本節掛載 2 題 iPAS 歷屆試題 — 讀完往下到「iPAS 考題練習」直接實戰。

應用場景

模型優化目標分類/回歸誤差衡量

評估指標

Loss 值

iPAS 歷屆考題詳解(6 題)

先自行作答,再展開詳解。題目出處均為 iPAS AI 應用規劃師正式考題,著作權屬原主辦單位。

第四梯次初級AI應用規劃師第一科人工智慧基礎概論 第19題

在訓練機器學習模型時,若任務為預測房價(數值),應選用下列哪一種損失函數(Loss Function)來衡量預測誤差?

  1. A均方誤差(MSE)
  2. B交叉熵損失(Cross-Entropy Loss)
  3. CHinge 損失(Hinge Loss)
  4. DKL 散度(Kullback-Leibler Divergence)
看正解與逐選項詳解

正解:A

正確答案:(A) 【正解解析】 房價預測的輸出是連續數值,屬迴歸任務。均方誤差(MSE)計算「預測值減實際值」的平方平均,能直接量化數值誤差;平方項對大誤差施以更重的懲罰,促使模型避免離譜的預測,且梯度與誤差大小成正比,學習訊號明確,是迴歸任務最標準的損失函數。 【為何其他選項錯了?】 - (B):交叉熵損失衡量預測機率分布與真實類別分布的差異,適用於分類任務;房價是連續數值而非類別機率,無法以交叉熵定義誤差。 - (C):Hinge 損失是支援向量機(SVM)這類最大間隔分類器的損失函數,懲罰落在分類邊界附近的錯分樣本,針對的是分類問題,不適用於連續數值預測。 - (D):KL 散度衡量兩個機率分布之間的差異,常用於生成模型或分布擬合等場景;房價預測輸出單一數值,並非機率分布的比較問題。 提示:任務型態決定損失函數:迴歸用 MSE/MAE,分類用交叉熵,SVM 用 Hinge,分布比較用 KL 散度。
115年第二次初級AI應用規劃師第一科人工智慧基礎概論 第36題

小明剛加入一間電商公司擔任 AI 專案的業務窗口,在與技術團隊的交接會議中,工程師說明模型訓練時,會持續比對預測值與實際值之間的差距,並透過一套機制逐步調整模型內部參數,直到預測結果趨於穩定為止。請問工程師敘述的是深度學習中哪個元件的功能?

  1. A優化器(Optimizer);
  2. B資料前處理模組;
  3. C模型架構;
  4. D激活函數(Activation Function)
看正解與逐選項詳解

正解:A

正確答案:(A) 【正解解析】 題幹描述「持續比對預測值與實際值之間的差距,並透過一套機制逐步調整模型內部參數,直到預測結果趨於穩定」。其中比對差距由損失函數量化,而依據損失計算出的梯度、逐步更新模型參數的元件,正是優化器(Optimizer),常見如 SGD、Adam。優化器決定每一步參數更新的方向與幅度,使損失逐漸下降、模型收斂到較好的狀態。 【為何其他選項錯了?】 - (B):資料前處理模組負責清理、轉換與正規化輸入資料,屬訓練前的作業,不參與依誤差更新參數的迴圈。 - (C):模型架構定義層數與連接方式,決定模型的表達能力,不負責參數的更新規則。 - (D):激活函數提供非線性轉換,影響訊號的前向傳遞,本身不是調整權重的機制。 提示:「根據誤差逐步調整參數」對應優化器;損失函數負責量化誤差,優化器負責執行更新。
114年第二梯次中級AI應用規劃師第一科人工智慧技術應用與規劃 第47題

某金融科技公司導入多任務學習架構,讓單一 Transformer 模型同時執行OCR(Optical Character Recognition)後的文檔分類以及命名實體辨識(Named Entity Recognition, NER)任務,以協助自動歸檔與抽取關鍵金融資訊。在部署初期,團隊發現當模型的NER準確率(Accuracy)提升時,文檔分類準確率反而下降。若模型架構正確且資料品質良好,下列哪一項最可能是造成此現象的原因?

  1. A模型架構無法同時支援文字分類與序列標註任務(Sequence Labeling)
  2. B文檔分類任務不需要語意化表徵(Contextualized Representation)
  3. C損失函數(Loss Function)未進行權重平衡,導致任務間競爭
  4. D所使用的 BERT模型無法支援多任務輸出頭(Multi-Head Outputs)
看正解與逐選項詳解

正解:C

正確答案:(C) 【正解解析】 多任務學習(Multi-task Learning)中,各任務共享同一套模型參數,總損失通常是各任務損失的加權和。若損失函數(Loss Function)未做權重平衡,量級較大或梯度較強的任務(此例的 NER)會主導參數更新方向,擠壓另一個任務的學習空間,出現一個進步、一個退步的此消彼長現象,也就是任務間競爭。解法包括手動調整損失權重、不確定性加權(Uncertainty Weighting)、GradNorm 或 PCGrad 等梯度調和技術。 【為何其他選項錯了?】 - (A):Transformer 共享編碼器加多個輸出頭,同時做分類與序列標註(Sequence Labeling)是成熟作法;題目也明說架構正確,此選項與前提矛盾。 - (B):文檔分類同樣仰賴語意化表徵(Contextualized Representation),說它不需要是明顯錯誤的敘述。 - (D):BERT 完全支援多任務輸出頭(Multi-Head Outputs),一個共享編碼器接多個輸出頭是標準設計。 提示:多任務中一個任務進步、另一個退步,是損失權重失衡的典型訊號;先做損失加權平衡或梯度調和。
115年第一次中級AI應用規劃師第三科機器學習技術與應用 第2題

某工程師在建立房價預測模型時,訓練資料中存在少數豪宅(成交價超過一般物件10倍以上)。若工程師希望模型對這些極端高價物件的預測誤差更敏感,並在訓練時產生較大的梯度更新影響,應優先選擇下列哪種損失函數?

  1. A平均絕對誤差(MAE):對誤差進行線性懲罰,對離群值較不敏感,梯度近似固定
  2. BHuber 損失(Huber Loss):小誤差採平方懲罰,大誤差轉為線性懲罰,以降低離群值影響
  3. C均方誤差(MSE):對誤差進行平方處理,使大誤差產生更大的懲罰與梯度
  4. D交叉熵損失(Cross-Entropy Loss):用於分類問題的機率分布差異衡量
看正解與逐選項詳解

正解:C

正確答案:(C) 【正解解析】 MSE 對誤差取平方,誤差越大、懲罰呈平方放大(誤差 10 倍、懲罰 100 倍),且反向傳播的梯度與誤差大小成正比,因此極端高價豪宅這類大誤差樣本會主導梯度更新。題目明確要求「對極端高價物件的預測誤差更敏感、訓練時產生較大梯度影響」,正對應 MSE 對離群值敏感的特性——此特性在多數場景被視為缺點,本題的需求恰好要利用它。 【為何其他選項錯了?】 - (A):MAE 對誤差線性懲罰、梯度大小近似固定(只反映正負方向),對離群值最不敏感,與題目需求完全相反。 - (B):Huber 損失的設計初衷就是「小誤差用平方、大誤差改線性」以降低離群值影響;選用它等於刻意壓低豪宅樣本對梯度的影響,與題目要求相反。 - (D):交叉熵是衡量機率分布差異的分類損失函數,房價預測是迴歸任務,並不適用。 提示:要放大離群值影響選 MSE;要抵抗離群值選 MAE 或 Huber;分類問題才使用交叉熵。
115年第一次中級AI應用規劃師第三科機器學習技術與應用 第10題

某工程師同時開發兩個模型:一個預測使用者「隔日 App使用時長(分鐘)」,另一個預測使用者「隔日是否流失(是/否)」。關於上述兩個任務,他應分別選擇哪種適當的損失函數?

  1. A使用時長預測:均方誤差(MSE);流失預測:二元交叉熵(Binary Cross- Entropy)
  2. B使用時長預測:交叉熵損失(Cross-Entropy);流失預測:均方誤差(MSE)
  3. C使用時長預測:Hinge 損失(Hinge Loss);流失預測:MAE(平均絕對誤差)
  4. D兩個任務均使用交叉熵損失,因為兩者的輸出都有不確定性
看正解與逐選項詳解

正解:A

正確答案:(A) 【正解解析】 「隔日 App 使用時長(分鐘)」是連續數值,屬迴歸任務,均方誤差(MSE)是標準選擇;「隔日是否流失(是/否)」是二元分類,二元交叉熵(Binary Cross-Entropy)衡量預測機率與真實標籤的差異,是標準配置。損失函數必須依任務型態選擇,這是建模的基本原則。 【為何其他選項錯了?】 - (B):兩者剛好對調。交叉熵要求輸出是機率分布,用於擬合「幾分鐘」的連續數值並無意義;MSE 用在分類上則梯度性質差、學習訊號弱。 - (C):Hinge Loss 是 SVM 的分類損失,不能用於時長迴歸;MAE 是迴歸損失,不適合流失與否的二元分類——兩個任務的損失都放錯位置。 - (D):「輸出有不確定性」不是使用交叉熵的理由;迴歸任務的輸出不是機率分布,交叉熵無法定義。 提示:迴歸對應 MSE/MAE;二元分類對應 BCE;多類單標籤對應 Categorical CE。任務型態決定損失函數。
115年第一次中級AI應用規劃師第三科機器學習技術與應用 第20題

工程師在 PyTorch 中建構貓、狗、鳥三分類 CNN,並使用交叉熵損失函數(CrossEntropyLoss)作為訓練目標。由於此損失函數在內部已包含 Softmax 計算,輸出層的設計需特別注意。請問輸出層的激活函數(Activation Function)與輸出維度應如何設定?

  1. A使用 ReLU 作為激活函數,輸出維度設為 1,直接輸出單一數值作為預測結果;
  2. B使用 Sigmoid 作為激活函數,輸出維度設為 3,使每個類別獨立輸出 0到1的機率
  3. C不使用任何激活函數,直接輸出未經正規化的 logits,輸出維度設為 3 對應三個類別
  4. D使用 Softmax 作為激活函數,輸出維度設為 3,輸出為已正規化的機率分布
看正解與逐選項詳解

正解:C

正確答案:(C) 【正解解析】 PyTorch 的 nn.CrossEntropyLoss 內部等於 LogSoftmax 加 NLLLoss,它期望的輸入是「未經正規化的 logits」。因此輸出層設 3 個神經元(對應貓、狗、鳥)、不加任何激活函數,直接把 logits 交給損失函數;推論階段若需要機率,再另外套用一層 Softmax 即可。 【為何其他選項錯了?】 - (A):三分類的輸出維度必須是 3,輸出單一數值無法表達三個類別的分數;ReLU 也無法產生類別機率所需的形式。 - (B):Sigmoid 搭配各類別獨立輸出 0~1 是「多標籤分類」(搭配 BCE)的設定;貓、狗、鳥三選一是互斥的單標籤問題,需要的是一個機率分布,而非三個獨立的二元輸出。 - (D):輸出層先做 Softmax 再輸入 CrossEntropyLoss,等於 Softmax 被計算兩次:梯度被壓縮、數值不穩定,訓練效果反而變差。 提示:PyTorch 的 CrossEntropyLoss 內含 Softmax——訓練時輸入 logits,推論需要機率時再套用 Softmax。

相關節點