| Typ | Konzept |
|---|---|
| Quellen | Quelle - Neuronale Netze selbst programmieren Quelle - Neuronale Netze programmieren mit Python |
| Erstellt | 2026-09-26 |
| Aktualisiert | 2026-09-27 |
| Tags | optimierung, maschinelles-lernen, analysis, heuristik |
Ein Verfahren, das das Minimum einer Funktion findet, indem es in kleinen Schritten immer in Richtung des steilsten Abstiegs geht. So werden neuronale Netze trainiert: Die Funktion ist der Fehler, die Stellgrössen sind die Gewichte. Es braucht keine geschlossene Formel, kann aber in einem lokalen Minimum stecken bleiben.
Das Bild vom Abstieg im Dunkeln
Man steht nachts im Gebirge, hat keine Karte, nur eine Taschenlampe, und will ins Tal. Man leuchtet den Boden in der Nähe ab, geht einen kleinen Schritt dorthin, wo es abwärts geht, und wiederholt das (Quelle - Neuronale Netze selbst programmieren, S. 86–87). Der Gradient ist die Neigung des Bodens. Das Verfahren heisst deshalb auch Verfahren des steilsten Abstiegs.
Warum überhaupt?
Die Ausgabe eines Netzes ist eine verschachtelte Funktion aus sehr vielen Gewichten. Sie lässt sich nicht algebraisch nach den besten Gewichten auflösen (S. 84–85). Alles durchzuprobieren (Brute Force) ist aussichtslos.
S. 86 rechnet vor, bei 18 Gewichten mit je 1000 möglichen Werten gebe es „18.000 Möglichkeiten“. Richtig sind 1000¹⁸ = 10⁵⁴ Kombinationen. Die Zahl wächst also nicht linear, sondern exponentiell mit der Zahl der Gewichte (siehe Kombinatorik, Komplexitätstheorie).
Regeln
- Gegen die Steigung gehen: Ist die Steigung positiv, verkleinert man den Parameter, ist sie negativ, vergrössert man ihn (S. 88–90).
- Schrittweite proportional zur Steigung: Nahe am Minimum wird die Kurve flacher, die Schritte kleiner, man schiesst nicht darüber hinaus. Das setzt eine glatte (stetige) Funktion voraus.
- Lernrate: Ein Faktor α dämpft die Schritte zusätzlich. Neues Gewicht = altes Gewicht − α · Steigung (S. 100).
- Viele Parameter: Das Verfahren funktioniert mit beliebig vielen Parametern gleichzeitig, und es ist robust gegen unvollkommene Daten.
Beispiel (S. 88): y = (x − 1)² + 1. Von einem Startpunkt links des Minimums ist die Steigung negativ, man geht nach rechts. Von rechts geht man nach links. Beide Wege führen zum Minimum bei x = 1.
Lokale Minima
Eine Funktion kann mehrere Täler haben. Der Abstieg kann in einem falschen Tal (lokales Minimum) enden. Abhilfe: das Training mehrmals mit verschiedenen zufälligen Startgewichten wiederholen (S. 91–92).
Welche Fehlerfunktion?
| Kandidat | Problem |
|---|---|
| Soll − Ist | positive und negative Fehler heben sich auf, die Summe kann null sein |
| |Soll − Ist| | V-förmiges Minimum, Steigung wird dort nicht kleiner, man pendelt |
| (Soll − Ist)² | glatt, Steigung wird zum Minimum hin kleiner, leicht abzuleiten |
Das Buch verwendet deshalb den quadratischen Fehler (S. 92–93). In PyTorch heisst er MSELoss (mittlerer quadratischer Fehler). Für Klassifikationsaufgaben ist die binäre Kreuzentropie (BCELoss) besser geeignet, sie bestraft sichere, aber falsche Antworten besonders stark (S. 210–211).
Varianten
- Stochastischer Gradientenabstieg (SGD): Die Gewichte werden nach jedem einzelnen Trainingsbeispiel angepasst. So arbeitet das Netz des Buchs.
- Adam: nutzt einen Impuls (wie ein schwerer Ball, der über ein Schlagloch rollt), um aus flachen lokalen Minima herauszukommen, und hat für jedes Gewicht eine eigene, sich anpassende Lernrate. Auf MNIST bringt Adam die Genauigkeit von 87 % auf 97 % (S. 215).
Der Gradient anschaulich
Quelle - Neuronale Netze programmieren mit Python (S. 165–173) nähert die Steigung von f(x) = x² an der Stelle −6 mit immer kürzeren Sekanten an: Das Gefälle 6, 9, 11, 11,5, 11,9 strebt gegen 12, die Ableitung ist also −12 (nachgerechnet). Beim Minimum ist die Steigung 0. „Gradient“ kommt vom lateinischen gradiens (Anstieg, Gefälle). Im Mehrdimensionalen ist der Gradient ∇C(W) der Vektor aller partiellen Ableitungen nach den Gewichten (S. 227).
Beispiel für ein Netz aus einem Neuron mit Identität als Aktivierung, Eingang 0,2, Ziel 0,2, Startgewicht −10: Fehler E = ½(y − ŷ)² = 2,42, Gradient −0,44. Nach 10 Schritten ist das Gewicht −6,31, nach 120 Schritten 0,92, es nähert sich langsam dem Optimum 1 (Tabelle S. 171, nachgerechnet). Der Faktor ½ vereinfacht nur die Ableitung.
Batch, Epoche, Iteration
| Begriff | Bedeutung |
|---|---|
| Epoche | ein Durchlauf durch alle Trainingsbeispiele |
| Batchgrösse | Zahl der Beispiele pro Gewichtsanpassung |
| Iteration | eine Gewichtsanpassung mit einer Batch |
(S. 116)
- Stochastischer Gradientenabstieg: nach jedem einzelnen Beispiel anpassen (Batchgrösse 1). Rechnet viel.
- Batch Gradient Descent: erst nach allen Beispielen einmal anpassen. Bei grossen Datenmengen langsam.
- Mini-Batch Gradient Descent: nach z.B. 128 Beispielen anpassen. Hat sich durchgesetzt (S. 241).
Schnellere Optimierer
Die Gewichte werden um ΔW = η · ∇C(W) verringert. Varianten verändern diesen Schritt (S. 226–228, 393, 403):
- Momentum: Der vorherige Schritt wird mit einem Faktor β (0 bis 1) mitgenommen, wie der Schwung eines rollenden Balls. Hilft vor allem in flachen Tälern.
- Adam (Adaptive Moment Estimation, Kingma und Ba 2014): mittelt die bisherigen Gradienten und ihre Quadrate und passt damit die Lernrate für jedes Gewicht selbst an. Das Feintuning der Lernrate entfällt fast.
- RMSprop (Geoffrey Hinton): verwandt mit Adam, berücksichtigt vergangene Gradienten.
Gradientenaufstieg: Dieselbe Rechnung in die andere Richtung maximiert eine Grösse. DeepDream verändert so das Eingabebild, bis bestimmte Schichten eines Netzes möglichst stark reagieren (siehe Faltungsnetz).
Die Lernrate in der Praxis
Mit dem eigenen Netz auf MNIST (S. 166–170):
| Lernrate | Genauigkeit |
|---|---|
| 0,6 | 90,5 % (zu grosse Schritte, Überschwingen) |
| 0,3 | 94,7 % |
| 0,2 | 95,4 % |
| 0,1 | 95,2 % |
| 0,01 | 92,4 % (zu kleine Schritte) |
Mehr Epochen (Durchläufe durch alle Trainingsdaten) helfen, bis das Netz die Trainingsdaten auswendig lernt (Überanpassung). Mit mehr Epochen lohnt sich eine kleinere Lernrate.
Das Gradientenverfahren ist die Umkehrung des Bergsteigens (hill climbing) aus der wissensbasierten Bildanalyse und hat dieselbe Schwäche: lokale Optima. Die Abhilfe „mehrmals mit zufälligem Startpunkt“ ist ein klassisches Rezept der Heuristik, Adam mit seinem Impuls ist verwandt mit den Metaheuristiken (siehe Heuristiken in BWL und Informatik). Der Unterschied zur blinden Suche: Hier sagt die Ableitung, in welche Richtung es abwärts geht (siehe Differentialrechnung). Die Lernrate spielt dieselbe Rolle wie α bei der exponentiellen Glättung in der Marktforschung: gross heisst schnell, aber unruhig, klein heisst stabil, aber träge.
Verwandt
- Backpropagation – liefert die Steigungen für alle Gewichte
- Differentialrechnung – Steigung, Ableitung, Kettenregel, Extremwerte
- Künstliches neuronales Netz – was mit dem Verfahren trainiert wird
- Heuristiken in BWL und Informatik – lokale Suche, lokale Optima, Metaheuristiken
- Linearer Klassifikator – die einfachste Form: Korrektur proportional zum Fehler
- Perzeptron – Adaline und Delta-Regel als erster Gradientenabstieg
- Überanpassung – wann man das Training beendet
- Verstärkendes Lernen – Q-Netz mit Adam trainiert
