エポック数とは、機械学習やディープラーニングのモデル訓練において、訓練データ全体を完全に1回学習し終える単位を指す数値です。全体のデータセットを何周させてパラメーターを最適化するかを表します。適切に設定することで予測精度の向上が期待できますが、大きすぎると過学習を招くため慎重な調整が求められます。
エポック数とは
エポック数とは、機械学習モデルの学習過程において、用意した全訓練データを何回繰り返して学習させたかを示す回数のことです。
詳しく解説
機械学習やディープラーニングでは、モデルにデータを一度見せるだけでは最適なパラメーターを獲得できません。そのため、訓練データを複数回反復して見せることで、勾配降下法などを用いて予測誤差を徐々に減らしていきます。この「全データを1周させる学習サイクル」の回数がエポック数です。エポック数を大きくすると学習が進んで損失が低下し精度が上がりますが、計算時間が長くなる傾向があります。
具体例・使われ方
たとえば、1000枚の画像データを使って識別モデルを訓練する場合、1000枚すべての画像を1回ずつ学習し終えると1エポック完了となります。エポック数を50に設定した場合は、その1000枚の画像を合計50周繰り返して学習を行うことを意味します。
似た用語との違い
エポック数は「全データセットの学習回数」を指しますが、混同されやすい概念にバッチサイズとイテレーション数があります。バッチサイズは1回のパラメーター更新で使用する小分けのデータ量を意味します。また、イテレーション数は全データセットを1周(1エポック)処理する間にパラメーターを更新した合計回数を指します。
注意点
エポック数を必要以上に大きく設定すると、訓練データに過剰に適合して未知データに対する性能が低下する過学習が発生します。逆に少なすぎると学習不足となります。検証データの精度や損失の推移を監視し、最適なタイミングで早期終了させるなどの調整が必要です。