Model Ensemble
Découvre comment les ensembles de modèles combinent plusieurs architectures comme Ultralytics YOLO26 pour augmenter la précision et la robustesse. Apprends les techniques clés et des conseils d'implémentation.
Un Ensemble de modèles est une approche stratégique en apprentissage automatique où les prédictions de plusieurs modèles individuels sont combinées pour produire un résultat final souvent plus précis et robuste que ce qu'un seul modèle pourrait accomplir seul. Tout comme un comité d'experts délibérant pour parvenir à une meilleure décision qu'un individu seul, un ensemble de modèles tire parti des forces de diverses architectures pour atténuer les erreurs. Cette technique est largement utilisée pour améliorer les performances dans des tâches complexes, réduire le risque de surapprentissage et gérer le compromis biais-variance inhérent à la modélisation statistique.
Link to this sectionLes mécanismes de l'assemblage#
Le principe fondamental derrière un ensemble de modèles est la « diversité ». En entraînant plusieurs modèles — souvent appelés « apprenants de base » ou « apprenants faibles » — sur différents sous-ensembles de données d'entraînement ou en utilisant différents algorithmes, l'ensemble garantit que les erreurs commises par un modèle sont probablement corrigées par les autres. Dans le contexte du deep learning, cela implique souvent d'exécuter plusieurs réseaux de neurones en parallèle lors de l'inférence.
Les méthodes courantes pour combiner ces prédictions incluent :
- Vote : Utilisé en classification d'images, où la classe sélectionnée par la majorité des modèles devient la prédiction finale.
- Moyenne : Souvent utilisée dans les tâches de régression, où les sorties numériques sont moyennées pour lisser le bruit.
- Fusion pondérée : En détection d'objets, des techniques comme la Weighted Box Fusion (WBF) fusionnent les boîtes englobantes de différents détecteurs basées sur les scores de confiance.
Link to this sectionApplications concrètes#
Les ensembles de modèles sont essentiels dans les environnements à enjeux élevés où la maximisation de la précision est primordiale et où les ressources computationnelles permettent d'exécuter plusieurs modèles.
-
Diagnostics médicaux : En analyse d'images médicales, manquer un diagnostic peut avoir des conséquences graves. Les radiologues utilisent souvent des ensembles qui combinent un réseau de neurones convolutif (CNN) standard avec un Vision Transformer (ViT). Le CNN excelle dans l'analyse des textures locales, tandis que le ViT capture le contexte global, permettant au système de détecter des tumeurs avec une sensibilité plus élevée que chaque architecture seule.
-
Conduite autonome : Les systèmes de perception des véhicules autonomes doivent être infaillibles. Les ingénieurs déploient fréquemment un ensemble de modèles de détection — par exemple, en fusionnant la vitesse en temps réel de YOLO26 avec la précision basée sur les Transformer de RT-DETR. Cela garantit que les piétons ou les obstacles sont détectés même si un modèle a des difficultés avec des conditions d'éclairage spécifiques, telles que des reflets ou des ombres.
Link to this sectionImplémentation d'ensembles avec Python#
Bien que des stratégies d'ensemble complexes puissent être construites en utilisant des bibliothèques comme Scikit-learn, tu peux créer un ensemble d'inférence de base pour la vision par ordinateur simplement en chargeant plusieurs modèles et en traitant la même entrée. L'exemple suivant démontre comment charger deux modèles Ultralytics YOLO distincts pour générer des prédictions sur la même image.
from ultralytics import YOLO
# Load two different model variants to create a diverse ensemble
model_a = YOLO("yolo26n.pt") # Nano model (Speed focused)
model_b = YOLO("yolo26s.pt") # Small model (Higher accuracy)
# Perform inference on an image with both models
# In production, results are typically merged programmatically
results_a = model_a("https://ultralytics.com/images/bus.jpg")
results_b = model_b("https://ultralytics.com/images/bus.jpg")
print(f"Model A detected {len(results_a[0].boxes)} objects.")
print(f"Model B detected {len(results_b[0].boxes)} objects.")Link to this sectionEnsemble de modèles vs. mélange d'experts#
Il est utile de différencier un ensemble de modèles standard d'un Mélange d'experts (MoE), un terme souvent vu dans la recherche moderne sur les grands modèles de langage (LLM).
- Ensemble de modèles : Interroge généralement chaque modèle de la collection pour chaque entrée et agrège les résultats. Cela maximise les métriques comme la précision moyenne moyenne (mAP) mais augmente considérablement la latence d'inférence et le coût computationnel. C'est une approche brutale pour la qualité.
- Mélange d'experts : Utilise un « réseau de routage » pour diriger les données vers seulement quelques sous-modèles « experts » spécifiques les mieux adaptés à l'entrée actuelle. Cela permet une scalabilité massive dans les modèles de fondation sans la pénalité computationnelle d'exécuter tous les paramètres pour chaque jeton.
Link to this sectionAvantages et considérations#
L'avantage principal de l'utilisation d'un ensemble de modèles est le gain de performance. Les ensembles dominent fréquemment les classements dans les défis de science des données comme les compétitions Kaggle car ils peuvent modéliser des motifs complexes que les modèles uniques manquent. Cependant, cela a un coût : le déploiement d'ensembles nécessite plus de mémoire et de puissance de calcul.
Pour les équipes cherchant à gérer ces demandes de ressources efficacement, la plateforme Ultralytics propose des outils pour entraîner, suivre et comparer différentes architectures de modèles. En comparant facilement les métriques de performance, les développeurs peuvent décider si le gain de précision d'un ensemble justifie l'infrastructure supplémentaire requise pour le déploiement dans des scénarios d'IA en périphérie (edge AI).






