機械学習におけるエポックとは何か、それがモデルトレーニングにどのように影響するかを学びます。最適化を探求し、過学習を回避し、Ultralytics YOLO26を簡単にトレーニングしてください。
エポックとは、機械学習アルゴリズムが トレーニングデータセット全体を完全に一巡することを指します。このプロセス中、モデルはデータ内の各サンプルに基づいて内部パラメータを正確に一度更新する機会を得ます。 ディープラーニングの文脈では、 ニューラルネットワークが複雑なパターンを効果的に学習するには、1回のパスではほとんど不十分です。そのため、トレーニングは通常、複数回のエポックを伴い、学習アルゴリズムが理解を反復的に洗練させ、予測と実際のグラウンドトゥルースとの間の誤差を最小限に抑えることを可能にします。
トレーニングの主な目標は、特定のモデルの重みを調整して、特定の損失関数を最小化することです。stochastic gradient descent (SGD)やAdam optimizerなどの最適化アルゴリズムは、各エポック中に計算された誤差を使用してこれらの調整をガイドします。エポック数が増加するにつれて、モデルは一般的に高い誤差の状態(ランダムな推測)から低い誤差の状態(学習されたパターン)へと移行します。
しかし、エポックの正しい数を選択することは、ハイパーパラメータチューニングの重要な側面です。
初心者が「エポック」を関連用語と混同することはよくあります。これらの概念の階層を理解することは、トレーニングループを正しく設定するために不可欠です。
必要となるエポック数は、タスクの複雑さとデータのサイズによって大きく異なります。
Ultralytics YOLOのような最新のフレームワークを使用する場合、エポック数を定義することは、トレーニングコマンドにおける簡単な引数です。Ultralytics Platformのようなツールは、各エポックでの損失曲線を視覚化し、最適な停止点を特定するのに役立ちます。
以下の例は、YOLO26モデルをトレーニングする際のエポック数を設定する方法を示しています。
from ultralytics import YOLO
# Load the YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Train the model for 50 epochs
# The 'epochs' argument determines how many times the model sees the entire dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
このスニペットでは epochs=50 引数は、トレーニングエンジンに〜を循環するように指示します。
coco8.yaml データセットを50回個別に処理します。各サイクル中に、モデルは実行します。
順伝播 そして
バックプロパゲーション そのdetect能力を洗練するため。

未来の機械学習で、新たな一歩を踏み出しましょう。