エポック(Epoch)とは、訓練データセット全体をモデルが1回通しで学習することを指す単位です。例えば、10エポック学習するということは、全訓練データを10回繰り返し学習することを意味します。
エポック数の決め方
適切なエポック数は、モデルの複雑さやデータセットの規模によって異なります。エポック数が少なすぎると未学習、多すぎると過学習が発生します。検証データの損失を監視し、過学習の兆候が現れたら学習を止める早期終了(Early Stopping)がよく用いられます。
| ひとことで言うと | 訓練データ全体を1回学習し終えたことを表す単位。 |
|---|---|
| どう決めるか | 検証データの損失が下がらなくなったところで止める(早期終了)。 |
| 注意点 | 多すぎると過学習、少なすぎると未学習。学習曲線を見て判断する。 |
エポック・バッチ・イテレーションの関係
1エポックは複数のイテレーション(反復)で構成されます。例えば、10,000件のデータをバッチサイズ100で学習する場合、1エポックは100イテレーションとなります。エポック×バッチ数=総イテレーション数という関係があります。
1訓練データ1000件全体のデータ
▶
2バッチに分ける100件ずつなら10個
▶
3バッチごとに更新10回パラメータ更新
▶
41エポック完了全データを1周
↺ 必要なエポック数だけ2〜4をくり返す