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

過学習

機械学習における過学習を特定、防止、および対処する方法について学びます。モデルの汎化性能と実世界でのパフォーマンスを向上させるためのテクニックを発見してください。

オーバーフィッティングは 機械学習(ML)において、モデルが学習データの特定の詳細やノイズを 学習データの特定の詳細やノイズを 新しいデータに対する性能に悪影響を与える程度まで学習してしまう。基本的に、モデルは学習 般化に必要な基本パターンを学習するのではなく 記憶する。 その結果 その結果、開発時には高い精度を達成しても、実 その結果、開発時には高い精度を達成できても、実世界のシナリオに展開したときに信頼できる予測を提供できないシステムになってしまうのです。

現象を理解する

教師あり学習の文脈では、目標は テストデータとして知られる未知の入力に対してうまく機能するモデルを作成することである。 モデルを作成することである。オーバーフィッティングは通常、モデルが利用可能なデータ量に対して複雑すぎる場合に起こります。 一般的にオーバーフィッティングは、モデルが利用可能なデータ量に対して複雑すぎる場合に起こります。このような このようなモデルは、データセット中のランダムな揺らぎや「ノイズ」を、あたかも重要な特徴であるかのように拾い上げてしまいます。これは ディープラーニング(DL)の中心的な課題である、 開発者は、複雑さと柔軟性のバランスを取る必要がある。 バイアスと分散のトレードオフ

実世界の例

オーバーフィッティングは、用途によっては深刻な結果をもたらす可能性がある:

  • 自律走行車自律走行車のビジョンシステムを考えてみよう 自律走行車用の視覚システムを考えてみよう。 晴天時に撮影された高速道路の画像のみで訓練された自律走行車用のビジョン・システムを考えてみよう。このモデルは、このような特定の照明条件や路面の質感に過剰に適合する可能性がある。 道路テクスチャに過剰適合する可能性があります。その結果 その結果、雨に遭遇したときに正確な物体検出ができない可能性がある、 その結果、雨や影、都市環境に遭遇したときに正確な物体検出ができなくなり、安全上のリスクをもたらす可能性があります。
  • 医療診断医療診断 ヘルスケアにおけるAIでは、X線写真の病理を識別するためにモデルを学習させることができる。 X線写真の病理を識別するために学習される。データセットが単一の病院から得られたものである場合、モデルはその病院の画像診断機器特有のアーチファクトに過剰適合する可能性がある。 アーティファクトに過剰適合する可能性がある。これを 別の施設の医療画像分析に適用すると 別の施設の医療画像解析に適用すると、病気の生物学的特徴ではなく機器のノイズを学習してしまうため、モデルの性能が著しく低下する可能性があります。 病気の生物学的特徴ではなく、機器のノイズを学習してしまうからです。

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

開発detect 通常 監視することでオーバーフィッティングを検出する。明確な指標は 明確な指標は 検証データの損失が増加し始めるときだ。これに対処するために に対抗するために、いくつかのテクニックが採用されている:

  • データの増強:これは、訓練セットの多様性を人為的に増やすことである。回転や反転のような 回転や反転のようなランダムな変換を適用する、 モデルによる正確なピクセルの配置の記憶を防ぐ。 ピクセルの正確な配置を記憶することを防ぎます。
  • 正則化:L1/L2正則化やドロップアウト層の追加などの方法は、複雑すぎるモデルにペナルティを与える。 ドロップアウト層のような方法は、過度に複雑なモデルにペナルティを与える。 を学習させる。 学習させる。 特徴を学習させる。
  • 早期停止:このテクニックは、検証メトリックが改善しなくなった時点で学習プロセスを停止する。 を停止させ、後のエポックでモデルがノイズを学習するのを防ぐ。 エポックでのノイズ学習を防ぐ。

過学習 vs. 学習不足

この概念をアンダーフィットと区別することは重要である。 区別することが重要である。オーバーフィッティングは、モデルが複雑すぎて アンダーフィッティングは、モデルが単純すぎてデータの根本的な傾向を捉えることができない(バイアスが高い)場合に起こります。 アンダーフィッティングは、モデルが単純すぎてデータの根本的な傾向を捉えることができない(バイアスが大きい)場合に発生します。両者とも予測性能が低い しかし、その理由は正反対です。最適なモデルを達成するには、この2つの両極端の間をナビゲートする必要があります。

実践的な実施

のような近代的な図書館がある。 ultralytics は、予防戦略の実施を簡素化する。例えば ユーザーは簡単に 早期停止 とドロップアウト トレーニング YOLO11 モデルである。

from ultralytics import YOLO

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

# Train with 'patience' for early stopping and 'dropout' for regularization
# This helps the model generalize better to new images
results = model.train(
    data="coco8.yaml",
    epochs=100,
    patience=10,  # Stop if validation loss doesn't improve for 10 epochs
    dropout=0.1,  # Randomly drop 10% of units to prevent co-adaptation
)

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

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

今すぐ参加