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

モデルアンサンブル

モデルアンサンブルでモデルの精度と堅牢性を向上させます。バギング、ブースティング、スタッキングなどのテクニックと、実際のアプリケーションを探求します。

モデル・アンサンブルは、機械学習(ML)において 機械学習(ML)における高度な手法である。 複数の独立したモデルからの予測を組み合わせて、単一の優れた最終出力を生成する。一つのアルゴリズムに頼るのではなく アンサンブルは、1つのアルゴリズムの意思決定能力に頼るのではなく、「群衆の知恵」の原理を活用して、全体的な精度と安定性を向上させる。 全体的な精度と安定性を向上させる。多様なモデルの結果を集約することで 多様なモデルの結果を集約することで、エンジニアはトレーニングセットへのオーバーフィットのリスクを大幅に低減することができる。 システムを構築することができる。 システムを構築することができる。 システムを構築することができる。このアプローチは のような競争環境において最先端の結果を達成するために頻繁に使用されます。 Kaggleコンペティション

アンサンブル学習のメカニズム

モデル・アンサンブルの有効性は、その構成要素の多様性にかかっている。すべてのモデルが同じであれば 弱点が同じであれば、それらを組み合わせても改善されません。そのため、実務家はしばしばニューラルネットワークのアーキテクチャーを変えることで多様性を導入する。 ニューラルネットワークのアーキテクチャを変えたり、異なる データのサブセットを使用したり、異なる データ増強戦略を適用する。

アンサンブルの構成には、主に3つの方法がある:

  • バギング(ブートストラップ集計):これは、決定木のような同じモデルの複数のバージョンを訓練することを含む 決定木のような同じモデルを、データセットの異なるランダム・サンプル データセットに対して行う。典型的な例は ランダムフォレスト・アルゴリズムである。 を平均化し、分散を平準化します。 Scikit-learn ensemble ドキュメントで詳しく説明されています。
  • ブースティング:この反復手法では、モデルは順次学習される。それぞれの新しいモデルは を修正することに焦点を当てる。よく使われる や やLightGBMのような一般的な実装は、弱い学習者を高精度の合成モデル 高精度な複合モデルに変換する。
  • スタッキング:この高度なアプローチは、複数の異なるベースモデルの予測を組み合わせるために、"メタラーナー "を訓練する。 例えば 例えば、サポートベクターマシン(SVM)とディープラーニングモデルを組み合わせるなど。 ディープラーニングモデルを組み合わせる。メタ学習器は、最終的な損失関数を最小化するために、各専門家の意見をどのように重み付けするかを最適化する。 最小化する。

実際のアプリケーション

モデル・アンサンブルは、精度が重要であり、エラーのコストが高い産業において極めて重要である。

  1. 医療画像解析:複雑な病態を診断するには、しばしば画像データの微妙なパターンを分析する必要がある。 解析する必要があります。診断システムには、以下のようなモデル・アンサンブルを採用することができる。 畳み込みニューラルネットワーク(CNN) テクスチャ解析に特化した ヴィジョン・トランスフォーマー(ViT) を組み合わせたモデル・アンサンブルを採用することができる。この組み合わせは 医療画像における腫瘍の検出 単一のアーキテクチャでは達成できない高い感度で、医療画像の腫瘍を検出するのに役立ちます。
  2. 自律システム:自律走行車には 自律走行車にとって、知覚システムは フェイルセーフでなければならない。エンジニアはしばしば 例えば 例えば YOLO11と トランスベースの精度 RT-DETR.これにより これにより、1つのモデルが特定の照明やオクルージョンに苦戦している場合でも、歩行者や障害物が検出されることが保証されます。

アンサンブルと専門家の混合(MoE)の比較

標準的なモデルアンサンブルと次のようなモデルアンサンブルを区別することが重要である。 専門家の混合(MoE)とを区別することが重要です。どちらも複数の どちらも複数のサブモデルを利用しますが、推論時の動作は異なります:

  • モデル・アンサンブル:通常、コレクション内のすべてのモデルにすべての入力を問い合わせ、その結果をマージする。 する。これは精度を最大化するが 推論の待ち時間と計算コストが増加する。
  • 専門家の混合:ゲーティング・ネットワークを使用し、現在の入力に最適な特定の "エキスパート" (サブモデル)にデータをルーティングする。これにより 基礎モデル よう基礎モデルにおいて、膨大なスケーラビリティを可能にする。 を実行するという計算上のペナルティがありません。

Ultralyticsアンサンブルの実装

などの図書館がある一方で PyTorch 複雑なアンサンブル 複数のモデルをロードし、同じ入力を処理するだけで、推論のための基本的なアンサンブルを実現できる。 同じ入力を処理することで、推論のための基本的なアンサンブルを実現することができます。次の例では、2つの異なるYOLO モデルを ultralytics パッケージで提供される。

from ultralytics import YOLO

# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo11n.pt")  # Nano model
model_b = YOLO("yolo11s.pt")  # Small model

# Perform inference on an image with both models
# In a production ensemble, you would merge these results (e.g., via NMS)
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")

print(f"Model A detections: {len(results_a[0].boxes)}")
print(f"Model B detections: {len(results_b[0].boxes)}")

アンサンブルの実装には、以下のことを注意深く考慮する必要がある。 MLOpsリソースを慎重に考慮する必要があります。 メモリ使用量が増加します。しかし、コンピュータビジョン(CV)で可能な限り高い性能を必要とするタスクの場合 コンピュータビジョン(CV)では、多くの場合、トレードオフが正当化されます。 正当化されます。

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

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

今すぐ参加