Startseite topics gradient descent Was ist ein Gradientenabstieg?
Anwenden des Gradientenabstiegs mit watsonx.ai Abonnieren Sie Updates rund ums Thema KI
Illustration mit Collage von Cloud-Piktogrammen, Tortendiagramm, Grafikpiktogrammen zu folgenden Themen
Was ist ein Gradientenabstieg?

Der Gradientenabstieg ist ein Optimierungsalgorithmus, der häufig zum Trainieren von Modellen für maschinelles Lernen und neuronalen Netzen verwendet wird. Er trainiert Modelle für maschinelles Lernen, indem Fehler zwischen vorhergesagten und tatsächlichen Ergebnissen minimiert werden.

Trainingsdaten helfen diesen Modellen, im Laufe der Zeit zu lernen. Die Kostenfunktion innerhalb des Gradientenabstiegs übernimmt die Rolle eines Barometers, das die Genauigkeit des Modells mit jeder Iteration der Parameteraktualisierung misst. Das Modell passt seine Parameter so lange an, bis die Funktion nahe bei oder gleich Null ist, um den kleinstmöglichen Fehler zu erzielen. Sobald Modelle für maschinelles Lernen hinsichtlich der Genauigkeit optimiert sind, können sie leistungsstarke Tools für künstliche Intelligenz (KI) und Informatikanwendungen sein.

IBM wurde von Gartner als führend eingestuft

Warum IBM im Gartner Magic Quadrant® für Cloud-KI-Entwicklerservices 2023 als führend eingestuft wurde.

Ähnliche Inhalte

Registrieren Sie sich für das E-Book zum Thema Presto

Wie funktioniert der Gradientenabstieg?

Bevor wir uns mit dem Gradientenabstieg befassen, kann es hilfreich sein, sich einige Konzepte der linearen Regression genauer anzusehen. Sie erinnern sich vielleicht an die folgende Formel für die Steigung einer Linie: y = mx + b, wobei m für die Steigung und b für den Achsenabschnitt auf der y-Achse steht.

Vielleicht erinnern Sie sich auch an die Erstellung eines Streudiagramms im Fach Statistik und die Suche nach der Linie der besten Anpassung, bei der der Fehler zwischen dem tatsächlichen und dem vorhergesagten Ergebnis (y-hat) mit Hilfe der Formel für den mittleren quadratischen Fehler berechnet werden musste. Der Algorithmus für den Gradientenabstieg verhält sich ähnlich, basiert jedoch auf einer konvexen Funktion.

Der Ausgangspunkt ist nur ein willkürlicher Punkt, an dem wir die Leistung bewerten können. An diesem Ausgangspunkt finden wir die Ableitung (oder Steigung) und von dort aus können wir eine Tangente verwenden, um zu beobachten, wie steil die Steigung ist. Die Steigung dient als Grundlage für die Aktualisierung der Parameter – also der Gewichtungen und der Verzerrung. Die Steigung am Startpunkt wird steiler sein, aber wenn neue Parameter generiert werden, sollte die Steilheit allmählich abnehmen, bis sie den tiefsten Punkt der Kurve erreicht, den sogenannten Konvergenzpunkt.   

