Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Ensemble

Découvrez comment l'apprentissage en ensemble améliore la précision et réduit le surajustement. Apprenez à combiner plusieurs modèles tels que Ultralytics pour obtenir des résultats supérieurs en matière de vision par ordinateur.

L'apprentissage par ensemble est une stratégie robuste en apprentissage automatique (ML) où plusieurs modèles indépendants, souvent appelés « apprenants faibles », sont combinés pour produire un seul résultat prédictif . Le principe fondamental est qu'un groupe de modèles peut souvent atteindre une plus grande précision et une meilleure généralisation qu'un modèle unique agissant seul. En agrégeant les prédictions de divers algorithmes, les méthodes d'apprentissage en ensemble réduisent efficacement le risque de surajustement aux données d'entraînement, lissent les erreurs aléatoires et améliorent la stabilité globale du système. Cette approche est analogue à la consultation d'un panel d'experts plutôt que de se fier à l' opinion d'une seule personne pour prendre une décision critique.

Mécanismes d'apprentissage d'ensemble

L'efficacité des méthodes d'ensemble réside dans leur capacité à manipuler le compromis biais-variance. Les modèles individuels peuvent souffrir d'une variance élevée (sensibilité au bruit) ou d'un biais élevé (simplification excessive). L'ensemble atténue ces problèmes grâce à des techniques spécifiques :

  • Bagging (agrégation bootstrap): Cette technique consiste à entraîner plusieurs instances du même algorithme sur différents sous-ensembles de l'ensemble de données. L' exemple le plus connu est l'algorithme Random Forest, qui agrège les décisions de nombreux arbres de décision afin de réduire la variance.
  • Boosting: contrairement au bagging, le boosting entraîne les modèles de manière séquentielle. Chaque nouveau modèle se concentre sur la correction des erreurs commises par les précédents. Des frameworks populaires tels que LightGBM et CatBoost utilisent cette technique pour créer des systèmes prédictifs très précis.
  • Empilement (généralisation empilée): Cela implique l'entraînement d'un nouveau « méta-modèle » afin de combiner les prédictions de plusieurs modèles de base hétérogènes (par exemple, un réseau neuronal et une machine à vecteurs de support).

Ensemble dans la vision par ordinateur

Dans le domaine de la vision par ordinateur (CV), les ensembles sont fréquemment utilisés pour optimiser les performances dans les concours et les applications critiques en matière de sécurité. Pour la détection d'objets, cela implique souvent d'exécuter plusieurs modèles, tels que différentes versions de YOLO26, sur la même image. Les cadres de sélection obtenus sont ensuite fusionnés à l'aide de techniques telles que la suppression non maximale (NMS) ou la fusion pondérée des cadres (WBF) afin de déterminer les emplacements les plus probables des objets.

Applications concrètes

Les méthodes d'ensemble sont omniprésentes dans les secteurs où la fiabilité prédictive est primordiale.

  1. Diagnosticdetect et imagerie: Dans le domaine de la santé, il est essentiel d'éviter les faux négatifs. Un ensemble peut combiner un réseau neuronal convolutif (CNN) entraîné sur des radiographies avec un transformateur de vision (ViT) pour détecter des anomalies. Le consensus entre les modèles fournit un score de confiance plus élevé, aidant les radiologues à détecter des tumeurs ou à diagnostiquer des maladies rares.
  2. Détection des fraudesdetect : Les institutions financières utilisent des ensembles pour analyser les modèles de transactions. En combinant des modèles de régression logistique avec des machines à gradient boosting, le système peut détecter des indicateurs subtils de fraude qu'un modèle unique pourrait manquer, tout en maintenant un faible taux de fausses alertes.

Mise en œuvre de l'assemblage de modèles avec Python

Vous pouvez simuler un ensemble d'inférences de base en chargeant plusieurs modèles entraînés et en générant des prédictions pour la même entrée. La Ultralytics vous permet d'entraîner facilement ces variantes . L'exemple suivant montre comment charger deux modèles différents Ultralytics YOLO (YOLO26n et YOLO26s) pour vérifier les détections sur une image.

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")

Ensemble vs augmentation des données

Il est important de distinguer l'apprentissage en ensemble de l' augmentation des données.

  • Ensemble se concentre sur la phase d'architecture et de prédiction, en combinant plusieurs modèles distincts entraînés afin d'améliorer les résultats.
  • L'augmentation des données se concentre sur la phase de formation des données, en augmentant artificiellement la diversité de l'ensemble de données (par exemple, via la rotation ou le retournement) afin de former un modèle unique et plus robuste.

Alors que l'augmentation des données aide un modèle unique à mieux apprendre, l'apprentissage en ensemble aide plusieurs modèles à vérifier mutuellement leurs résultats. Ces deux stratégies sont souvent utilisées conjointement pour obtenir des résultats de pointe dans des tâches telles que la segmentation d'instances et l' estimation de pose.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant