你練習考題時,會不會想知道自己把整份講義看完幾次才算夠? 你可以把訓練輪次想成,模型把整個訓練資料集完整看過一遍的次數。 它其實就是模型完成一次全資料掃描的單位,跟批次大小、迭代次數和學習率一起影響訓練效果。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
Epoch vs Iteration Epoch 是把整份資料看完一次,Iteration 是處理一個批次的更新步驟。
Epoch vs Batch Size Batch size 是一次餵多少資料,Epoch 是整份資料被看過幾輪。
Epoch vs Step Step 常常和 iteration 類似,指一次參數更新,不是完整看完資料集。
最關鍵的區別: Epoch 看「整體看了幾輪」,Iteration 和 Step 看「中間更新了幾次」。
記住這句就好
一輪是全資料看完一次,不是只跑一個批次。
實際案例
案例一:影像分類訓練 你把貓狗照片訓練 20 個 epoch,前幾輪準確率快速上升,後面開始變慢,這很正常。
案例二:早停法判斷 訓練到第 15 個 epoch 時,訓練集還在變好,但驗證集開始下滑,這通常是過擬合的訊號,應該考慮早停。
算法與應用
Epoch 數不是越大越好。太少,模型還沒學夠,容易欠擬合。太多,模型可能把訓練資料背太熟,開始過擬合。實務上常搭配驗證集、早停法和學習率調整,一起決定要訓練幾輪。
情境判斷
Q1(直覺題): 如果你把 10 萬筆資料切成 100 個批次,模型把這 100 個批次都跑完一次,這算幾個 Epoch?
→ 1 個 Epoch,因為整份資料已經完整看過一輪。
Q2(判斷題): 訓練集越跑越好,驗證集卻先升後降,這時候還要一直增加 Epoch 嗎?
→ 通常不要。這種情況多半是過擬合,應該考慮早停、正則化或調整資料與模型設定。
常見問題
如果模型在幾個 Epoch 後就達到很高的準確率,還需要繼續訓練嗎?
不一定,要看驗證集表現。如果驗證集還在變好,可以繼續;如果驗證集開始變差,就沒必要硬撐。
如何選擇合適的 Epoch 數量?
最穩的做法是看驗證損失和驗證準確率,搭配早停法,不要只靠經驗亂猜。
訓練輪次和世代(Generation)有什麼關係?
沒有直接關係。Epoch 是訓練資料被掃過的次數,Generation 通常是生成模型輸出內容時用的詞,意思不同。