Ähnlich wie bei der Suche nach der besten Anpassungslinie bei der linearen Regression besteht das Ziel des Gradientenabstiegs darin, die Kostenfunktion oder den Fehler zwischen dem vorhergesagten und dem tatsächlichen y zu minimieren. Dafür sind zwei Datenpunkte erforderlich: eine Richtung und eine Lernrate. Diese Faktoren bestimmen die partiellen Ableitungsberechnungen zukünftiger Iterationen und ermöglichen es, schrittweise das lokale oder globale Minimum (d. h. den Konvergenzpunkt) zu erreichen.

  • Die Lernrate (auch Schrittgröße oder Alpha genannt) ist die Größe der Schritte, die zum Erreichen des Minimums ausgeführt werden. Dabei handelt es sich in der Regel um einen kleinen Wert, der anhand des Verhaltens der Kostenfunktion ausgewertet und aktualisiert wird. Hohe Lernraten führen zu größeren Schritten, bergen aber das Risiko, dass das Minimum überschritten wird. Umgekehrt hat eine niedrige Lernrate kleine Schrittgrößen. Dies hat zwar den Vorteil einer höheren Genauigkeit, aber die Anzahl der Iterationen beeinträchtigt die Gesamteffizienz, da mehr Zeit und Berechnungen aufgewendet werden müssen, um das Minimum zu erreichen.
  • Die Kostenfunktion (oder Verlustfunktion) misst die Differenz oder den Fehler zwischen dem tatsächlichen Y und dem vorhergesagten Y an seiner aktuellen Position. Das verbessert die Effizienz des Modells für maschinelles Lernen, indem dem Modell Feedback gegeben wird, damit es die Parameter anpassen kann, um den Fehler zu minimieren und das lokale oder globale Minimum zu finden. Es wird kontinuierlich iteriert, wobei man sich entlang der Richtung des steilsten Abstiegs (oder des negativen Gradienten) bewegt, bis die Kostenfunktion nahe bei oder bei Null liegt. An diesem Punkt hört das Modell auf zu lernen. Darüber hinaus werden die Begriffe Kostenfunktion und Verlustfunktion zwar als Synonyme betrachtet, sie unterscheiden sich jedoch geringfügig. Es ist wichtig zu wissen, dass sich eine Verlustfunktion auf den Fehler eines einzelnen Trainingsbeispiels bezieht, während eine Kostenfunktion den durchschnittlichen Fehler über einen gesamten Trainingssatz berechnet.
Arten von Gradientenabstiegen

Es gibt drei Arten von Lernalgorithmen mit Gradientenabstieg: Batch-Gradientenabstieg, stochastischer Gradientenabstieg und Mini-Batch-Gradientenabstieg.

Batch-Gradientenabstieg
 

Der Batch-Gradientenabstieg summiert den Fehler für jeden Punkt in einem Trainingssatz und aktualisiert das Modell erst, nachdem alle Trainingsbeispiele ausgewertet wurden. Dieser Prozess wird als Trainingsepoche bezeichnet.

Diese Batch-Verarbeitung sorgt zwar für eine effizientere Berechnung, kann aber bei großen Trainingsdatensätzen zu einer langen Verarbeitungszeit führen, da immer noch alle Daten im Speicher abgelegt werden müssen. Der Batch-Gradientenabstieg führt in der Regel auch zu einem stabilen Fehlergradienten und Konvergenz, aber manchmal ist dieser Konvergenzpunkt nicht der idealste, da das lokale Minimum und nicht das globale Minimum gefunden wird.

Stochastischer Gradientenabstieg
 

Der stochastische Gradientenabstieg führt für jedes Beispiel im Datensatz eine Trainingsepoche durch und aktualisiert die Parameter eines jeden Trainingsbeispiels nach dem anderen. Da Sie nur ein einziges Trainingsbeispiel benötigen, lassen sich diese einfacher im Speicher ablegen. Diese häufigen Aktualisierungen bieten zwar mehr Details und Geschwindigkeit, können aber im Vergleich zum Batch-Gradientenabstieg zu Einbußen bei der Berechnungseffizienz führen. Die häufigen Aktualisierungen können rauschende Gradienten zur Folge haben, aber das kann auch hilfreich sein, um dem lokalen Minimum zu entkommen und das globale Minimum zu finden.

Mini-Batch-Gradientenabstieg
 

Der Mini-Batch-Gradientenabstieg kombiniert Konzepte sowohl des Batch-Gradientenabstiegs als auch des stochastischen Gradientenabstiegs. Es teilt den Trainingsdatensatz in kleine Batch-Größen auf und führt Aktualisierungen für jeden dieser Batches durch. Dieser Ansatz schafft ein Gleichgewicht zwischen der Recheneffizienz des Batch-Gradientenabstiegs und der Geschwindigkeit des stochastischen Gradientenabstiegs.

Herausforderungen beim Gradientenabstieg

Obwohl der Gradientenabstieg der gängigste Ansatz für Optimierungsprobleme ist, bringt er seine eigenen Herausforderungen mit sich. Einige davon sind:

Lokale Minima und Sattelpunkte
 

Bei konvexen Problemen kann der Gradientenabstieg das globale Minimum leicht finden, aber wenn nicht-konvexe Probleme auftreten, kann der Gradientenabstieg Schwierigkeiten haben, das globale Minimum zu finden, bei dem das Modell die besten Ergebnisse erzielt.

Sie wissen bereits, dass das Modell aufhört zu lernen, wenn die Steigung der Kostenfunktion bei oder nahe Null liegt. Einige Szenarien jenseits des globalen Minimums können ebenfalls diese Steigung aufweisen, nämlich lokale Minima und Sattelpunkte. Lokale Minima imitieren die Form eines globalen Minimums, bei dem die Steigung der Kostenfunktion auf beiden Seiten des aktuellen Punktes zunimmt. Bei Sattelpunkten hingegen existiert die negative Steigung nur auf einer Seite des Punktes, so dass auf einer Seite ein lokales Maximum und auf der anderen Seite ein lokales Minimum erreicht wird. Der Name leitet sich davon ab, weil es aussieht wie ein Pferdesattel.

Rauschende Gradienten können dem Gradienten helfen, lokale Minima und Sattelpunkte zu umgehen.

Verschwindende und explodierende Gradienten
 

Bei tieferen neuronalen Netzen, insbesondere bei rekurrenten neuronalen Netzen, können wir auch auf zwei andere Probleme stoßen, wenn das Modell mit Gradientenabstieg und Backpropagation (Fehlerrückführung) trainiert wird.

  • Verschwindende Gradienten: Dies tritt auf, wenn der Gradient zu klein ist. Wenn wir uns während der Backpropagation rückwärts bewegen, wird der Gradient immer kleiner, was dazu führt, dass die früheren Schichten im Netz langsamer lernen als spätere Schichten. Wenn dies geschieht, werden die Gewichtungsparameter so lange aktualisiert, bis sie unbedeutend werden (d. h. 0) was dazu führt, dass der Algorithmus nicht mehr weiterlernt.
  • Explodierende Gradienten: Dies geschieht, wenn der Gradient zu groß ist und dadurch ein instabiles Modell erstellt wird. In diesem Fall werden die Modellgewichtungen zu groß und schließlich als NaN dargestellt. Eine Lösung für dieses Problem ist der Einsatz einer Technik zur Dimensionalitätsreduzierung, die dazu beitragen kann, die Komplexität innerhalb des Modells zu minimieren.
  •  
Weiterführende Lösungen
KI-gestützte Technologien

Von Ihren Geschäftsabläufen bis hin zu Ihrem IT-Betrieb – wir sind mit KI-gestützter Automatisierung für Sie da. Entdecken Sie, wie sich führende Unternehmen verändern.

KI-gestützte Technologien entdecken
Ressourcen Ein effizienter, verteilter stochastischer Algorithmus für den Gradientenabstieg für Deep-Learning-Anwendungen

IBM Research schlägt einen verteilten, massensynchronen stochastischen Gradientenabstiegsalgorithmus vor, der eine geringe Gradientenaggregation von einzelnen Lernenden ermöglicht.

Implementieren Sie XGBoost in R

Implementieren Sie gradientenverstärkte Decision Trees unter Verwendung des XGBoost-Algorithmus, um eine Klassifizierungsaufgabe durchzuführen.

Machen Sie den nächsten Schritt

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

watsonx.ai erkunden Buchen Sie eine Live-Demo