用語集

時代

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

機械学習(ML)では、エポックは学習アルゴリズムを通して学習データセット全体を1回完全に通過することを表す。これはニューラルネットワーク(NN)を学習する反復プロセスにおける基本的な概念であり、モデルはデータから繰り返し例を見て学習する。エポック数は、モデルが訓練情報の全セットから何回学習するかを決定する重要なパラメータであり、モデルの最終的な性能と品質に直接影響します。

モデルトレーニングにおけるエポックの役割

モデル学習の主な目的は、モデルがデータからパターンを学習できるようにすることである。これは、モデルの重みとして知られるモデルの内部パラメータを調整して、損失関数を最小化することで達成される。損失関数は、モデルの予測と実際のグランドトゥルースとの誤差を定量化する。1回のエポックの間に、モデルはすべてのデータサンプルを処理し、確率的勾配降下(SGD)のような最適化アルゴリズムがこれらの重みを更新する。

モデルを複数のエポックにわたってトレーニングすることで、そのパラメータを繰り返し改良することができる。回数を重ねるごとに、理論的には、画像分類であれ物体検出であれ、モデルはそのタスクにおいてより優れたものになるはずだ。このプロセスは、PyTorchや TensorFlowなどの一般的なディープラーニングフレームワークを使用して管理される。

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

関連はあるが、これらの用語はトレーニングプロセスの異なる側面を表しており、しばしば混同される。

  • エポック:モデルが全トレーニングデータセットを見た完全な1サイクル。
  • バッチサイズ:1回の反復で使用するトレーニングサンプルの数。メモリの制約上、データセット全体を一度に処理するのは現実的でないことが多い。
  • 反復:モデルの重みの1回の更新。反復は、データの1バッチを処理し、フォワードパスとバックワードパス(バックプロパゲーション)を実行する。

例えば、データセットに10,000枚の画像があり、バッチサイズが100の場合、1エポックは100回の反復で構成される(10,000枚の画像÷バッチあたり100枚の画像)。

適切なエポック数の決定

適切なエポック数を選択することは、ハイパーパラメータ・チューニングの重要な部分である。これには、2つのよくある問題を避けるためのバランスを見つけることが含まれる:

オーバーフィッティングに対抗するための一般的なテクニックは早期停止であり、検証セットでのモデルのパフォーマンスが向上しなくなった時点で学習を停止する。学習の進捗は、TensorBoardのようなツールや、Ultralytics HUBのようなプラットフォームを使って監視することができます。

実例

エポックという概念は、ディープラーニングのアプリケーションでは普遍的なものだ。

  1. 自律走行自律走行車の 物体検出モデルは、Argoverseのような巨大なデータセットで学習される。Ultralytics YOLO11のようなモデルは、50~100エポック学習される。各エポックの後、平均平均精度(mAP)のようなメトリクスを使用して、検証セットでのパフォーマンスが測定される。エンジニアは、展開前に、速度と精度の最高のバランスを提供するエポックからモデルを選択します。

  2. 医療画像解析脳スキャンにおける腫瘍検出モデルを、特殊な医療画像データセットで学習する。このようなデータセットは小さいため、モデルは数百エポック学習される。オーバーフィッティングを防ぐために、データ増強のような技術が使用され、各エポック後に検証損失が注意深く監視される。これにより、最終的なモデルが新しい患者からのスキャンに対して良好に一般化されることが保証される。このような重要なアプリケーションで成功するためには、確立されたモデルトレーニングのコツに従うことが重要である。

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

AIの未来に参加しませんか。世界のイノベーターとつながり、協力し、成長する

今すぐ参加する
クリップボードにコピーされたリンク