首頁 / 學習筆記 / 中級科目三 / 數值優化技術與方法

iPAS AI中級中級科目三⚙️ 機器學習核心
📖 學習筆記・中級科目三

CH3.3 數值優化技術與方法

數值優化技術與方法

🧭 本節架構

模型訓練 = 數值優化問題(目標函數、決策變數、可行域、凸性/可導性)→ 損失函數設計決定學習方向與風險偏好 → 優化演算法(梯度下降及其變形:SGD、Momentum、Adagrad、RMSprop、Adam)依梯度資訊更新參數 → 收斂判準與穩定訓練策略(學習率調整、早停法、梯度裁剪、批次正規化)確保訓練不發散、不過擬合。

1. 模型訓練即數值優化問題

「訓練模型」本質上就是一個數值優化問題(Numerical Optimization Problem):不論是調整線性模型權重、深度神經網路數千萬個連接係數,或強化式學習中尋找最適策略,核心邏輯皆是找出一組能讓損失函數達到最小(或目標函數最大)的參數組合。

2. 最佳化問題的基本構成要素

要素定義機器學習中的對應
目標函數(Objective Function)衡量模型輸出與實際答案偏差程度,也稱損失/成本函數迴歸:MSE;分類:交叉熵損失;排序:對比損失/排序損失
決策變數(Decision Variables)模型中可調整的數值參數線性模型的權重與偏差項;神經網路的權重/偏差;機率模型的條件機率表、潛在變數
可行域(Feasible Region)決策變數的合法範圍非負條件(NMF)、上下限限制、總和約束(機率分佈需為1)、稀疏性限制(L1 正則化)
函數性質:凸性與可導性決定求解難易度凸問題(線性/邏輯迴歸)可保證找到全域最佳解;非凸問題(神經網路)存在多個局部最小值與鞍點
🎯 核心觀念

若目標函數是凸函數,從任一初始點持續往下降的方向走,最終一定能找到全域最佳解;神經網路等非凸問題則需依賴適當初始化、動量機制與調整策略才能取得良好解。

3. 損失函數:學習過程的導航器

損失函數(Loss Function)不僅是誤差的量化工具,更體現學習目標的策略偏好與風險容忍度,其設計決定模型如何看待不同型態的錯誤(如假陽性 vs 假陰性的權重差異)。

任務類型常見損失函數特點
迴歸任務均方誤差(MSE)放大較大誤差的懲罰,適合誤差穩定的情況
迴歸任務平均絕對誤差(MAE)對極端值較不敏感,適用含異常值資料
迴歸任務Huber 損失結合 MSE 與 MAE 優點,兼顧穩定性與抗雜訊
分類任務交叉熵損失(Cross-Entropy)衡量預測機率分佈與實際標籤分佈差距,多數分類模型標準選擇
分類任務Focal Loss強化難分類樣本學習,適合資料不平衡問題
排序/重建任務排序損失、重建損失關注相對順序或輸入輸出相似度,用於推薦系統、自編碼器
⚠️ 易錯點

不當選擇損失函數(例如分類問題使用迴歸損失)會導致模型訓練無效,甚至完全無法收斂,損失函數的選型必須對應任務型態,不可隨意替換。

4. 優化演算法:梯度下降及其變形

優化演算法(Optimization Algorithm)負責判斷每次應往哪個方向移動、該移動多遠,以逐步接近最佳解。

(1) 基礎方法

方法概念特點適用情境
梯度下降法(Gradient Descent, GD)使用整個訓練集計算梯度並更新參數更新穩定、計算成本高、訓練速度慢小型資料集、高精度需求
隨機梯度下降(SGD)每次用一筆樣本估算梯度更新快、記憶體需求低,但梯度波動大、收斂不穩定大型資料集、線上學習
小批次梯度下降(Mini-batch SGD)每次用一批資料計算梯度在穩定性與效率間取得平衡深度學習最常見選擇,能與 GPU 高度結合

(2) 進階方法:學習率調整與收斂加速

優化器核心概念優點限制
動量法(Momentum)累積前幾次梯度方向,模仿物理慣性加速收斂並穩定學習,適合高曲率空間需調整動量係數
Adagrad依每個參數的歷史梯度大小自動調整學習率適合稀疏特徵或不均衡參數更新學習率隨時間過度衰減,可能導致收斂停止
RMSprop引入滑動平均,修正 Adagrad 學習率過快下降的問題穩定訓練,特別適合非穩定梯度(如 RNN)需調整衰減率
Adam(Adaptive Moment Estimation)結合動量與 RMSprop,追蹤梯度一階與二階動量訓練快速、收斂穩定,廣泛適用記憶體需求較高
🧠 記憶技巧

優化器演進口訣:「GD 太慢 → SGD 太抖 → Momentum 加慣性 → Adagrad/RMSprop 自動調學習率 → Adam 集大成」,依序理解各方法解決的痛點就能快速判斷考題。

