Early Stopping
Early Stopping beendet das Training, wenn sich die Validierungsleistung nicht mehr verbessert. So werden unnötige Berechnungen und Overfitting reduziert und zugleich der beste Modellprüfpunkt beibehalten.
Early Stopping ist eine Trainingstechnik, die einen iterativen Lauf des maschinellen Lernens beendet, wenn sich eine überwachte Leistungskennzahl nicht mehr verbessert. Die Leistung auf den Validierungsdaten bestimmt, wie lange das Lernen fortgesetzt wird. Dadurch werden unnötige Berechnungen reduziert und Overfitting begrenzt. Anschaulich endet das Training, wenn weiteres Üben die Fähigkeit des Modells, mit zurückgehaltenen Beispielen umzugehen, nicht mehr verbessert. Außerhalb des maschinellen Lernens bedeutet „vorzeitig abbrechen“ einfach, eine Aktivität vor dem geplanten Ende zu beenden.
So funktioniert Early Stopping#
Während des Trainings aktualisiert ein Optimierer ein Modell anhand von Trainingsdaten. In regelmäßigen Abständen wird das Modell mit separaten Validierungsdaten ausgewertet. Der Trainingsverlust kann weiter sinken, während sich die Leistung auf den Validierungsdaten verschlechtert: Das ist ein Zeichen für Overfitting, bei dem sich das Modell zunehmend an Besonderheiten seiner Trainingsbeispiele anpasst. Early Stopping begrenzt diesen Prozess, indem anhand der Leistung bei zurückgehaltenen Daten ein Abbruchzeitpunkt gewählt wird.
Eine typische Implementierung verfolgt den besten Validierungswert, speichert die zugehörigen Modellgewichte und zählt aufeinanderfolgende Prüfungen ohne ausreichende Verbesserung. Bei einer Verbesserung wird der Zähler zurückgesetzt; sobald die konfigurierte Geduld erreicht ist, endet das Training. Durch das Wiederherstellen des besten Modellprüfpunkts bleibt das beste beobachtete Validierungsergebnis erhalten, das bereits vor dem letzten Trainingsschritt erreicht worden sein kann.
Nelson Morgan und Hervé Bourlard führten das validierungsbasierte Abbruchverfahren für vorwärtsgerichtete neuronale Netze in ihrer Arbeit von 1989 zu Generalisierung und Parameterschätzung ein. Zu ihren Experimenten gehörte die Sprachklassifikation; sie zeigten, wie sich die Trainingsdauer anhand der Überwachung unabhängiger Daten bestimmen lässt.
Kennzahlen, Geduld und beste Gewichte#
Die Abbruchregel hängt von mehreren Einstellungen ab:
- Überwachte Kennzahl: Der Validierungsverlust misst den Vorhersagefehler und wird minimiert; die Validierungsgenauigkeit misst die Zahl korrekter Vorhersagen und wird maximiert.
- Geduld und Trainingsdauer: Die Geduld gibt an, wie viele Prüfungen ohne Verbesserung das Training toleriert. Eine Epoche ist ein vollständiger Durchlauf durch den Trainingsdatensatz.
- Verbesserungsschwelle: Keras nennt dies
min_delta: die minimale absolute Änderung, die als Fortschritt gilt. Die Einstellungrestore_best_weights=Truestellt die Gewichte wieder her, die zum besten überwachten Wert gehören. - Häufigkeit der Validierungsprüfungen: PyTorch Lightning zählt die Geduld anhand der Validierungsprüfungen. Bei einer Prüfung alle zehn Epochen und einer Geduld von drei sind nach der besten Prüfung drei erfolglose Prüfungen über einen Zeitraum von dreißig Epochen möglich.
Geduld und Verbesserungsschwellen sind Hyperparameter: Einstellungen, die außerhalb des Prozesses zur Aktualisierung der Gewichte festgelegt werden. Eine geringere Geduld beendet stagnierende Trainingsläufe früher; eine höhere Geduld lässt längere vorübergehende Plateaus zu. Eine Aufwärmphase verzögert die Überwachung, bis sich das anfängliche Lernen eingependelt hat. Diese Einstellungen wirken sich auf die Lernrate aus, die die Größe der Optimierungsschritte steuert.
Anwendungen und ein ausführbares Beispiel#
Early Stopping eignet sich sowohl für neuronale Netze als auch für gradientenverstärkte Bäume. Beim Gradient Boosting mit scikit-learn fügt jede Stufe einen Baum hinzu; das validierungsbasierte Abbruchverfahren steuert die Anzahl der Stufen. Im Beispiel zu den kalifornischen Hauspreisen wird validation_fraction verwendet, um Daten zurückzuhalten, und n_iter_no_change, um das Training zu beenden, sobald die Fortschritte bei der Validierung ausbleiben.
Das folgende Beispiel verwendet den mit scikit-learn bereitgestellten Diabetes-Datensatz und gibt die tatsächliche Anzahl der trainierten Boosting-Stufen aus:
from sklearn.datasets import load_diabetes
from sklearn.ensemble import GradientBoostingRegressor
X, y = load_diabetes(return_X_y=True)
# Reserve an internal validation split and monitor progress.
model = GradientBoostingRegressor(
n_estimators=1000,
validation_fraction=0.2,
n_iter_no_change=10,
random_state=42,
)
model.fit(X, y)
print(f"Boosting stages fitted: {model.n_estimators_}/1000")Die Anzahl der trainierten Stufen zeigt, an welcher Stelle das Abbruchkriterium den Baumbau im Verhältnis zur Obergrenze von 1.000 Stufen beendet hat.
Ultralytics YOLO verwendet Early Stopping während des Modelltrainings, auch bei YOLO26, über das Argument patience, das die Epochen ohne Verbesserung des Validierungs-Fitnesswerts zählt. Bei der Objekterkennung basiert der Fitnesswert auf mAP50–95, und der Trainer speichert den besten Modellprüfpunkt als best.pt.
Early Stopping und verwandte Konzepte#
Early Stopping ist eine Form der Regularisierung, die die Trainingsdauer steuert. Beim Weight Decay werden große Gewichte bestraft, während Dropout während des Trainings zufällig Einheiten deaktiviert. Diese Mechanismen lassen sich gemeinsam einsetzen. Wird das Training zu früh beendet, entsteht Underfitting, und nützliche Muster bleiben ungelernt.
Beim Checkpointing werden Modellzustände gespeichert; Early Stopping entscheidet, wann die Optimierung endet. Bei der Kreuzvalidierung werden zurückgehaltene Datenpartitionen abwechselnd zur Bewertung von Modellauswahlen verwendet, während separate Testdaten der abschließenden Auswertung dienen. Da die Abbruchentscheidung anhand der Validierungsergebnisse ein Modell auswählt, fließt der Validierungswert des ausgewählten Modellprüfpunkts in die Modellauswahl ein.
In Keras ist restore_best_weights standardmäßig auf False gesetzt. Wenn du also nur Early Stopping aktivierst, behält das Modell die Gewichte des letzten Trainingsschritts.










