アンサンブル学習が精度を向上させ、過学習を低減する仕組みを学びましょう。Ultralytics のような複数のモデルを組み合わせ、優れたコンピュータビジョン結果を得る方法を習得します。
アンサンブル学習は機械学習(ML)における堅牢な戦略であり、複数の独立したモデル(しばしば「弱い学習器」と呼ばれる)を組み合わせて単一の予測出力を生成する。その基本前提は、複数のモデル群が単独で動作する単一モデルよりも高い精度と優れた汎化能力を達成できることが多いという点にある。 多様なアルゴリズムからの予測を集約することで、アンサンブル手法は学習データへの 過学習リスクを効果的に低減し、ランダムな誤差を平滑化し、システム全体の安定性を向上させます。このアプローチは、重要な決定を下す際に個人の意見に依存するのではなく、専門家パネルの意見を聞くことに例えられます。
アンサンブル手法の有効性は、バイアスと分散のトレードオフを操作する能力にある。個々のモデルは高い分散(ノイズへの感受性)や高いバイアス(過度の単純化)に悩まされる可能性がある。アンサンブルは特定の技術を通じてこれらの問題を緩和する:
コンピュータビジョン(CV)の分野では、コンペティションや安全性が極めて重要なアプリケーションにおいて性能を最大化するため、アンサンブル手法が頻繁に用いられる。物体検出においては、同一画像に対して複数のモデル(例えば異なるバージョンのYOLO26など)を実行することが一般的である。 得られた境界ボックスは、 非最大抑制(NMS)や 加重ボックス融合(WBF)などの手法を用いて 統合され、最も確率の高い 物体位置が導出される。
予測の信頼性が最優先される産業分野では、アンサンブル手法が広く普及している。
基本的な推論アンサンブルは、複数の学習済みモデルを読み込み、同じ入力に対して予測を生成することでシミュレートできます。Ultralytics 、これらのバリエーションを簡単に学習できます。以下の例では、2つの異なるモデルを読み込む方法を示します。 Ultralytics YOLO モデル(YOLO26nとYOLO26s)を読み込み、画像上の検出結果を検証する方法を示します。
from ultralytics import YOLO
# Load two distinct YOLO26 model variants
# 'n' (nano) is faster, 's' (small) is more accurate
model_nano = YOLO("yolo26n.pt")
model_small = YOLO("yolo26s.pt")
# Define the image source
source = "https://ultralytics.com/images/bus.jpg"
# Run inference with both models
results_n = model_nano(source)
results_s = model_small(source)
# Compare the number of objects detected by each model
print(f"Nano Model Found: {len(results_n[0].boxes)} objects")
print(f"Small Model Found: {len(results_s[0].boxes)} objects")
アンサンブル学習とデータ拡張を区別することが重要です。
データ拡張は単一モデルの学習精度向上に寄与する一方、アンサンブル学習は複数のモデルが互いの出力を検証し合うことを可能にする。インスタンスセグメンテーションや 姿勢推定といったタスクにおいて最先端の結果を達成するため、両戦略はしばしば併用される。