快速回答
Overfitting(過擬合)是機器學習中最常見的問題之一:模型在訓練資料上表現很好,但碰到新的、沒見過的資料就失靈。白話說,就是 AI 把考古題「背下來」了,但並沒有真正學會解題方法。
白話解釋
想像一個準備考試的學生:
| 狀態 | 考古題表現 | 新題表現 | 類比 |
|---|---|---|---|
| Underfitting(欠擬合) | 很差 | 很差 | 完全沒念書 |
| Good Fit(適配) | 很好 | 也很好 | 理解觀念,融會貫通 |
| Overfitting(過擬合) | 滿分 | 很差 | 只背考古題答案 |
為什麼會 Overfitting?
- 資料太少:就像只做了 3 張考卷就去考試
- 模型太複雜:用神經網路解簡單的加法問題
- 訓練太久:模型開始記住雜訊和異常值
- 特徵太多:把不相關的資訊也當成重要特徵
- 資料品質差:訓練資料有錯誤標記或雜訊
如何偵測 Overfitting?
最明確的信號:訓練集準確度 98%,測試集準確度只有 72%——差距越大,Overfitting 越嚴重。
- 學習曲線:畫出訓練誤差和驗證誤差隨訓練時間的變化,當驗證誤差開始上升而訓練誤差繼續下降,就是 Overfitting 的起點
- 交叉驗證:用 K-Fold 交叉驗證,檢查不同切分下表現是否一致
- Holdout 測試:保留一部分資料完全不用於訓練,最終用來評估
解決方法
| 方法 | 原理 | 適用場景 |
|---|---|---|
| 增加資料量 | 更多資料 → 更難死背 | 資料取得成本低時 |
| Data Augmentation | 用翻轉、旋轉等增加訓練資料 | 圖像、文字 |
| Dropout | 隨機關閉部分神經元 | 神經網路 |
| 正則化(L1/L2) | 限制模型參數大小 | 所有模型 |
| Early Stopping | 在驗證誤差開始上升時停止 | 所有訓練 |
| 減少模型複雜度 | 用更簡單的模型 | 資料量少時 |
| LoRA | 只微調少量參數 | LLM Fine-tuning |
LLM 的 Overfitting 風險
LLM 在 Fine-tuning 時特別容易 Overfitting,因為微調資料量通常遠小於預訓練資料量。這就是為什麼:
- LoRA 等高效方法這麼流行——限制可訓練參數天然防止 Overfitting
- Fine-tuning 的 epoch 數通常很小(1-3 輪)
- 需要仔細設計驗證集來監控 Overfitting
安全提醒:Overfitting 的模型更容易被對抗攻擊欺騙。因為它學會的是訓練資料的表面模式而非深層規律,攻擊者可以精心設計輸入來利用這些脆弱的模式。在安全關鍵應用中,務必確保模型不過擬合。
常見問題 FAQ
Overfitting 和 Underfitting 有什麼不同?
Overfitting 是模型太複雜、學了太多雜訊;Underfitting 是模型太簡單、連基本規律都沒學到。
怎麼知道模型有沒有 Overfitting?
訓練集準確度高但測試集準確度低。差距越大,Overfitting 越嚴重。
資料越多就越不會 Overfitting 嗎?
通常是,但資料品質比數量更重要。模型結構也要適當。
LLM 也會 Overfitting 嗎?
會。Fine-tuning 時特別容易,因為微調資料量遠小於預訓練資料。LoRA 等方法可降低風險。
Dropout 是什麼?
訓練時隨機關閉部分神經元,迫使模型不過度依賴任何一個特徵。是最常用的正則化技術。
過擬合和 AI 安全有什麼關係?
過擬合的模型更容易被對抗攻擊欺騙,在安全關鍵應用中務必避免。