Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Regularization

Regularisierung schränkt ein Modell während des Trainings ein, damit es verallgemeinert, statt Rauschen auswendig zu lernen. Behandelt L1, L2, Weight Decay, Dropout und Early Stopping.

Regularisierung ist jede Änderung daran, wie ein Modell trainiert wird, die seinen Fehler bei neuen Daten senken soll, selbst wenn der Fehler bei den Trainingsdaten steigt. Sie wirkt Overfitting entgegen, bei dem ein Modell mit ausreichender Kapazität Rauschen und Eigenheiten der gesehenen Beispiele auswendig lernt. Regularisierung begrenzt die effektive Komplexität eines Modells, indem sie große Gewichte bestraft, Rauschen hinzufügt, vielfältigere Daten einbringt oder das Training vorzeitig beendet. In Begriffen des Bias-Varianz-Verhältnisses nimmt sie etwas zusätzlichen Bias für eine stärkere Verringerung der Varianz in Kauf.

L1- und L2-Strafterm#

Die klassische Form ergänzt die Verlustfunktion um einen Strafterm für die Gewichte: Gesamtverlust = Datenverlust + λ × Strafterm. L2-Regularisierung bestraft die Summe der quadrierten Gewichte, Σw². Dadurch werden alle Gewichte proportional zu ihrer Größe gegen null gezogen. Bei linearen Modellen wird sie als Ridge-Regression bezeichnet. L1-Regularisierung bestraft die Summe der absoluten Gewichtswerte. Ihr konstanter Zug setzt viele Gewichte exakt auf null. Eine L1-bestrafte lineare Regression, der Lasso, übernimmt daher zugleich die Merkmalsauswahl. Elastic Net kombiniert beide Verfahren. Die Stärke des Strafterms λ, in scikit-learn alpha genannt, ist ein Hyperparameter: Ist der Wert zu klein, passt sich das Modell weiterhin zu stark an; ist er zu groß, lernt es zu wenig. Eine Polynomregression 9. Grades, angepasst an 12 verrauschte Punkte einer Sinuskurve, veranschaulicht beide Fehlermodi:

import numpy as np
from sklearn.linear_model import Ridge
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, (12, 1))
y_train = np.sin(2 * np.pi * x_train[:, 0]) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)[:, None]
y_test = np.sin(2 * np.pi * x_test[:, 0])

# The same degree-9 polynomial, fit with a growing L2 penalty on its coefficients
for alpha in (0.0, 1e-4, 1e-2, 1.0):
    model = make_pipeline(PolynomialFeatures(9), Ridge(alpha=alpha)).fit(x_train, y_train)
    train_mse = np.mean((model.predict(x_train) - y_train) ** 2)
    test_mse = np.mean((model.predict(x_test) - y_test) ** 2)
    weight_norm = np.linalg.norm(model[-1].coef_)
    print(f"alpha {alpha:g}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}, |w| {weight_norm:.1f}")

Ohne Strafterm verläuft das Polynom durch das Rauschen: Die Norm seiner Koeffizienten erreicht etwa 425.000, der Trainingsfehler beträgt 0,0148 und der Testfehler 0,1859. Ein Strafterm von 0,0001 senkt die Koeffizientennorm auf 20,8 und verringert den Testfehler um den Faktor elf auf 0,0170, während der Trainingsfehler auf 0,0334 steigt. Bei einem Alpha-Wert von 1 dominiert der Strafterm, und das Modell lernt zu wenig; der Testfehler beträgt dann 0,3998.

Weight Decay und Dropout in neuronalen Netzen#

In neuronalen Netzen wird L2-Regularisierung meist als Weight Decay umgesetzt: Bei jedem Update wird jedes Gewicht zusätzlich um einen kleinen Anteil seines Werts verringert. Bei einfachem stochastischem Gradientenabstieg sind beide Verfahren gleichwertig. Bei adaptiven Optimierern wie Adam wird ein zum Gradienten addierter L2-Term durch Adams Skalierung der einzelnen Parameter geteilt. Dadurch werden Gewichte mit großen Gradienten kaum regularisiert. Entkoppelter Weight Decay wendet die Verkleinerung stattdessen direkt an. Der daraus entstehende Optimierer AdamW ist die Standardwahl für Transformer.