5. 收斂判準與訓練穩定性

(1) 常見收斂判準

  • 損失函數變化趨緩(連續多次迭代變化幅度低於閾值 ε)
  • 驗證集效能不再提升(持續持平甚至下降,代表已達泛化能力上限)
  • 梯度趨近零(損失函數位於平坦區域)
  • 訓練步數或時間達上限(應搭配其他指標,避免尚未收斂即中止)

(2) 訓練不穩定的常見成因

學習率過高、初始權重設置不當、損失函數或資料分佈不連續、批次大小過小,都可能導致訓練震盪或發散。

(3) 常用穩定訓練策略

策略說明
學習率調整(Learning Rate Scheduling)隨訓練進行自動調降學習率(Step Decay、Cosine Annealing、ReduceLROnPlateau),避免後期更新過大
早停法(Early Stopping)驗證集效能連續多次未改善(如 5~10 個 epoch)即中止訓練,防止過擬合
梯度裁剪(Gradient Clipping)限制梯度最大值,避免發散或數值不穩定,常用於 RNN 或深層模型
批次正規化(Batch Normalization)在每層標準化中間輸出,穩定輸入分佈,提升收斂速度與穩定性

📝 章節考題自測(先作答,再點開解答)

Q1. 在梯度下降(Gradient Descent)中,「梯度」代表下列哪一項?

(A) 資料點個數 (B) 模型精確度 (C) 損失函數對參數的偏微分 (D) 模型計算速度

解答與解析

參考 Ans: (C) 梯度是損失函數相對於模型參數的導數,指引參數應往哪個方向調整以減少損失,梯度越大表示調整幅度應越大。

Q2. 以下哪一種優化方法會累積每個參數的歷史梯度大小,以調整學習率?

(A) Momentum (B) Adagrad (C) SGD (D) Batch Normalization

解答與解析

參考 Ans: (B) Adagrad 根據各參數歷史梯度平方和調整每個參數的學習率,對變動少的參數保留較高學習率,對變動大的參數降低學習率,適合稀疏特徵資料,但缺點是學習率會持續衰減。

Q3. 當深度學習模型在訓練時出現梯度爆炸現象,應優先採用哪種技術加以處理?

(A) 增大學習率 (B) 梯度裁剪(Gradient Clipping) (C) 減少資料量 (D) 刪除輸入特徵

解答與解析

參考 Ans: (B) 梯度裁剪能限制梯度的最大值,防止數值爆炸,特別適用於深度神經網路或 RNN 訓練,是處理梯度爆炸的首選技術。

Q4. Adam 優化器結合了下列哪兩種方法的優點?

(A) SGD 與 Batch Normalization (B) Momentum 與 RMSprop (C) Dropout 與 Early Stopping (D) Adagrad 與 SVM

解答與解析

參考 Ans: (B) Adam(Adaptive Moment Estimation)結合動量與 RMSprop,追蹤梯度的一階與二階動量,自動調整各參數的學習率,是目前最常用的深度學習優化器之一。

Q5. 一個目標函數若為凸函數(Convex Function),下列敘述何者正確?

(A) 必定無法求解 (B) 從任一初始點持續下降最終能找到全域最佳解 (C) 一定存在多個局部最小值 (D) 無法使用梯度下降法求解

解答與解析

參考 Ans: (B) 凸函數具有可預期、穩定的求解特性,從任一初始點開始只要持續往下降方向走,最終一定能找到全域最佳解,線性迴歸、邏輯迴歸皆屬凸問題。

Q6. 若在分類問題中誤用了迴歸任務常見的損失函數(如 MSE),最可能導致的結果是?

(A) 訓練效果更好 (B) 完全沒有影響 (C) 模型訓練無效甚至無法收斂 (D) 訓練速度大幅加快

解答與解析

參考 Ans: (C) 損失函數需對應任務型態設計,不當選擇損失函數(如分類問題使用迴歸損失)將導致模型訓練無效,甚至完全無法收斂,因為損失函數的梯度訊號無法正確反映分類任務的優化方向。

Q7. 下列何者是判斷模型訓練是否收斂的常見依據?

(A) 訓練資料的筆數 (B) 驗證集效能是否持續提升 (C) 使用者介面設計 (D) 資料視覺化工具種類

解答與解析

參考 Ans: (B) 若模型在驗證集上的準確率、F1 分數等指標持續持平甚至下降,代表模型可能已達到泛化能力上限,是常見的收斂判準之一,此時再繼續訓練反而可能導致過擬合。

Q8. 承第 7 題情境,此時最適合搭配下列哪一種訓練策略以避免過擬合?

(A) 提高學習率 (B) 增加批次大小至最大 (C) 早停法(Early Stopping) (D) 移除所有正則化項

解答與解析

參考 Ans: (C) 早停法在驗證集效能連續多次未改善時即中止訓練,可有效防止模型在無實質提升下持續學習而產生過擬合,常與學習率調整策略搭配使用。