用語集

オーバーフィット

機械学習におけるオーバーフィッティングを特定、防止、対処する方法を学ぶ。モデルの汎化と実世界のパフォーマンスを向上させるテクニックを発見します。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

機械学習(ML)におけるオーバーフィッティングは、モデルが学習データをうまく学習しすぎて、根本的なパターンの代わりにノイズやランダムな揺らぎを捉えてしまう場合に起こる。これは、訓練データセットでは優れた性能を発揮するが、新しい未知のデータへの汎化がうまくいかないことにつながる。本質的に、モデルは複雑になりすぎ、トレーニング例に特化して調整されるようになり、概念を理解するのではなく、答えを暗記するようなものだ。これはAIモデルをトレーニングする際によくある課題であり、特に物体検出や 画像セグメンテーションのようなタスクにUltralytics YOLO 使用されているニューラルネットワークのような複雑なアルゴリズムではよくあることだ。

オーバーフィッティングを理解する

過剰適合は、MLモデルが訓練データ上の誤差を最小化することを目的としているために生じる。モデルが過剰な複雑さ(例えば、ディープラーニングモデルではパラメータやレイヤーが多すぎる)を持っている場合、トレーニングセットに存在するランダムなノイズでさえもフィットしてしまう可能性がある。このノイズは真の基本パターンを表しておらず、新しいデータセットに存在する可能性は低い。ある特定の日に、その人の正確なサイズに合わせて完璧にスーツを仕立てたとしよう。MLでは、訓練データでのこの「完璧なフィット」は、柔軟性に欠け、実世界のデータでのパフォーマンスが悪くなる。

逆の問題はアンダーフィットで、モデルが単純すぎてデータの根本的な構造を捉えることができない。アンダーフィットのモデルは、学習が十分でないため、トレーニングデータでも新しいデータでもパフォーマンスが低下する。目標は最適なバランスを見つけることであり、しばしばバイアスと分散のトレードオフの文脈で議論される。高い分散はオーバーフィッティングの特徴であり、高いバイアスはアンダーフィッティングの特徴である。このトレードオフの概念を理解することは、モデル開発において非常に重要です。

オーバーフィットの実例

  • 医療画像解析:MRIスキャンで腫瘍を検出するような、医療画像解析用にトレーニングされたモデルを考えてみよう。学習データが主に単一のMRIスキャナー・モデルから得られたものである場合、AIはその機械の特定の画像特性(ノイズ・パターンや解像度など)に過剰適合する可能性がある。異なるスキャナーからのスキャンや低画質の画像が提示された場合、一般的な腫瘍の特徴ではなく、機械特有のアーチファクトを学習するため、性能が著しく低下する可能性がある。データセットのバイアスはこの問題を悪化させる可能性がある。
  • 自律走行車: 自律走行車に使用される物体検出モデルは、晴天時に撮影された画像で重点的にトレーニングされるかもしれない。このモデルは、同様のテストデータでは高い精度を達成するが、大雨、霧、夜間などの悪条件下では、歩行者、自転車、その他の車両を確実に検出できない可能性がある。このモデルは、さまざまな条件下における物体のロバストで一般的な特徴を学習する代わりに、トレーニング環境の特定の視覚的手がかり(例えば、硬い影や明るい照明)に過剰に適合してしまう。COCOや Argoverseのようなデータセットを使用することで、多様なトレーニングデータを確保することができます。

オーバーフィッティングの特定

オーバーフィッティングは、通常、訓練データセットと別の検証データセットにおけるモデルの性能を比較することで特定される。

  • パフォーマンス指標: accuracyprecisionrecallF1-scoreのようなメトリクスを監視する。検証メトリクスが停滞または悪化する一方で、トレーニングメトリクスが改善し続ける場合、モデルはオーバーフィッティングしている可能性が高い。損失関数の値は通常、トレーニングセットでは大幅に減少しますが、検証セットでは増加または停滞します。評価のために、さまざまなYOLO パフォーマンス・メトリクスを調べることができます。
  • 学習曲線:訓練セットと検証セットの両方について、モデルのパフォーマンス(損失や精度など)をエポックにわたってプロットすると、視覚的な洞察が得られます。トレーニングカーブ(向上)と検証カーブ(停滞または劣化)の間のギャップが広がることは、オーバーフィッティングの典型的な兆候です。学習曲線の可視化は、この診断に役立ちます。

オーバーフィッティングの防止

いくつかのテクニックは、オーバーフィッティングを緩和し、モデルの汎化を改善するのに役立つ:

  • クロスバリデーション K-Foldクロスバリデーションのような技術は、訓練と検証のためにデータの異なるサブセットを使用し、未知のデータに対するモデルの性能のよりロバストな推定を提供します。
  • データの増強回転、スケーリング、トリミング、カラーシフトなどの変換を適用することで、トレーニングデータセットのサイズと多様性を人工的に増加させます。Ultralytics YOLO データ増強技術は、堅牢性を向上させるために組み込まれています。
  • 正則化モデルの複雑さ(重みの大きさなど)に基づいて損失関数にペナルティを加えること。一般的な手法にはL1正則化とL2正則化があり、大きな重みを抑制する。L1正則化とL2正則化についてもっと読む。
  • 早期停止:トレーニング中に検証データセット上でのモデルのパフォーマンスを監視し、検証パフォーマンスが低下し始めたときにトレーニングプロセスを停止することで、モデルが後のエポックでノイズを学習するのを防ぐ。Kerasの早期停止の説明を参照。
  • ドロップアウト学習中、ニューロンの活性をランダムにゼロにする。これにより、ネットワークはどのニューロンにも依存しない、よりロバストな特徴を学習する。ドロップアウトの概念についてはこちらで詳しく説明している
  • モデルの刈り込み学習されたニューラルネットワーク内の重要度の低いパラメータや接続を削除することで、パフォーマンスに大きな影響を与えることなく複雑さを軽減します。Neural Magic プルーニングのためのツールを提供します。
  • モデル・アーキテクチャを単純化する:より複雑でないモデル(例えば、より少ないレイヤーやパラメー ター)を使うことで、特にデータセットが小さい場合、オーバーフィッ ティングを防ぐことができる。これは、YOLOv8n YOLOv8x比較するように、より小さなモデルのバリエーションを選択することを含むかもしれない。
  • データを増やす:高品質なトレーニングデータの量を増やすことは、一般化を改善し、オーバーフィッティングを減らす最も効果的な方法の1つです。様々なUltralytics データセットをご覧ください。

オーバーフィッティングを理解し対処することで、開発者はより信頼性が高く効果的なAIモデルを構築することができます。Ultralytics HUBのようなツールは、実験追跡とモデル評価を支援し、モデル開発のライフサイクルにおけるオーバーフィッティングの検出と緩和を支援します。

すべて読む