Model Ensemble
Un ensemble de modèles combine les prédictions de plusieurs modèles pour produire une sortie unique, plus précise et plus robuste. Présentation du vote, de la moyenne, de la fusion de boîtes et des compromis.
Un ensemble de modèles combine les prédictions de plusieurs modèles entraînés en une seule sortie, par vote, moyenne ou combinaison apprise, afin que les erreurs des modèles individuels s’annulent. Lorsque les membres commettent des erreurs différentes, l’ensemble est plus précis et plus robuste que son meilleur membre, ce qui explique pourquoi les ensembles dominent les compétitions d’apprentissage automatique : le prix Netflix a été remporté en 2009 par une équipe qui combinait les prédictions de nombreux modèles, et la solution d’apprentissage profond victorieuse du défi ImageNet de 2012 faisait la moyenne des prédictions de sept réseaux convolutifs pour atteindre un taux d’erreur top-5 de 15.3 %. Le coût est d’ordre computationnel : chaque membre s’exécute pour chaque entrée, si bien que l’utilisation de mémoire et la latence d’inférence augmentent avec la taille de l’ensemble.
Fonctionnement des ensembles de modèles#
Un ensemble n’est utile que si ses membres commettent des erreurs différentes. La moyenne des sorties de modèles dont les erreurs sont indépendantes réduit la variance de la prédiction combinée, tandis que la combinaison de modèles qui échouent sur les mêmes entrées apporte peu. Le bagging crée cette diversité en entraînant chaque membre sur un rééchantillonnage aléatoire des données d’entraînement, comme dans une forêt aléatoire d’arbres de décision ; le boosting entraîne chaque nouveau membre à corriger les erreurs des précédents, comme dans XGBoost et LightGBM. Les ensembles profonds entraînent des copies d’un même réseau de neurones avec des graines aléatoires différentes ; la dispersion de leurs prédictions mesure également l’incertitude du modèle. La combinaison d’architectures différentes, comme un réseau de neurones convolutif et un Transformer de vision, réunit des membres aux biais inductifs différents et aux erreurs moins corrélées.
La règle de combinaison dépend des sorties des membres :
Les modèles à forte variance, comme les arbres de décision non élagués, en tirent le plus grand bénéfice. Cet exemple scikit-learn entraîne cinq arbres qui ne diffèrent que par leur graine aléatoire et calcule la moyenne de leurs probabilités prédites :
import numpy as np
from sklearn.datasets import load_digits
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)
# Five decision trees that differ only in their random seed, which changes the features each split considers
trees = [DecisionTreeClassifier(max_features="sqrt", random_state=seed) for seed in range(5)]
for tree in trees:
tree.fit(X_train, y_train)
print("Single trees:", ", ".join(f"{tree.score(X_test, y_test):.3f}" for tree in trees))
# Ensemble: average the predicted class probabilities and pick the most likely class
probabilities = np.mean([tree.predict_proba(X_test) for tree in trees], axis=0)
accuracy = (probabilities.argmax(axis=1) == y_test).mean()
print(f"Ensemble of 5: {accuracy:.3f}")Sur 899 images de chiffres réservées pour le test, les arbres seuls obtiennent des scores entre 0.736 et 0.805, tandis que l’ensemble des cinq arbres obtient 0.901, un score supérieur à celui de tous ses membres, car les erreurs de chaque arbre portent sur des images différentes.
Combinaison de détecteurs d’objets#
Les ensembles de détection d’objets doivent également fusionner les boîtes : plusieurs modèles détectent généralement le même objet à des positions légèrement différentes. La méthode la plus simple regroupe toutes les boîtes des modèles et applique la suppression non maximale (NMS), qui conserve la boîte ayant la plus grande confiance dans chaque groupe de boîtes qui se chevauchent. La fusion pondérée de boîtes calcule plutôt la moyenne des coordonnées des boîtes qui se chevauchent, pondérée par la confiance, afin que chaque modèle contribue à la position finale. Ultralytics YOLO26 intègre un ensemble similaire à la prédiction : avec augment=True, le détecteur traite l’image à sa taille complète, puis à 83 % et 67 %, en retournant horizontalement la copie à 83 %, et fusionne les trois ensembles de boîtes avec NMS. Cet exemple combine de la même manière deux modèles YOLO26 de tailles différentes :
import torch
from torchvision.ops import batched_nms
from ultralytics import YOLO
# Two YOLO26 models of different sizes make different mistakes
models = [YOLO("yolo26n.pt"), YOLO("yolo26s.pt")]
results = [model("https://ultralytics.com/images/bus.jpg")[0] for model in models]
# Pool the boxes from both models
boxes = torch.cat([result.boxes.xyxy for result in results])
scores = torch.cat([result.boxes.conf for result in results])
classes = torch.cat([result.boxes.cls for result in results])
# Keep the highest-scoring box in each overlapping group of the same class
keep = batched_nms(boxes, scores, classes, iou_threshold=0.5)
print(f"{len(boxes)} boxes from both models, {len(keep)} after fusion")Les boîtes détectées par les deux modèles sont fusionnées en une seule, et les objets détectés par un seul modèle sont conservés après la fusion ; c’est ainsi qu’un ensemble de détection augmente le rappel.
Applications#
- Analyse d’images médicales : Les modèles diagnostiques combinent plusieurs réseaux pour augmenter la sensibilité, et les désaccords entre les membres signalent les cas qu’un radiologue doit examiner.
- Compétitions et benchmarks : Les solutions gagnantes sur Kaggle et dans des classements similaires font régulièrement la moyenne de modèles entraînés avec des architectures, des graines et des partitions de données différentes, car le gain de précision compense le calcul supplémentaire.
- Véhicules autonomes : Les systèmes de perception combinent des modèles aux points forts différents, comme un détecteur reposant sur une caméra et un autre sur le lidar, afin qu’un objet manqué par l’un puisse être détecté par l’autre.
Ensembles de modèles et termes apparentés#
- Apprentissage par ensembles : Synonyme de la technique dans son ensemble. « Ensemble de modèles » désigne généralement l’ensemble combiné de modèles obtenu.
- Fusion de modèles : Fait la moyenne des poids de modèles compatibles en un seul réseau, qui s’exécute ensuite au coût d’un modèle unique.
- Mélange d’experts (MoE) : Un routeur appris envoie chaque entrée à quelques sous-réseaux experts seulement, ce qui augmente la capacité sans exécuter tous les experts pour chaque entrée.
- Distillation des connaissances : Entraîne un seul modèle élève à imiter un enseignant, qui peut être un ensemble complet. Dans leur article de 2015 sur la distillation, Geoffrey Hinton, Oriol Vinyals et Jeff Dean ont condensé un ensemble de modèles de reconnaissance vocale en un seul modèle qui conservait la majeure partie du gain de l’ensemble.










