ヨロビジョン深圳
深セン
今すぐ参加

コンピュータビジョンにおける過学習とは?その防止方法

Abdelrahman Elgendy

6 min read

2025年3月13日

コンピュータビジョンにおける過学習とは何か、また、データ拡張、正則化、および事前トレーニング済みモデルを使用して、それを防止する方法を学びます。

コンピュータビジョンモデルは、パターンを認識し、物体を検出し、画像を分析するように設計されています。ただし、その性能は、未知のデータに対してどれだけ汎化できるかに依存します。汎化とは、モデルがトレーニングに使用された画像だけでなく、新しい画像でもうまく機能する能力のことです。これらのモデルのトレーニングにおける一般的な問題は過学習であり、モデルが意味のあるパターンを識別する代わりに、不要なノイズを含むトレーニングデータから学習しすぎてしまうことです。

この場合、モデルはトレーニングデータではうまく機能しますが、新しい画像では苦戦します。たとえば、高解像度で明るい画像のみでトレーニングされた物体検出モデルは、実際の条件下でぼやけた画像や影のある画像が提示された場合に失敗する可能性があります。過学習はモデルの適応性を制限し、自動運転、医用画像処理、セキュリティシステムなどの実際のアプリケーションでの使用を制限します。

この記事では、過学習とは何か、なぜ起こるのか、そしてそれを防ぐ方法について解説します。また、Ultralytics YOLO11のようなコンピュータビジョンモデルが、過学習を軽減し、汎化性能を向上させるのにどのように役立つかについても見ていきます。

過学習とは?

過学習は、モデルが新しい入力に広く適用できるパターンを学習する代わりに、トレーニングデータを記憶することで発生します。モデルがトレーニングデータに集中しすぎるため、新しい画像や未経験の状況で苦戦します。

コンピュータビジョンでは、過学習はさまざまなタスクに影響を与える可能性があります。明るく鮮明な画像のみでトレーニングされた分類モデルは、暗い場所では苦労する可能性があります。完璧な画像から学習する物体検出モデルは、混雑した、または乱雑なシーンでは失敗する可能性があります。同様に、インスタンスセグメンテーションモデルは、制御された設定ではうまく機能する可能性がありますが、影や重なり合うオブジェクトでは問題が発生する可能性があります。

これは、モデルが制御されたトレーニング条件を超えて一般化できる必要がある現実世界のAIアプリケーションでは問題になります。たとえば、自動運転車は、さまざまな照明条件、天候、環境で歩行者を検出できる必要があります。トレーニングセットに過剰適合するモデルは、そのような予測不可能なシナリオでは確実に機能しません。

オーバーフィッティングはいつ、なぜ起こるのですか?

過学習は通常、不均衡なデータセット、過度なモデルの複雑さ、および過剰なトレーニングによって発生します。主な原因は以下のとおりです。

  • 限られた学習データ:データセットが小さいと、モデルはパターンを一般化するのではなく、記憶してしまいます。鳥の画像が50枚しかないデータセットで学習したモデルは、そのデータセット外の鳥の種類を検出するのに苦労する可能性があります。

  • パラメータが多すぎる複雑なモデル:レイヤーとニューロンが過剰な深層ネットワークは、本質的な特徴に焦点を当てるよりも、細かい詳細を記憶する傾向があります。

  • データ拡張欠如: クロップ、反転、または回転などの変換がない場合、モデルは正確なトレーニング画像からのみ学習する可能性があります。

  • 過剰なトレーニング: モデルがトレーニングデータを何度も繰り返し学習すると(エポックと呼ばれる)、一般的なパターンを学習する代わりに詳細を記憶してしまい、適応性が低下します。

  • 一貫性のないラベルまたはノイズの多いラベル:誤ってラベル付けされたデータは、モデルに誤ったパターンを学習させます。これは、手動でラベル付けされたデータセットでよく見られます。

モデルの複雑さ、データセットの品質、およびトレーニング手法へのバランスの取れたアプローチは、より良い汎化を保証します。

