詳細解釋
訓練週期(Epoch)是整個訓練數據集通過神經網絡一次的前向和反向傳播過程,是多輪訓練的基本單位,與迭代(Iteration)不同。
術語區別:
- Epoch:整個數據集一遍
- Iteration/Step:一個批次的前向+反向
- 關係:1 Epoch = 數據集大小 / Batch Size 個 Iterations
示例:
- 數據集:10,000樣本
- 批次大小:32
- 則:1 Epoch = 10,000/32 ≈ 313 Iterations
訓練過程:
- 多個Epoch:通常數十到數百個
- 損失下降:每個Epoch損失通常降低
- 驗證評估:每N個Epoch評估驗證集
- 早停:驗證損失不再改善時停止
Epoch數量選擇:
- 太少:欠擬合,未充分學習
- 太多:過擬合,記住訓練數據
- 合適:驗證損失最小化
- 經驗:通常10-1000,取決於數據和模型
Epoch vs Iterations:
- Epoch:宏觀進度
- Iteration:微觀更新
- 日誌:通常記錄Iteration級別
- 學習率調度:可按Epoch或Iteration
訓練動態:
- 早期Epoch:快速學習,損失下降快
- 中期Epoch:微調,損失下降慢
- 後期Epoch:可能過擬合,驗證損失上升
與其他概念的關係:
- Early-stopping:基於Epoch的停止決策
- Learning-rate-scheduler:按Epoch調整學習率
- Batch-size:影響每Epoch的Iteration數
可視化:
- 損失曲線:橫軸通常是Epoch
- 學習曲線:訓練/驗證隨Epoch的變化
- 診斷:判斷欠擬合/過擬合
Epoch是組織和衡量訓練過程的基本單位。