Yolo 深圳
深セン
今すぐ参加
用語集

エポック

機械学習におけるエポックについて学びましょう。エポックがモデルのトレーニングにどのような影響を与え、オーバーフィッティングを防ぎ、Ultralytics YOLOパフォーマンスを最適化するのか。

人工知能(AI)モデルのトレーニング 人工知能(AI)モデルの学習において エポックとは、学習アルゴリズムを通して学習データセット全体を1回完全に通過させることを指す。これは の学習における基本的な時間単位である。 ニューラルネットワーク(NN)の学習における基本的な時間単位であり、モデル モデルは、提供されたデータのすべてのサンプルから学習する機会を1回だけ得たことになる。ディープラーニング モデルは、データを1回見ただけでは最適な性能に達することはほとんどないため、通常、学習には次のようなプロセスが含まれる。 エラーを最小化し、内部パラメータを洗練させるために、何度もエポックにわたってこのプロセスを繰り返す。

時間をかけて学ぶことのメカニズム

エポック中の主な目的は、入力を正しい出力に対応させるためにモデルの重みを調整することである。 モデルの重みを調整することである。 に正確に対応させることである。この過程で 最適化アルゴリズム、例えば確率的 勾配降下SGD)などの最適化アルゴリズムが、特定の損失関数を用いて誤差を計算し、モデルの内部状態を更新します。 を用いて誤差を計算し、モデルの内部状態を更新する。

データセットには複雑なバリエーションやノイズが含まれているため、シングルパス学習では不十分なことが多い。複数の エポックを複数回実行することで、モデルは画像分類やセグメンテーションのようなタスクを実行する能力を反復的に向上させる。 画像の分類やセグメンテーションのようなタスクを実行する能力を向上させる。この 反復的な改良により、ネットワークは学習データからパターンを一般化することができる。 単に特定の例を記憶するのではなく を一般化することができる。ディープラーニングフレームワーク PyTorchTensorFlowは組み込みの これらのサイクルで学習ループを制御するメカニズムが組み込まれている。

エポック vs. バッチ vs. イテレーション

トレーニング・ループの効率的な機能を理解するためには、初心者が混同しがちな3つの密接に関連した用語を区別することが重要である。 初心者が混同しがちな用語である:

  • エポック:データセット全体をネットワークに1回通すプロセス。
  • バッチサイズ:モデルが重みを更新するまでに処理するサンプル数。膨大なデータセットを一度にメモリにロードすることは 一度にメモリに読み込むことは不可能な場合が多いので、データはバッチと呼ばれる小さなグループに分けられる。
  • 反復:モデルが1つのバッチを処理し、重みを調整するためにバックプロパゲーションを実行する。 バックプロパゲーションで重みを調整する。

例えば、10,000画像のデータセットがあり、バッチサイズを100に設定した場合、1エポックを完了するのに100回の繰り返しが必要です。 を要します。

最適なエポック数の決定

適切なエポック数を選択することは、ハイパーパラメータチューニングの重要な側面である。 ある。訓練サイクル数が少なすぎたり または多すぎるサイクルのトレーニングは、最適なパフォーマンスを発揮できない可能性がある。

  1. アンダーフィッティング:モデルの学習エポック数が少なすぎると、データの根底にある論理を捉えることができず、結果として学習セットとテストセットの両方のパフォーマンスが低下する。 学習セットとテストセットの両方でパフォーマンスが低下する。
  2. オーバーフィッティング:訓練が長く続くと、モデルはノイズや訓練セットの特定の詳細を記憶し始める可能性がある。 を記憶し始める可能性がある。トレーニングの精度が上がる一方で 低下します。

このような問題を軽減するために、エンジニアはしばしば 使うことが多い。 このテクニックは、指定された総エポック数に関係なく、検証損失が改善しなくなった時点でトレーニングを停止する。のような可視化ツールは TensorBoardのような可視化ツールは、これらのメトリクスをリアルタイムで監視するために頻繁に使用される。 リアルタイムで

実際のアプリケーション

エポックという概念は、様々な機械学習(ML)領域において普遍的なものである。 機械学習(ML)ドメインに普遍的である。

  • 自律走行自律走行車の開発には 自律走行車の開発には 自律走行車の開発には、何百万もの街頭シーンを含む膨大なデータセットで訓練されたロバストな物体検出モデルが必要です。このようなモデルは YOLO11のようなモデルは、多様な気象条件下で歩行者や交通標識を確実に識別できるようにするため YOLO11のようなモデルは、様々な気象条件下で歩行者や交通標識を確実に識別できるように、数百エポックにわたって訓練される。大規模な訓練により システムが高い 平均精度(mAP) 配備されます。
  • 農業モニタリング:精密農業では 精密農業では、ドローンはコンピューター・ビジョンを使って ビジョンを使って作物の健康状態を監視する。農業のデータセットは小さく、あるいは非常に特殊である可能性があるため、研究者は次のようなことを行うかもしれない。 移項学習を使用し エポック数を減らして、事前に訓練したモデルを微調整する。 データセットを人為的に拡張し、オーバーフィッティングを防ぐため データセットを人為的に拡大し、オーバーフィッティングを防ぐためである。

コード例エポックを使ったトレーニング

を使用する場合 ultralytics ライブラリを使えば、エポック数の指定は簡単だ。エポック数は train() メソッドは epochs 引数を指定する。 引数を指定します。

from ultralytics import YOLO

# Load the YOLO11 model (recommended for latest performance)
model = YOLO("yolo11n.pt")

# Train the model for 50 epochs on the COCO8 dataset
# The 'epochs' argument defines the total passes through the data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

このスニペットは、モデルが "coco8 "データセットの理解を50回洗練させるトレーニング実行を開始する方法を示している。 "coco8 "データセットの理解を50回精緻化します。将来の進歩のために、Ultralytics 現在 YOLO26を開発中である。 2025年後半を予定している。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加