Gradient Descent
Wie ein Modell lernt — Schritt für Schritt den Berg hinunter
Was ist Gradient Descent?
Stell dir vor, du stehst im dichten Nebel auf einem Berg und willst ins Tal. Du siehst nichts — aber du fühlst mit den Füßen, wo es am stärksten bergab geht.
Du machst einen kleinen Schritt in diese Richtung. Dann fühlst du wieder, und wiederholst das. Irgendwann ist es flach — du bist im Tal. Genau so lernt ein Modell.
Analogie:
Stell dir vor, du stehst im dichten Nebel auf einem Berg und willst ins Tal. Du siehst nichts — aber du fühlst mit den Füßen, wo es am stärksten bergab geht.
Du machst einen kleinen Schritt in diese Richtung. Dann fühlst du wieder, und wiederholst das. Irgendwann ist es flach — du bist im Tal. Genau so lernt ein Modell.
Definition:
Gradient Descent ist ein iteratives Optimierungsverfahren. Der Gradient ∇L zeigt die Richtung des steilsten Anstiegs der Verlustfunktion; wir gehen das Negative davon mit Schrittweite η (Lernrate).
θ_{t+1} = θ_t − η · ∇L(θ_t)
Drei Bausteine, ein Lernschritt
Jede Iteration eines Modells — vom winzigen Regressor bis zum Milliarden-Parameter-Netz — folgt dem gleichen Rezept aus drei Bausteinen:
- Verlust — die Landkarte des ModellsDie Verlustfunktion L(θ) misst, wie schlecht das Modell mit den aktuellen Parametern θ ist. In der Demo ist sie die bunte Karte: tiefes Blau = niedriger Verlust (gut), Rot = hoher Verlust (schlecht). Lernen heißt: einen niedrigen Punkt auf dieser Karte finden.
- Gradient — der Pfeil bergaufDer Gradient ∇L zeigt an jedem Punkt die Richtung des steilsten Anstiegs. Wir wollen aber bergab — also nehmen wir das Negative davon und gehen einen Schritt in diese Richtung. Im 1D-Modus siehst du den Gradient als gelbe Tangente an der Parabel.
- Lernrate η — wie groß jeder Schritt istDie Lernrate skaliert den Schritt. Zu klein → das Modell kriecht ewig. Zu groß → der Schritt überspringt das Tal und der Pfad oszilliert oder explodiert sogar. Die Aha-Presets in der Demo zeigen beide Extreme.
Wiederholt man diese drei Bausteine einige tausend bis Millionen Mal, entsteht aus zufälligen Startwerten ein trainiertes Modell. Mehr passiert beim "Lernen" eines neuronalen Netzes im Kern nicht — die ganze Magie steckt darin, dass die Verlustlandschaft hochdimensional ist und der Gradient trotzdem automatisch via Backpropagation berechnet werden kann.
Interaktive Demo
Hier siehst du das Lernen eines Modells live als Bild: die bunte Karte ist die Verlustlandschaft (die Berge und Täler der Fehler eines Modells), der weiße Pfad ist der Optimierer, der ins Tal rollt. Setze einen Startpunkt, wechsle Verlustfunktion oder Optimierer — schon ein anderer Startpunkt oder ein anderer Optimierer kann zu einem ganz anderen Ergebnis führen. Genau das ist der Kern aller modernen KI-Trainings.
Was du auf der Fehler-Landschaft siehst
Diese Demo zeigt, wie ein Modell lernt: Ein Punkt rollt eine Fehler-Landschaft hinab ins Tal. Hier steht, was du auf dem Bild siehst.
- Was du siehst
- Eine hügelige, eingefärbte Fläche steht für den Fehler des Modells — hoch und hell bedeutet großer Fehler, tiefe Täler bedeuten kleiner Fehler. Ein markierter Punkt sitzt irgendwo am Hang, und ein Stern markiert das tiefste Tal, das beste Ergebnis.
- Was passiert
- Schritt für Schritt rollt der Punkt bergab in Richtung des nächsten Tals und zieht eine Spur hinter sich her. Am steilen Hang macht er große Schritte, kurz vor dem Talboden bewegt er sich kaum noch — dann ist er unten angekommen.
- Was du tun kannst
- Wechsle zwischen 1D-, 2D- und 3D-Ansicht, wähle eine Fehler-Landschaft und ein Optimierungsverfahren, und zieh am Regler für die Lernrate. Mit den Tasten startest, pausierst oder setzt du den Lauf zurück.
- Worauf du achtest
- Die Lernrate ist die Schrittweite. Ist sie zu groß, springt der Punkt übers Tal hinaus oder schaukelt hin und her; ist sie zu klein, kriecht er nur langsam voran. So tastet sich ein KI-Modell am Gefälle entlang nach unten, bis es kaum noch besser wird.
Verlustlandschaft (3D)
bereitRace-Mode — drei Optimierer im Direktvergleich
Drei Optimierer, gleicher Startpunkt, gleiche Lernrate, gleiche Verlustlandschaft. Das einzige, was sich unterscheidet, ist die Rechenregel, mit der jeder Optimierer entscheidet, wohin der nächste Schritt geht. Klick "Start Race" und beobachte die drei Pfade parallel.
Wir kontrollieren alles bis auf den Optimierer — wie in einem sauberen wissenschaftlichen Experiment mit nur einer Variable. Wenn die drei Pfade trotzdem unterschiedlich aussehen, liegt das ausschließlich an der jeweiligen Update-Regel. Das macht sichtbar, was sonst ein abstraktes Detail in einer Trainings-Konfiguration wäre.
- SGD: folgt stur dem aktuellen Gradienten. In flachen oder gebogenen Tälern oszilliert er — Schritt für Schritt quer hin und her, statt entlang.
- Momentum: speichert vergangene Schritte als „Schwung". Es dauert ein paar Schritte, bis das Schwungrad in Gang kommt — danach beschleunigt es konsistent in eine Richtung.
- Adam: skaliert jede Achse individuell — Richtungen, in denen der Gradient stark schwankt, werden gedämpft; ruhige Richtungen werden verstärkt. Wirkt auf der Banane wie eine zielsuchende Rakete.
Alle drei sehen am gleichen Punkt den gleichen Gradienten — sie verarbeiten ihn aber unterschiedlich. SGD nimmt ihn 1:1. Momentum mittelt ihn mit vergangenen Gradienten (β=0.9), wodurch konsistente Richtungen verstärkt und Hin-und-her-Schwingungen ausgemittelt werden. Adam macht dasselbe wie Momentum, normiert zusätzlich jede Komponente durch die Schwankung der letzten Gradienten — laute Achsen werden gedämpft, ruhige beschleunigt. Diese Mathe-Details bestimmen, ob der Pfad zickzackt, glatt fließt oder das Tal überspringt.
Im Bild sind es drei Striche auf einer Karte — im echten Training sind das Stunden GPU-Zeit, mehrere Prozent Genauigkeit und manchmal der Unterschied zwischen Modell funktioniert und Modell konvergiert nicht. Deshalb ist Adam (und seine Varianten AdamW, Adafactor, Lion …) der Default für tiefe neuronale Netze: er ist robust gegenüber stark unterschiedlich skalierten Parametern, wie sie in echten Netzen mit Millionen Gewichten unvermeidlich entstehen. Die Demo zeigt im Kleinen, was im Großen über das Gelingen eines Trainings entscheidet.
Gradient Descent — Wie ein Modell lernt
Der Wanderer im Nebel
Stell dir vor, du stehst im dichten Nebel auf einem Berg und willst ins Tal. Du siehst nichts — aber du fühlst mit den Füßen, wo es am stärksten bergab geht, und gehst einen Schritt in diese Richtung. Wiederhol das, bis es flach ist. Genau das macht Gradient Descent. Es ist die Lernregel, die hinter fast jedem trainierten KI-Modell der letzten 30 Jahre steckt.
Die Mathematik in einer Zeile
Formal: $\theta_{t+1} = \theta_t - \eta \cdot \nabla L(\theta_t)$. In Worten: nimm die aktuellen Parameter $\theta$, berechne den Gradienten $\nabla L$ der Verlustfunktion an dieser Stelle, geh einen Schritt der Länge $\eta$ (Lernrate) entgegen dem Gradienten — denn der Gradient zeigt bergauf, wir wollen aber bergab.
Drei Bausteine
- Verlustfunktion L(θ): die „Karte" — wie schlecht ist das Modell mit den Parametern θ?
- Gradient ∇L: der Pfeil, der an jedem Punkt bergauf zeigt. Wir gehen das Negative davon.
- Lernrate η: die Schrittgröße. Zu klein = ewig lahm. Zu groß = oszilliert oder explodiert.
SGD, Momentum, Adam — drei Geschmacksrichtungen
Reines Gradient Descent (SGD) folgt blind dem Gradienten. Momentum sammelt vergangene Schritte wie eine rollende Kugel mit Schwung — hilft in flachen, langen Tälern. Adam kombiniert Momentum mit einer pro-Parameter-Skalierung anhand der Gradient-Varianz — der heutige Default für tiefe Netze.
Wo es nicht garantiert klappt
- Lokale Minima: bei nicht-konvexen Funktionen (mehrere Täler) bleibt der Algorithmus im nächstgelegenen Tal hängen — der Startpunkt entscheidet.
- Sattelpunkte: flache Regionen, in denen der Gradient verschwindet, ohne ein echtes Minimum zu sein.
- Explosion: bei viel zu großer Lernrate überschießt der Schritt und der Pfad fliegt auseinander.
Spiele in der Demo! Probier die drei Verlustfunktionen (Schüssel = konvex, Zwei Täler = lokale Minima, Banane = flaches Tal) und sieh, wo SGD scheitert und Adam glänzt. Die Aha-Presets („Zu langsam", „Genau richtig", „Explodieren!") zeigen den Lernraten-Effekt in einem Klick.
1
# Gradient Descent — iterative Optimierung
2
funktion gradient_descent(L, theta_init, lr, max_steps, tol):
3
theta = theta_init
4
m, v = 0, 0 # Optimizer-State (für Momentum/Adam)
5
6
für schritt in 1..max_steps:
7
8
# 1. Gradient — Richtung des steilsten Anstiegs
9
g = gradient(L, theta)
10
11
# 2. Flach genug? Dann sind wir im Tal
12
wenn |g| < tol: brich ab
13
14
# 3. Optimizer wählt, wie der Gradient zum Schritt wird
15
wenn optimizer == "Momentum":
16
m = 0.9·m + g # Schwung sammeln
17
schritt = lr · m
18
sonst wenn optimizer == "Adam":
19
m = 0.9·m + 0.1·g # 1. Moment
20
v = 0.999·v + 0.001·g² # 2. Moment (Varianz)
21
schritt = lr · m / (√v + ε)
22
sonst: # reines SGD
23
schritt = lr · g
24
25
# 4. Parameter aktualisieren — ein Schritt bergab
26
theta = theta - schritt
27
28
gib theta zurück
🚩 Initialisierung
Setze die Parameter θ auf einen Startwert (in echten Netzen: zufällig). Setze die Optimizer-Hilfsvariablen (Momentum-Speicher m, Varianz-Speicher v für Adam) auf null. Das ist deine Startposition auf der Verlustlandschaft.
funktion gradient_descent(L, theta_init, lr, max_steps, tol):
theta = theta_init
m, v = 0, 0 # Optimizer-State (für Momentum/Adam)
🚩 Init
θ auf Startwert, Optimizer-State auf null.
⬆️ Gradient
∇L(θ) an der aktuellen Stelle berechnen.
✅ Konvergiert?
Falls |∇L| < tol: fertig. Sonst weiter.
⚙️ Optimizer
SGD / Momentum / Adam → Schrittvektor.
⬇️ Update
θ = θ - schritt — einen Schritt bergab.
🔄 Wiederhole
Zurück zum Gradienten an neuer Position.
Teste dein Wissen
Was beschreibt der Gradient einer Verlustfunktion?
1. Was beschreibt der Gradient einer Verlustfunktion?
- ☐ A) Den aktuellen Wert der Verlustfunktion.
- ☐ B) Die Richtung des steilsten Anstiegs des Verlusts.
- ☐ C) Die optimale Lernrate für den nächsten Schritt.
- ☐ D) Die Anzahl der bereits gemachten Iterationen.
2. Was passiert typischerweise bei einer viel zu großen Lernrate?
- ☐ A) Das Modell konvergiert besonders schnell zum globalen Minimum.
- ☐ B) Der Verlust sinkt langsam aber stetig.
- ☐ C) Der Optimierer überschießt das Minimum, oszilliert oder divergiert sogar.
- ☐ D) Der Gradient wird automatisch kleiner skaliert.
3. Warum hilft Momentum besonders in langen, flachen Tälern (wie der Rosenbrock-Banane)?
- ☐ A) Es vergrößert die Lernrate dynamisch.
- ☐ B) Es sammelt vergangene Gradienten und behält die Richtung bei, sodass es nicht zickzackt.
- ☐ C) Es ersetzt den Gradienten durch den Mittelwert aller Datenpunkte.
- ☐ D) Es schaltet automatisch zwischen SGD und Adam um.
4. Garantiert Gradient Descent, das globale Minimum zu finden?
- ☐ A) Ja, immer — solange die Lernrate klein genug ist.
- ☐ B) Ja, aber nur mit Adam-Optimierer.
- ☐ C) Nein. Bei nicht-konvexen Funktionen (z.B. mehreren Tälern) bleibt es im nächstgelegenen lokalen Minimum stecken.
- ☐ D) Nein, es findet immer nur Sattelpunkte.
Verwandte Inhalte
Artikel
Der Weg ins Tal: Gradientenabstieg
Wie Gradientenabstieg in einer Landschaft mit Millionen Hügeln den Tiefpunkt findet — meistens.
Wie KI ihre Fehler misst: Loss-Funktionen
Loss-Funktionen sind die Schmerzgrenze eines Modells — ohne sie kein Lernen.
Das Herzstück des Lernens
Wie ein neuronales Netz seine Fehler nach Hause schickt — und alles unterwegs ein bisschen besser macht.
Die Knöpfe der Maschine — Parameter vs. Hyperparameter
Die feine Linie zwischen "von der Maschine gelernt" und "von dir geraten".
Die Kettenregel: Verschachtelte Funktionen ableiten
Eine Mathe-Regel aus der Oberstufe, die die KI-Revolution erst möglich machte.
Veränderung messen: Ableitungen
Ableitungen in der Differentialrechnung, erklärt für Menschen, die Mathematik überlebt haben.
Lineare & Logistische Regression
Die mathematische Basis, auf die jeder Deep-Learning-Kurs erst nach drei Stunden eingeht.
Wenn das Modell auswendig lernt (Overfitting)
Wie man bemerkt, dass das Modell nicht gelernt, sondern auswendig gepaukt hat.
Partielle Ableitungen & Der Gradient
Der Gradient: der Vektor, dem jede Optimierung folgt — bergab, hoffentlich.
Demo
Neural Network Playground
Klicke Schichten und Neuronen zusammen, wähle Datensatz und Aktivierungsfunktion und beobachte live, wie das Netz die Daten trennt.
Perceptron (Neuronale Netze)
Entdecke das erste künstliche Neuron - den Urknall des maschinellen Lernens aus dem Jahr 1957.
Überwachtes Lernen
Begleite Sharlock Helmes bei seinem cleversten Fall: dem Erlernen der Unterscheidung zwischen echten Hinweisen und Moriattys raffinierten Ablenkungskanövern. Elementary, mein lieber Algorithmus!
Evolution (Optimierung)
Interaktive Demonstration evolutionärer Optimierung mit Mutation, Selektion und Crossover-Operatoren
GANs (Generative Modelle)
Interaktive Demonstration von Generativen Gegnerischen Netzwerken
Neuroevolution
Interaktive Demonstration von Neuroevolution: Neuronale Netze lernen durch evolutionäre Optimierung das Fahren auf einer Rennstrecke
Travelling Salesman: Algorithmen im Wettstreit
Setze Städte, zeichne deine eigene Route und lass Greedy, Simulated Annealing und Genetic Algorithm gegen dich antreten.