🎯 重點一:最佳化問題的「三本柱」
要搞懂模型怎麼訓練,先掌握這三個專有名詞。
- 目標函數 (Objective Function) / 損失函數 (Loss Function):
白話文:衡量「模型預測值」跟「標準答案」差多少的指標。誤差越小越好! - 決策變數 (Decision Variables):
白話文:模型裡可以被調整的參數。在神經網路裡,就是常聽到的權重 (Weights) 與偏差值 (Biases)。 - 可行域 (Feasible Region):
白話文:參數可以合法走動的範圍。實務上為了避免模型太複雜,常會加上正規化(例如:L1 正規化會限制參數為 0 以產生稀疏性),這就是在限制可行域。
⚖️ 重點二:損失函數怎麼挑?
原則:任務類型決定損失函數
📌 迴歸任務 (預測連續數值,如房價)
- 均方誤差 (MSE):對「極端值 / 大誤差」非常敏感,會放大懲罰。
- 平均絕對誤差 (MAE):對離群值 (Outliers) 較不敏感,有抗雜訊能力,非常穩健。
- Huber Loss:MSE 與 MAE 的混血兒,兼具穩健與穩定性。
📌 分類任務 (預測類別,如貓狗辨識)
- 交叉熵 (Cross-Entropy):衡量「機率分佈」的差異,是分類任務的標配!
- Focal Loss:專門對付「資料不平衡」與「難以分類的樣本」。
🚀 重點三:優化器演化史
優化器 (Optimizer) 決定了模型更新參數的「方向」與「步伐大小(學習率)」。
1. 基礎打底:資料批次量的選擇
- GD (梯度下降):一次看完「所有」資料才更新一次參數。方向最準,但算得很慢。
- SGD (隨機梯度下降):一次只看「一筆」資料就更新。速度極快,但方向更新雜訊大、震盪較明顯。
- Mini-batch SGD (小批次):每次看「一小批」資料(如 32、64 筆)。目前業界與深度學習的最主流做法,平衡了速度與穩定性。
2. 進階外掛:動量 vs. 自適應
- 動量法 (Momentum) → 解決「方向」問題:
概念像物理學的慣性。如果連續幾次都往同一個方向走,就加速;遇到小坑(鞍點)也能靠慣性衝過去。 - Adagrad → 適合稀疏特徵,但有致命傷:
根據歷史更新頻率調整學習率。缺點是學習率會逐步下降,有「提早罷工(學習率歸零)」的致命傷。 - RMSprop ➡️ 解決了 Adagrad 提早罷工的問題:
引入滑動平均 (Moving Average),只記最近的歷史,解決學習率過早歸零的問題,適合非穩定問題 (如 RNN)。 - Adam ➡️ 目前最常見的王者:
簡單來說,Adam = Momentum + RMSprop。同時兼顧了方向的慣性與自適應的學習率,是目前深度學習最常用的優化器。
🛠️ 重點四:訓練不穩定怎麼辦?
- 狀況:損失值在谷底瘋狂震盪,無法收斂
解方:學習率調整 (Learning Rate Scheduling)。
隨著訓練時間推移,慢慢把學習率調小(就像車子快到站時要踩煞車)。 - 狀況:訓練集表現很好,但驗證集 (Validation) 表現越來越差
解方:提早停止 (Early Stopping)。
這是標準的「過擬合 (Overfitting)」,驗證集指標不再進步時,請果斷停止訓練。 - 狀況:梯度爆炸 (Gradient Exploding),出現 NaN 錯誤
解方:梯度裁剪 (Gradient Clipping)。
強制設定梯度的上限,最常運用在 RNN 等深層結構中。 - 狀況:各層網路輸入數據分佈不斷飄移,訓練很慢
解方:批次正規化 (Batch Normalization)。
在模型內部強制將數據標準化,能大幅加速收斂並提升穩定性。
透過預備 iPAS AI 應用規劃師 (中級) 考試,加強 AI 知識。
※ 內容參考 iPAS 官方學習指引,由 AI 整理產製
















