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.
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 ist steiler, aber wenn neue Parameter generiert werden, nimmt die Steigung allmählich ab, bis sie den tiefsten Punkt der Kurve erreicht, den 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.
Es gibt drei Arten von Lernalgorithmen mit Gradientenabstieg: Batch-Gradientenabstieg, stochastischer Gradientenabstieg und Mini-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.
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.
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.
Obwohl der Gradientenabstieg der gängigste Ansatz für Optimierungsprobleme ist, bringt er seine eigenen Herausforderungen mit sich. Einige davon sind:
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.
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.
IBM® Granite ist unsere Familie offener, leistungsfähiger und vertrauenswürdiger KI-Modelle, die auf Unternehmen zugeschnitten und für die Skalierung Ihrer KI-Anwendungen optimiert sind. Entdecken Sie die Optionen zu Sprache, Code, Zeitreihen und Guardrails.
Wir haben 2.000 Unternehmen zu ihren KI-Initiativen befragt, um herauszufinden, was funktioniert, was nicht und wie Sie vorankommen können.
Entdecken Sie beaufsichtigte Lernansätze wie Support Vector Machines und Wahrscheinlichkeitsklassifikatoren.
Erfahren Sie mehr über grundlegende Konzepte und bauen Sie Ihre Fähigkeiten mit praktischen Übungen, Kursen, angeleiteten Projekten, Tests und mehr aus.
Erfahren Sie, wie Sie das für Ihren Anwendungsfall am besten geeignete KI Foundation Model auswählen.
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.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.