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 d'apprentissage automatique (ML) qui combine les prédictions de deux modèles individuels ou plus pour produire une prédiction finale unique, souvent supérieure. Le principe fondamental est basé sur l'idée de la "sagesse de la foule" : en agrégeant les "opinions" de plusieurs modèles divers, l'ensemble peut compenser les erreurs ou les biais individuels de n'importe quel modèle unique, ce qui conduit à une précision plus élevée, une robustesse améliorée et un risque réduit de surapprentissage. Cette approche est une pierre angulaire du ML haute performance et est fréquemment utilisée pour gagner des compétitions de science des données.
Comment fonctionnent les ensembles de modèles
L'efficacité d'un ensemble de modèles dépend de la diversité de ses modèles constitutifs. Si tous les modèles font les mêmes erreurs, leur combinaison n'offre aucun avantage. Par conséquent, la diversité est encouragée en entraînant les modèles sur différents sous-ensembles de données d'entraînement, en utilisant différents algorithmes ou en initialisant les modèles avec différents paramètres.
Les techniques courantes pour créer et combiner des ensembles comprennent :
- Bagging (Bootstrap Aggregating) : Implique l'entraînement de plusieurs instances du même modèle sur différents sous-ensembles aléatoires des données d'entraînement. La prédiction finale est généralement une moyenne ou un vote majoritaire de toutes les prédictions du modèle. La forêt aléatoire est un exemple classique d'ensemble basé sur le bagging.
- Boosting : Les modèles sont entraînés séquentiellement, chaque nouveau modèle se concentrant sur la correction des erreurs commises par ses prédécesseurs. Il en résulte un modèle composite puissant et très précis. Les algorithmes de boosting populaires incluent AdaBoost et Gradient Boosting, avec des implémentations comme XGBoost et LightGBM.
- Empilement : Cette méthode implique l'entraînement de plusieurs modèles différents (par exemple, un réseau neuronal, une machine à vecteurs de support et un arbre de décision) et l'utilisation d'un autre modèle, appelé méta-apprenant, pour combiner leurs prédictions et produire le résultat final.
Concepts connexes
Il est utile de distinguer un ensemble de modèles des termes connexes :
- Méthodes d'ensemble : Il s'agit de la catégorie théorique plus large des techniques (comme le bagging et le boosting) utilisées dans l'apprentissage automatique. Un "ensemble de modèles" est l'artefact concret—la collection spécifique de modèles entraînés—créé en appliquant une méthode d'ensemble.
- Mélange d'experts (MoE) : Contrairement à un ensemble typique qui combine les sorties de tous les modèles, un MoE utilise un réseau de gating pour sélectionner dynamiquement le modèle « expert » le plus approprié pour une entrée donnée. Un MoE choisit un expert, tandis qu'un ensemble les consulte tous.
Applications concrètes
Les assemblages de modèles sont largement utilisés dans divers domaines pour atteindre des performances de pointe.
- Détection d'objets en vision par ordinateur : Dans les systèmes critiques pour la sécurité comme les véhicules autonomes ou pour les tâches de grande valeur comme la surveillance de sécurité, les ensembles peuvent améliorer la fiabilité. Par exemple, un ensemble peut combiner différents modèles de détection d'objets, tels que différentes versions d'Ultralytics YOLO comme YOLOv8 et YOLOv10, ou des modèles entraînés avec différentes stratégies d'augmentation de données. Le Guide d'Ensembling de Modèles YOLOv5 montre comment cela peut améliorer la précision de la détection. Même des techniques comme l'Augmentation au moment du test (TTA) peuvent être considérées comme une forme d'ensembling, car elles moyennent les prédictions sur plusieurs versions augmentées d'une image.
- Diagnostic médical : Les ensembles sont cruciaux dans l'analyse d'images médicales pour des tâches comme le diagnostic de maladies à partir de radiographies, d'IRM ou de lames de pathologie. Un CNN pourrait exceller dans la détection de certaines anomalies, tandis qu'un autre est meilleur pour d'autres. En combinant leurs prédictions, un outil de diagnostic peut atteindre une précision et une fiabilité plus élevées, ce qui est essentiel pour des applications comme la détection de tumeurs.
Bien que puissants, les ensembles augmentent la complexité et les besoins de calcul pour l'entraînement des modèles et le déploiement. La gestion de plusieurs modèles nécessite plus de ressources, une ingénierie soignée et des pratiques MLOps robustes. Cependant, les gains de performance significatifs justifient souvent ces coûts dans les applications critiques. Des plateformes comme Ultralytics HUB peuvent simplifier la gestion de plusieurs modèles construits à l'aide de frameworks comme PyTorch ou TensorFlow.