Eine Dropout-Schicht setzt bei jedem Trainingsschritt die Ausgabe jeder Einheit mit Wahrscheinlichkeit p auf null und skaliert die verbleibenden Ausgaben mit 1/(1 − p). So kann sich das Netz nicht auf eine einzelne Einheit verlassen und trainiert praktisch viele ausgedünnte Teilnetze mit gemeinsamen Gewichten. Bei der Inferenz bleiben alle Einheiten aktiv. In den ursprünglichen Experimenten erwies sich eine Ausfallwahrscheinlichkeit von 0,5 für verborgene Einheiten als nahezu optimal für eine große Bandbreite von Netzen und Aufgaben.

Das Training von Ultralytics YOLO bietet beides: weight_decay wendet standardmäßig den Wert 0,0005 nur auf Faltungs- und lineare Gewichte an und lässt Bias-Parameter sowie Parameter von Normalisierungsschichten aus. dropout wirkt standardmäßig mit dem Wert 0,0 direkt vor der letzten linearen Schicht von Klassifizierungsmodellen für YOLO26.

from ultralytics import YOLO

# Ein vortrainiertes YOLO26n-Klassifizierungsmodell laden
model = YOLO("yolo26n-cls.pt")

# Mit Dropout im Klassifizierungskopf und stärkerem Weight Decay trainieren
results = model.train(data="mnist160", epochs=10, dropout=0.2, weight_decay=0.001)

Weitere Regularisierungstechniken#

  • Datenerweiterung: Spiegelungen, Ausschnitte, Skalierungen, Farbverschiebungen und Mosaike erweitern die Vielfalt der Trainingsbilder. So sieht das Modell jedes Objekt unter deutlich mehr Bedingungen, als der ursprüngliche Datensatz enthält.
  • Label Smoothing: Ersetzt One-Hot-Klassifizierungsziele durch leicht abgeschwächte Zielwerte, damit das Modell seine Logits nicht mehr auf extreme Konfidenzwerte treibt.
  • Implizite Regularisierung: Das Gradientenrauschen beim Training mit kleinen Batches und das Rauschen zwischen Batches durch Batch-Normalisierung regularisieren beide das Modell, ohne dass ein expliziter Term nötig ist.

Vorzeitiges Beenden regularisiert das Modell, indem es die Trainingsdauer begrenzt. Nach jeder Epoche bewertet es das Modell anhand der Validierungsdaten und beendet das Training, sobald sich der Wert eine festgelegte Anzahl von Epochen lang nicht verbessert hat. Diese Anzahl heißt Geduld; die besten bisher gesehenen Gewichte bleiben erhalten:

  • Normalisierung: Skaliert Eingaben oder Aktivierungen neu, um das Training zu beschleunigen und zu stabilisieren. Batch-Normalisierung regularisiert nur als Nebeneffekt.
  • Hyperparameteroptimierung: Sucht nach geeigneten Werten für Regularisierungseinstellungen wie λ, die Dropout-Wahrscheinlichkeit und die Geduld sowie für alle anderen Hyperparameter.
  • Modell-Ensembles: Verringern die Varianz, indem sie die Vorhersagen mehrerer unabhängig trainierter Modelle mitteln. Dropout bildet ein solches Ensemble innerhalb eines einzelnen Netzes näherungsweise nach: Beim Training werden Stichproben aus einer exponentiell großen Zahl ausgedünnter Teilnetze gezogen. Wird beim Testen das vollständige Netz mit allen aktiven Einheiten ausgeführt, entspricht das näherungsweise dem Mitteln all ihrer Vorhersagen.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens