Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Ensemble de modèles

Améliorez la précision et la robustesse des modèles grâce aux ensembles de modèles. Explorez des techniques telles que le bagging, le boosting, le stacking et les applications concrètes.

Un ensemble de modèles est une technique sophistiquée d'apprentissage l'apprentissage machine (ML) où les prédictions de de plusieurs modèles indépendants sont combinées pour générer un résultat final unique et supérieur. Plutôt que de s'appuyer sur la capacité de décision d'un seul algorithme, un ensemble tire parti de la "sagesse de la foule". capacité de décision d'un seul algorithme, un ensemble tire parti du principe de la "sagesse de la foule" pour améliorer la précision et la stabilité globales. améliorer la précision et la stabilité globales. En agrégeant les En agrégeant les résultats de divers modèles, les ingénieurs peuvent réduire de manière significative le risque de surajustement à l'ensemble d'apprentissage et de surestimation des coûts. d'adaptation excessive à l'ensemble d'apprentissage et créer des systèmes qui qui sont beaucoup plus robustes face au bruit dans les données d'apprentissage. Cette approche est fréquemment utilisée pour pour obtenir des résultats de pointe dans des environnements compétitifs tels que les concours Kaggle. Kaggle.

Mécanismes d'apprentissage d'ensemble

L'efficacité d'un ensemble de modèles dépend de la diversité des éléments qui le composent. Si tous les modèles ont des faiblesses identiques, leur combinaison n'apporte aucune amélioration. C'est pourquoi les praticiens introduisent souvent de la diversité en faisant varier l'architecture du l 'architecture du réseau neuronal, en utilisant différents différents sous-ensembles de données ou en appliquant stratégies distinctes d'enrichissement des données.

Il existe trois méthodes principales pour construire des ensembles :

  • Bagging (agrégation Bootstrap) : Il s'agit de former plusieurs versions d'un même modèle, tel qu'un arbre de décision, sur différents échantillons aléatoires de l'échantillon. un arbre de décision, sur différents échantillons aléatoires de l'ensemble l'ensemble de données. L'exemple classique est l'algorithme algorithme Random Forest, qui calcule la moyenne des prédictions de plusieurs arbres pour lisser la variance, comme le détaille la documentation Scikit-learn ensemble documentation.
  • Renforcement (boosting) : Dans cette technique itérative, les modèles sont formés de manière séquentielle. Chaque nouveau modèle s'attache à corriger les erreurs commises par ses prédécesseurs. Des implémentations populaires telles que XGBoost et LightGBM utilisent cette méthode pour convertir des apprenants faibles en un modèle composite très précis. modèle composite très précis.
  • L'empilage : Cette approche avancée entraîne un "méta-apprenant" à combiner les prédictions de plusieurs modèles de base différents, comme par exemple la combinaison d'un modèle de base et d'un modèle de base. différents modèles de base, comme la combinaison d'une machine à vecteur de support (SVM) avec un modèle d'apprentissage profond. Le méta-apprenant optimise la manière de pondérer l'opinion de chaque expert afin de minimiser la fonction de perte finale. fonction de perte finale.

Applications concrètes

Les ensembles de modèles sont essentiels dans les secteurs où la précision est cruciale et où le coût de l'erreur est élevé.

  1. Analyse d'images médicales : Le diagnostic de pathologies complexes nécessite souvent l'analyse de schémas subtils dans les données d'imagerie. données d'imagerie. Un système de diagnostic peut utiliser un ensemble de modèles combinant un réseau neuronal convolutif (CNN) spécialisé dans l'analyse des textures et un transformateur de vision (ViT) qui excelle à compréhension du contexte global. Cette combinaison permet de détecter les tumeurs dans l'imagerie médicale avec une sensibilité supérieure à celle qu'une architecture unique pourrait atteindre.
  2. Systèmes autonomes : Pour les véhicules autonomes, les systèmes de perception doivent être à l'épreuve des pannes. Les ingénieurs utilisent souvent un ensemble de modèles de détection d'objets - par exemple, en fusionnant les les capacités à grande vitesse de YOLO11 avec la précision la précision des transformateurs de RT-DETR. Cela permet de s'assurer que piétons ou les obstacles sont détectés même si un modèle a des difficultés avec un éclairage ou une occlusion spécifique.

Ensemble vs. mélange d'experts (MoE)

Il est important de différencier un ensemble de modèles standard d'un mélange d'experts (MoE). Bien que les deux utilisent plusieurs sous-modèles, ils fonctionnent différemment pendant l'inférence :

  • Ensemble de modèles : Interroge généralement chaque modèle de la collection pour chaque entrée et fusionne les résultats. les résultats. Cela maximise la précision mais augmente la latence d'inférence et le coût de calcul. mais augmente la latence de l'inférence et le coût de calcul.
  • Mélange d'experts : Utilise un réseau de contrôle pour acheminer les données vers quelques "experts" spécifiques (sous-modèles) qui conviennent le mieux à l'entrée actuelle. (sous-modèles) les mieux adaptés à l'entrée actuelle. Cela permet une extensibilité massive dans les modèles de base tels que Transformateurs de commutation sans la pénalité de calcul liée à l'exécution de chaque paramètre pour chaque jeton. chaque paramètre pour chaque jeton.

Mise en œuvre d'ensembles avec Ultralytics

Alors que des bibliothèques comme PyTorch permettent des architectures d'ensemble complexes vous pouvez obtenir un ensemble de base pour l'inférence en chargeant simplement plusieurs modèles et en traitant les mêmes données. même entrée. L'exemple suivant montre comment charger deux modèles YOLO distincts à l'aide de la commande ultralytics l'emballage.

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

La mise en œuvre d'ensembles nécessite une attention particulière aux ressources de MLOps. ressources de MLOps, car le déploiement de plusieurs modèles augmente l'utilisation de la mémoire. Toutefois, pour les tâches exigeant les meilleures performances possibles dans le domaine de la vision par ordinateur, le compromis est souvent difficile à trouver. vision artificielle (CV), le compromis est souvent justifié.

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant