AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》
18/100 第二週:多層感知器 MLP
18.早停法與模型保存 🛑 避免過度訓練,保留最好版本!
________________________________________
✅ 核心概念:
神經網路訓練越久不一定越好,太早停 = 還沒學會,太晚停 = 開始記住雜訊 → 過擬合!
📌 早停法(Early Stopping)能在模型效能停止進步時自動中斷訓練,
📌 模型保存(Checkpoint)能在最佳時刻儲存權重,避免白費好結果。
🎯 目標是:找出驗證集表現最好的模型版本,並及時保留!
________________________________________
🧠 什麼是「早停」?
早停(Early Stopping)是一種監控驗證集表現(如 accuracy、loss),當連續 N 次 epoch 沒有改善,就自動停止訓練的策略。
📌 典型流程:
1. 訓練進行中,監控驗證集 loss(或 accuracy)
2. 若「連續 N 輪沒改善」 → 停止訓練
3. 通常搭配 模型儲存(Checkpoints) 保留最佳版本
________________________________________
🛠 TensorFlow 實作範例:
python
from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint
# 儲存模型最佳權重
checkpoint_cb = ModelCheckpoint("best_model.h5",
save_best_only=True,
monitor="val_loss")
# 設定早停
earlystop_cb = EarlyStopping(patience=5, restore_best_weights=True)
# 加入 callbacks
model.fit(x_train, y_train,
validation_split=0.2,
epochs=100,
callbacks=[earlystop_cb, checkpoint_cb])
在深度學習訓練中,**早停(EarlyStopping)與模型檢查點(ModelCheckpoint)**是常用的技巧。早停能在驗證集表現連續數個回合未改善時自動停止訓練,避免過度擬合並節省時間;而模型檢查點則會在訓練過程中自動保存驗證效果最佳的權重,確保最終使用的模型表現最優。這樣的設計讓我們不用手動監控訓練過程,就能保留最佳結果並提升整體訓練效率。
________________________________________
🔁 常見參數說明:
patience: 容忍幾個 epoch 沒有進步才停止(常設為 3~10)
monitor: 監控目標,可選 "val_loss" 或 "val_accuracy"
restore_best_weights: 訓練結束時,自動還原最佳模型權重
save_best_only: 是否僅儲存最佳模型
________________________________________
🔍 模型保存的重要性
即使沒有早停,保存模型權重也是實務中的基本功:
python
# 儲存整個模型(架構+權重)
model.save("final_model.h5")
# 讀取模型
from tensorflow.keras.models import load_model
model = load_model("final_model.h5")
📦 模型保存能:
• 快速部署與載入
• 節省重訓時間
• 支援跨平台(雲端部署、行動端轉換)
________________________________________
📊 為何要早停 + 儲存?
問題 解法
訓練過久 → 過擬合 ✅ 使用 EarlyStopping
最佳模型被覆蓋 ✅ 使用 ModelCheckpoint
訓練波動無法掌握進度 ✅ 自動偵測最佳時間點停訓
模型訓練耗費大量時間 ✅ 中途停止並重複利用最佳模型
________________________________________
🧠 實務建議與技巧
• patience=5~10 是較穩健的設置
• 可同時監控 val_loss 與 val_accuracy,交叉觀察
• 訓練前期「震盪」是正常,後期才要啟動 early stop 判斷
• 使用 restore_best_weights=True 很關鍵,否則最後一輪結果可能不是最佳
________________________________________
🎯 小結與啟示:
✅ 深度學習不只是訓練模型,更是「知道何時該停」
✅ 提早中斷、保留最佳,是 AI 訓練實戰的成熟策略
✅ 模型儲存與載入功能 = 跨任務、跨平台、跨時間的知識延續