機械学習におけるエポックについて学びましょう。エポックがモデルのトレーニングにどのように影響し、過学習を防ぎ、Ultralytics YOLOでパフォーマンスを最適化するかについて学びます。
機械学習(ML)において、エポックとは、学習アルゴリズムを通してトレーニングデータセット全体を1回完全に通過させることを表します。これは、モデルがデータからの例を繰り返し見ることで学習する、ニューラルネットワーク(NN)のトレーニングの反復プロセスにおける基本的な概念です。エポック数は、モデルがトレーニング情報のフルセットから何回学習するかを決定する重要なパラメータであり、モデルの最終的なパフォーマンスと品質に直接影響します。
モデルトレーニングの主な目標は、モデルがデータからパターンを学習できるようにすることです。これは、モデルのモデルの重みとして知られる内部パラメータを調整して、モデルの予測と実際の正解との間の誤差を定量化する損失関数を最小化することによって実現されます。単一のエポック中に、モデルはすべてのデータサンプルを処理し、確率的勾配降下法(SGD)のような最適化アルゴリズムがこれらの重みを更新します。
モデルを複数のエポックでトレーニングすることで、パラメータを反復的に調整できます。パスごとに、モデルは、画像分類であろうと物体検出であろうと、理論的にはタスクの実行が向上するはずです。このプロセスは、PyTorchやTensorFlowなどの一般的な深層学習フレームワークを使用して管理されます。
これらの用語は関連していますが、学習プロセスの異なる側面を記述しており、混同されることがよくあります。
例えば、データセットに10,000枚の画像があり、バッチサイズが100の場合、1エポックは100回のイテレーション(10,000枚の画像 / 1バッチあたり100枚の画像)で構成されます。
適切なエポック数を選択することは、ハイパーパラメータ調整の重要な要素です。一般的な2つの問題を避けるために、バランスを見つける必要があります。
過学習に対抗するための一般的な手法は、早期打ち切りです。これは、検証セットでのモデルのパフォーマンスが向上しなくなった時点でトレーニングを停止するものです。進捗状況は、TensorBoardなどのツールを使用するか、Ultralytics HUBなどのプラットフォームを介して監視できます。これにより、エポックにわたるトレーニング指標を視覚化できます。
エポックの概念は、深層学習アプリケーションにおいて普遍的です。
自動運転: 自動運転車向けの物体検出モデルは、Argoverseのような大規模なデータセットでトレーニングされます。Ultralytics YOLO11などのモデルは、50〜100エポックの間トレーニングされる場合があります。各エポックの後、平均適合率(mAP)などのメトリクスを使用して、検証セットでのパフォーマンスが測定されます。エンジニアは、デプロイメント前に、速度と精度の最適なバランスを提供するエポックからモデルを選択します。
医用画像解析:脳スキャンにおける腫瘍検出のためのモデルは、特殊な医用画像データセットでトレーニングされます。このようなデータセットは小さい場合があるため、モデルは数百エポックにわたってトレーニングされることがあります。過剰適合を防ぐために、データ拡張などの手法が使用され、各エポック後に検証損失が綿密に監視されます。これにより、最終的なモデルが新しい患者のスキャンに対して適切に汎化されることが保証されます。このような重要なアプリケーションで成功するためには、確立されたモデルトレーニングのヒントに従うことが不可欠です。