過学習 vs. 学習不足

過学習と過小学習は、深層学習における2つの完全に両極端な問題です。

__wf_reserved_inherit
Fig 1. コンピュータビジョンモデルにおける、学習不足、最適な学習、過学習の比較。

過学習は、モデルが複雑になりすぎ、トレーニングデータに過度に集中することで発生します。 一般的なパターンを学習する代わりに、背景ノイズのような無関係なものまで、細部を記憶してしまいます。その結果、モデルはトレーニングデータでは良好な性能を発揮するものの、新しい画像では苦戦し、異なる状況に適用できるパターンを学習できていないことを意味します。

アンダーフィッティングは、モデルが単純すぎると発生し、データ内の重要なパターンを見逃してしまいます。これは、モデルのレイヤーが少なすぎる、トレーニング時間が不十分、またはデータが限られている場合に起こり得ます。その結果、重要なパターンを認識できず、不正確な予測をしてしまいます。モデルがタスクを適切に理解するのに十分な学習をしていないため、トレーニングデータとテストデータの両方でパフォーマンスが低下します。 

適切にトレーニングされたモデルは、複雑さと汎化のバランスを見つけます。関連するパターンを学習するのに十分な複雑さを持つべきですが、基礎となる関係を認識する代わりにデータを記憶するほど複雑であってはいけません。

過学習を特定する方法

以下に、モデルの過学習を示す兆候をいくつか紹介します。

  • トレーニングの精度が検証の精度よりも大幅に高い場合、モデルは過学習している可能性があります。
  • トレーニング損失と検証損失の間のギャップの拡大は、もう1つの強い指標です。
  • モデルが誤った答えに対して過剰な自信を示しており、パターンを理解する代わりに詳細を記憶していることを示しています。

モデルが適切に汎化されるようにするには、現実世界の条件を反映した多様なデータセットでテストする必要があります。

コンピュータビジョンにおける過学習を防ぐ方法

過学習は避けられないものではなく、防止できます。適切な手法を用いることで、コンピュータビジョンモデルはトレーニングデータを記憶する代わりに、一般的なパターンを学習できるようになり、実際のアプリケーションでの信頼性が向上します。 

コンピュータビジョンにおける過学習を防ぐための5つの主要な戦略を紹介します。

拡張と合成データでデータの多様性を高めます

モデルが新しいデータでうまく機能するようにするための最良の方法は、データ拡張と合成データを使用してデータセットを拡張することです。合成データは、現実世界の画像から収集されたものではなく、コンピューターで生成されたものです。十分な実際のデータがない場合に、ギャップを埋めるのに役立ちます。

__wf_reserved_inherit
図2。実世界のデータと合成データを組み合わせることで、過学習を軽減し、物体検出の精度を向上させます。

データ拡張は、既存の画像を反転、回転、トリミング、または明るさを調整することによってわずかに変更し、モデルが詳細を記憶するだけでなく、さまざまな状況でオブジェクトを認識することを学習するようにします。

合成データは、実際の画像を入手することが困難な場合に役立ちます。例えば、自動運転車のモデルは、コンピューターで生成された道路の風景で学習し、さまざまな天候や照明条件で物体を検出する方法を習得できます。これにより、数千枚もの現実世界の画像を必要とせずに、モデルの柔軟性と信頼性を高めることができます。

モデルの複雑さとアーキテクチャを最適化する

深層ニューラルネットワークは、単層ではなく多層でデータを処理する一種の機械学習モデルですが、常に優れているとは限りません。モデルの層やパラメータが多すぎると、より広範なパターンを認識する代わりに、トレーニングデータを記憶してしまいます。不必要な複雑さを軽減することで、過学習を防ぐことができます。

これを実現するための1つのアプローチは枝刈り(Pruning)です。これは、冗長なニューロンと接続を削除し、モデルをよりスリムで効率的にします。 

もう1つは、レイヤーまたはニューロンの数を減らすことによってアーキテクチャを簡素化することです。YOLO11のような事前トレーニング済みモデルは、パラメータが少ないタスク全体でうまく一般化するように設計されており、ゼロからディープモデルをトレーニングするよりも過学習に対する耐性が高くなっています。

モデルの深さと効率の適切なバランスを見つけることは、トレーニングデータをただ暗記するのではなく、有用なパターンを学習するのに役立ちます。

正則化手法の適用

正則化手法は、モデルがトレーニングデータ内の特定の機能に過度に依存するのを防ぎます。次に、一般的に使用されるいくつかの手法を示します。

  • Dropout は、トレーニング中にモデルのランダムな部分をオフにすることで、いくつかの特徴に頼りすぎるのではなく、さまざまなパターンを認識するように学習させます。

  • Weight decay (L2正則化) は、極端な重みの値を抑制し、モデルの複雑さを制御します。

  • バッチ正規化は、データセットの変動に対するモデルの感度を低下させることで、トレーニングを安定させるのに役立ちます。

これらの手法は、モデルの柔軟性と適応性を維持し、精度を維持しながら過学習のリスクを軽減するのに役立ちます。

検証と早期停止によるトレーニングの監視

過学習を防ぐには、モデルがどのように学習しているかを追跡し、新しいデータに対して適切に汎化されるようにすることが重要です。これに役立ついくつかの手法を紹介します。

  • 早期停止: モデルの改善が止まったときにトレーニングを自動的に終了し、不要な詳細を学習し続けないようにします。

  • クロスバリデーション: データをいくつかの部分に分割し、それぞれについてモデルをトレーニングします。これにより、特定の画像を記憶するのではなく、パターンを学習できます。

これらの手法は、モデルがトレーニングデータだけに集中しすぎることなく、正確になるのに十分な学習ができるように、モデルのバランスを保つのに役立ちます。

事前学習済みのモデルを使用し、データセットのラベリングを改善します

YOLO11のような事前学習済みモデルを使用すると、ゼロからトレーニングする代わりに、過学習を軽減できます。YOLO11は大規模なデータセットでトレーニングされているため、さまざまな条件でうまく汎化できます。

__wf_reserved_inherit
図3. 事前学習済みのコンピュータビジョンモデルは、精度を高め、過学習を防ぐ。

事前学習済みモデルを微調整することで、新しいタスクを学習しながら、すでに知っていることを維持できるため、トレーニングデータをただ暗記するだけではありません。

さらに、高品質なデータセットのラベリングを保証することが不可欠です。誤ったラベル付けや不均衡なデータは、モデルを誤ったパターン学習に導く可能性があります。データセットのクリーニング、誤ったラベル付けされた画像の修正、クラスのバランス調整により、精度が向上し、過学習のリスクが軽減されます。もう1つの効果的なアプローチは、モデルの限界をテストするために設計された、わずかに変更された、またはより困難な例にモデルをさらす敵対的学習です。

主なポイント

過学習は、コンピュータビジョンでよく見られる問題です。モデルがトレーニングデータではうまく機能しても、実際の画像では苦戦することがあります。これを回避するために、データ拡張、正則化、YOLO11のような事前学習済みモデルの使用などの手法が、精度と適応性の向上に役立ちます。

これらの方法を適用することにより、AIモデルは信頼性を維持し、さまざまな環境で優れたパフォーマンスを発揮できます。ディープラーニングが向上するにつれて、モデルが適切に一般化されるようにすることが、現実世界のAIの成功の鍵となります。

成長を続けるコミュニティに参加しましょう!GitHubリポジトリを探索して、AIについてさらに学びましょう。独自のコンピュータビジョンプロジェクトを始める準備はできましたか?ライセンスオプションをご確認ください。ソリューションページにアクセスして、自動運転におけるVision AIヘルスケアにおけるAIをご覧ください。

AIの未来を
共に築きましょう!

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

無料ではじめる
クリップボードにコピーしました