Lernrate
Erfahren Sie, wie sich die Lernrate auf das Modelltraining auswirkt. Entdecken Sie, wie Sie die Schrittweite für Ultralytics optimieren können, um SOTA-Leistung bei der Objekterkennung und mehr zu erzielen.
Die Lernrate ist eine wichtige
Hyperparameter-Einstellung, die
die Schrittweite eines Modells während des Optimierungsprozesses bestimmt. Im Zusammenhang mit dem Training eines neuronalen Netzwerks
steuert sie, wie stark die internen Gewichte des Modells als Reaktion auf den geschätzten Fehler jedes Mal aktualisiert werden, wenn das Modell
einen Datenbatch verarbeitet. Stellen Sie sich das wie eine Person vor, die einen Berg hinunter in Richtung eines Tals (dem tiefsten Punkt des
Fehlers) geht; die Lernrate bestimmt die Länge ihrer Schritte. Sind die Schritte zu groß, könnte sie komplett
über das Tal hinweggehen und den Grund verfehlen. Sind die Schritte zu klein, könnte das Erreichen des Ziels unpraktisch
lange dauern.
Das „Goldilocks“-Dilemma in der Optimierung
Die Ermittlung der optimalen Lernrate wird oft als Balanceakt innerhalb von
Workflows des maschinellen Lernens beschrieben. Das Ziel besteht darin,
die Verlustfunktion zu minimieren, die die
Differenz zwischen den Vorhersagen des Modells und der tatsächlichen Grundwahrheit misst. Dieser Prozess stützt sich in hohem Maße auf einen
Optimierungsalgorithmus wie den
stochastischen Gradientenabstieg (SGD)
oder den Adam , um die Verlustlandschaft zu navigieren
.
-
Lernrate zu hoch: Wenn der Wert zu hoch eingestellt ist, werden die Gewichtsaktualisierungen des Modells drastisch sein.
Dies kann zu dem Phänomen des „Überschießens” führen, bei dem das Modell nicht zu einer Lösung konvergiert, sondern
stattdessen stark schwankt oder divergiert. Diese Instabilität kann manchmal ein
explodierendes Gradientenproblem auslösen, wodurch der
Trainingsprozess unbrauchbar wird.
-
Zu niedrige Lernrate: Umgekehrt sorgt eine extrem kleine Schrittweite dafür, dass sich das Modell
vorsichtig in Richtung des Minimums bewegt, was jedoch zu einer
Unteranpassung führen kann, da der Trainingsprozess
quälend langsam wird. Das Modell könnte effektiv in einem lokalen Minimum stecken bleiben oder Tausende von zusätzlichen
Epochen benötigen, um einfache Muster zu lernen, was zu einer Verschwendung von Rechenressourcen führt
. Forscher konsultieren häufig die
PyTorch zur Optimierung, um zu verstehen,
wie verschiedene Algorithmen mit diesen Werten interagieren.
Anwendungsfälle in der Praxis
Die Auswirkungen von Anpassungen der Lernrate zeigen sich in verschiedenen Branchen mit hohem Einsatz, in denen
Computer-Vision-Aufgaben eingesetzt werden.
-
Autonome Fahrsysteme: Bei der Entwicklung
autonomer Fahrzeuge nutzen Ingenieure umfangreiche
Datensätze, um Modelle für die Objekterkennung zu trainieren, damit diese
Fußgänger und Verkehrszeichen identifizieren können. Bei der Anwendung von
Transferlernen auf ein vortrainiertes Modell wie
YOLO26 verwenden Entwickler in der Regel eine viel geringere Lernrate
als beim ersten Training. Diese „Feinabstimmung” stellt sicher, dass das Modell die Nuancen
bestimmter Fahrumgebungen (z. B. verschneite Straßen vs. Wüstenautobahnen) lernt, ohne die allgemeinen Funktionen zur Merkmalsextraktion
zu löschen, über die es bereits verfügt.
-
Medizinische Bildgebung: Bei der
medizinischen Bildanalyse, beispielsweise der Erkennung von
Tumoren in MRT-Scans, ist Präzision von größter Bedeutung. Eine hohe Lernrate birgt hier das Risiko, dass das Modell
subtile Texturunterschiede übersieht, die bösartiges Gewebe von gutartigem Gewebe unterscheiden. Praktiker wenden häufig eine
Technik namens „Lernraten-Aufwärmen” an, bei der die Rate schrittweise von Null auf einen Zielwert erhöht wird, um
die frühen Phasen des Trainings zu stabilisieren und sicherzustellen, dass sich die
Gewichte des neuronalen Netzes in einer stabilen
Konfiguration einpendeln, bevor aggressives Lernen beginnt. Weitere Informationen zu diesen Strategien finden Sie im
Google Learning Crash Course.
Unterscheidung verwandter Begriffe
Es ist wichtig, die Lernrate von anderen Trainingsparametern zu unterscheiden, da diese oft in denselben
Konfigurationsdateien konfiguriert werden, aber unterschiedlichen Zwecken dienen:
-
Lernrate vs. Batchgröße: Während die Lernrate die Größe der
Aktualisierung steuert, bestimmt die Batchgröße die Anzahl der
Trainingsbeispiele, die vor einer Aktualisierung verarbeitet werden. Zwischen beiden besteht ein enger Zusammenhang: Oft muss man bei einer
Erhöhung der Batchgröße auch die Lernrate skalieren, um die Trainingseffizienz aufrechtzuerhalten – ein Konzept, das
in Artikeln zum Training mit großen Batches untersucht wird.
-
Lernrate vs. Abklingen: Abklingen bezieht sich auf eine Strategie, bei der die Lernrate im Laufe der Zeit systematisch
reduziert wird. Ein Scheduler kann die Rate alle 30 Epochen um den Faktor 10 senken. Dies hilft dem Modell,
frühzeitig große konzeptionelle Sprünge zu machen und dann gegen Ende des Trainings seine Genauigkeit mit kleineren Schritten zu verfeinern. Dies ist
eine Standardfunktion im Python .
Einstellung der Lernrate in Ultralytics YOLO
Bei Verwendung moderner Frameworks können Sie die anfängliche Lernrate leicht anpassen (lr0) und der endgültige
Lernratenanteil (lrf). Nachfolgend finden Sie ein Beispiel für die Konfiguration mithilfe der
Ultralytics Kompatibler Client für einen benutzerdefinierten Trainingslauf.
from ultralytics import YOLO
# Load the YOLO26 model (latest state-of-the-art architecture)
model = YOLO("yolo26n.pt")
# Train the model with a custom initial learning rate
# lr0=0.01 sets the initial rate
# lrf=0.01 sets the final learning rate to (lr0 * lrf)
results = model.train(data="coco8.yaml", epochs=10, lr0=0.01, lrf=0.01)
Für fortgeschrittene Anwender können Techniken wie der
LR Finder (bekannt geworden durch fast.ai) im Wesentlichen
die Ermittlung des besten Startwerts automatisieren, indem sie eine kurze Testphase durchführen, in der die Rate exponentiell
erhöht wird, bis der Verlust divergiert. Die Beherrschung dieses Hyperparameters ist oft der Schlüssel zur Erreichung einer
SOTA-Leistung (State-of-the-Art) in Ihren KI-Projekten.