Model Ensemble
Ein Modell-Ensemble kombiniert Vorhersagen mehrerer Modelle zu einer genaueren und robusteren Ausgabe. Behandelt werden Abstimmungen, Mittelwertbildung, Box-Fusion und die jeweiligen Abwägungen.
Ein Modellensemble fasst die Vorhersagen mehrerer trainierter Modelle durch Abstimmung, Mittelwertbildung oder eine gelernte Kombination zu einer einzigen Ausgabe zusammen, sodass sich die Fehler der einzelnen Modelle gegenseitig ausgleichen. Wenn die Modelle unterschiedliche Fehler machen, ist das Ensemble genauer und robuster als sein bestes Einzelmodell. Deshalb dominieren Ensembles Wettbewerbe im maschinellen Lernen: Den Netflix Prize gewann 2009 ein Team, das die Vorhersagen vieler Modelle kombinierte. Der Beitrag aus dem Deep Learning, der 2012 die ImageNet-Challenge gewann, mittelte die Vorhersagen von sieben Faltungsnetzen und erreichte einen Top-5-Fehler von 15,3 %. Der Nachteil sind die Rechenkosten: Jedes Modell wird für jede Eingabe ausgeführt, daher steigen Speicherbedarf und Inferenzlatenz mit der Größe des Ensembles.
So funktionieren Modellensembles#
Ein Ensemble bringt nur dann einen Vorteil, wenn seine Modelle unterschiedliche Fehler machen. Werden die Ausgaben von Modellen mit unabhängigen Fehlern gemittelt, sinkt die Varianz der kombinierten Vorhersage. Modelle, die bei denselben Eingaben versagen, profitieren hingegen kaum von einer Kombination. Beim Bagging entsteht Vielfalt, indem jedes Modell mit einer zufälligen Stichprobe der Trainingsdaten trainiert wird, etwa bei einem Random Forest aus Entscheidungsbäumen. Beim Boosting wird jedes neue Modell darauf trainiert, die Fehler der vorherigen Modelle zu korrigieren, etwa bei XGBoost und LightGBM. Deep Ensembles trainieren Kopien desselben neuronalen Netzes mit verschiedenen Zufallsstarts. Die Streuung ihrer Vorhersagen misst außerdem die Unsicherheit des Modells. Unterschiedliche Architekturen, etwa ein Faltungsnetz und ein Vision Transformer, bringen verschiedene induktive Verzerrungen und weniger korrelierte Fehler mit sich.
Die Kombinationsregel hängt davon ab, welche Ausgaben die Modelle liefern:
Modelle mit hoher Varianz, etwa unbeschnittene Entscheidungsbäume, profitieren am meisten. Dieses scikit-learn-Beispiel trainiert fünf Bäume, die sich nur durch ihren Zufallsstart unterscheiden, und mittelt ihre vorhergesagten Wahrscheinlichkeiten:
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}")Bei 899 zurückgehaltenen Ziffernbildern erzielen die einzelnen Bäume Werte zwischen 0.736 und 0.805. Das Ensemble aus allen fünf erreicht 0.901 und liegt damit über jedem einzelnen Modell, weil die Fehler der Bäume unterschiedliche Bilder betreffen.
Ensembles für Objekterkennung#
Ensembles zur Objekterkennung müssen auch Boxen zusammenführen: Mehrere Modelle erkennen dasselbe Objekt meist an leicht unterschiedlichen Positionen. Beim einfachsten Verfahren werden alle Boxen der Modelle zusammengeführt und mit Non-Maximum Suppression (NMS) gefiltert. Dabei bleibt in jeder überlappenden Gruppe die Box mit der höchsten Konfidenz erhalten. Bei der Fusion gewichteter Boxen werden stattdessen die Koordinaten überlappender Boxen anhand ihrer Konfidenz gewichtet gemittelt, sodass jedes Modell zur endgültigen Position beiträgt. Ultralytics YOLO26 integriert ein ähnliches Ensemble in die Vorhersage: Mit augment=True führt der Detektor die Vorhersage für das Bild in Originalgröße sowie mit 83 % und 67 % der ursprünglichen Größe aus. Die Version mit 83 % wird von links nach rechts gespiegelt. Anschließend führt NMS die drei Boxengruppen zusammen. Dieses Beispiel kombiniert auf dieselbe Weise zwei YOLO26-Modelle unterschiedlicher Größe:
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")Boxen, die beide Modelle gefunden haben, werden zu einer zusammengeführt. Objekte, die nur ein Modell gefunden hat, bleiben erhalten. So steigert ein Erkennungsensemble die Trefferquote.
Anwendungen#
- Medizinische Bildanalyse: Diagnostische Modelle kombinieren mehrere Netze, um die Sensitivität zu erhöhen. Abweichende Vorhersagen der Modelle kennzeichnen Fälle, die eine Radiologin oder ein Radiologe überprüfen sollte.
- Wettbewerbe und Benchmarks: Erfolgreiche Lösungen auf Kaggle und ähnlichen Ranglisten mitteln regelmäßig Modelle, die mit unterschiedlichen Architekturen, Zufallsstarts und Datenaufteilungen trainiert wurden, da der Genauigkeitsgewinn den zusätzlichen Rechenaufwand überwiegt.
- Autonome Fahrzeuge: Wahrnehmungssysteme kombinieren Modelle mit unterschiedlichen Stärken, etwa einen kamerabasierten und einen lidar-basierten Detektor. So kann ein Modell ein Objekt erkennen, das dem anderen entgeht.
Modellensemble im Vergleich zu verwandten Begriffen#
- Ensemblelernen: Ein Synonym für die Technik insgesamt. „Modellensemble“ bezeichnet meist die daraus entstehende kombinierte Modellgruppe.
- Modellzusammenführung: Mittelt die Gewichte kompatibler Modelle zu einem einzigen Netz, das anschließend mit den Kosten eines einzelnen Modells ausgeführt wird.
- Expertenmischung (MoE): Ein gelernter Router leitet jede Eingabe nur an einige wenige Experten-Teilnetze weiter. So lässt sich die Kapazität erhöhen, ohne jeden Experten für jede Eingabe auszuführen.
- Wissensdestillation: Trainiert ein einzelnes Schülermodell darauf, ein Lehrermodell nachzuahmen, bei dem es sich auch um ein ganzes Ensemble handeln kann. In ihrer Distillationsarbeit von 2015 komprimierten Geoffrey Hinton, Oriol Vinyals und Jeff Dean ein Ensemble aus Spracherkennungsmodellen zu einem einzigen Modell, das den größten Teil des Leistungszuwachses des Ensembles beibehielt.










