Découvrez comment les ensembles de modèles combinent plusieurs architectures telles que Ultralytics pour améliorer la précision et la robustesse. Apprenez les techniques clés et les conseils de mise en œuvre.
Un ensemble de modèles est une approche stratégique en apprentissage automatique qui consiste à combiner les prédictions de plusieurs modèles individuels afin d'obtenir un résultat final souvent plus précis et plus robuste que celui qu'un modèle unique pourrait atteindre seul. Tout comme un comité d'experts qui délibère pour parvenir à une meilleure décision qu'un seul individu, un ensemble de modèles exploite les points forts 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 surajustement et gérer le compromis inhérent entre biais et variance que l'on trouve dans la modélisation statistique .
Le principe fondamental qui sous-tend 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 susceptibles d'être corrigées par les autres. Dans le contexte de l' apprentissage profond, cela implique souvent d'exécuter plusieurs réseaux neuronaux en parallèle pendant l' inférence.
Les méthodes courantes pour combiner ces prédictions comprennent :
Les ensembles de modèles sont essentiels dans les environnements à haut risque où la maximisation de la précision est primordiale et où les ressources informatiques permettent d' exécuter plusieurs modèles.
Bien que des stratégies d'ensemble complexes puissent être élaborées à l'aide de bibliothèques telles que Scikit-learn, vous pouvez créer un ensemble d'inférence de base pour la vision par ordinateur en chargeant simplement plusieurs modèles et en traitant la même entrée. L'exemple suivant montre comment charger deux Ultralytics YOLO 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.")
Il est utile de différencier un ensemble de modèles standard d'un mélange d'experts (MoE), un terme souvent utilisé dans la recherche moderne sur les grands modèles linguistiques (LLM).
Le principal avantage de l'utilisation d'un ensemble de modèles est l'amélioration des performances. Les ensembles dominent souvent les classements dans les défis liés à la science des données, tels que les concours Kaggle, car ils permettent de modéliser des modèles complexes que les modèles individuels ne peuvent pas prendre en compte. Cependant, cela a un coût : le déploiement d'ensembles nécessite davantage de mémoire et de puissance de calcul.
Pour les équipes qui cherchent à gérer efficacement ces demandes en ressources, Ultralytics propose des outils pour former, track et comparer différentes architectures de modèles. En comparant facilement les mesures de performance, les développeurs peuvent décider si le gain de précision d'un ensemble justifie l'infrastructure supplémentaire nécessaire au déploiement dans des scénarios d'IA de pointe.