機械学習におけるエポックについて学びましょう。エポックがモデル学習に与える影響、オーバーフィッティングの防止、Ultralytics YOLO 。
機械学習(ML)、特にディープラーニング(DL)モデルの学習において、エポックは学習データセット全体を1回完全に通過することを表す。これは、モデルがすべての学習例を1回見て学習する完全なサイクルを意味する基本的な概念だ。通常、トレーニングには複数のエポックが含まれ、モデルは内部パラメーター(モデルの重み)を反復的に改良し、トレーニング対象のタスクのパフォーマンスを向上させることができる。
モデル学習中、データセットはメモリの制約上、一度に処理するには大きすぎるのが普通だ。そのため、バッチと呼ばれる小さな塊に分割される。モデルは一度に1つのバッチを処理し、誤差(損失)を計算し、勾配降下のような最適化アルゴリズムを使って重みを更新する。エポックは、モデルが訓練データセット全体をカバーするすべてのバッチを処理した後に完了する。このプロセスを複数のエポックにわたって繰り返すことで、モデルはデータ内の複雑なパターンや関係をより効果的に学習することができる。
エポックを関連用語と区別することは重要だ:
学習データセットが10,000サンプルでバッチサイズが100の場合、1エポックは100回の反復で構成される(10,000サンプル/バッチあたり100サンプル)。
複数回のエポックにわたってモデルをトレーニングすることは、収束、つまりモデルの性能が最適または最適に近い安定した状態に達するために極めて重要である。各エポックはモデルにデータ・パターンから学習するチャンスを与える。しかし、エポック数は重要なハイパーパラメータである。
トレーニング中に別の検証セットでパフォーマンスメトリクスを監視することで、最適なエポック数を決定することができます。多くの場合、検証のパフォーマンスが向上しなくなったときにトレーニングを停止する早期停止などのテクニックを使用します。
エポックはMLにおける反復学習の要であり、オーバーフィッティングのリスクに対して、データに十分に触れる必要性のバランスをとる。多くの場合、注意深い実験とモニタリングを通じて適切なエポック数を選択することが、効果的なモデルを構築する鍵となる。Google 機械学習用語集などのリソースでより多くの定義を見つけることができます。