← Übersicht

Neuronale Netze und Backpropagation

Ein neuronales Netz ist eine Kette einfacher Rechenschritte, die zusammen eine komplizierte Funktion bilden. Es lernt nicht durch Programmierung, sondern indem es aus Beispielen seine internen Zahlen (Gewichte) so anpasst, dass seine Vorhersagen besser werden. Das Verfahren dafür heißt Backpropagation: Es verteilt den gemessenen Fehler rückwärts über alle Schichten und sagt jedem Gewicht, in welche Richtung es sich ändern soll.

Das künstliche Neuron

Die kleinste Einheit. Ein Neuron nimmt mehrere Eingaben, multipliziert jede mit einem Gewicht, addiert alles plus einen Bias, und schickt das Ergebnis durch eine Aktivierungsfunktion. Diese Funktion ist nichtlinear ohne sie wäre das ganze Netz nur eine einzige lineare Abbildung, egal wie viele Schichten.

x₁ x₂ x₃ w₁ w₂ w₃ Σ + bias Aktivier- ung f y y = f(w₁x₁ + w₂x₂ + w₃x₃ + b)
Ein Neuron: gewichtete Summe der Eingaben, plus Bias, durch eine nichtlineare Funktion.

Aktivierungsfunktionen

Die Nichtlinearität gibt dem Netz seine Ausdruckskraft. Zwei verbreitete Funktionen:

Sigmoid: 1 / (1 + e⁻ˣ) 1 ReLU: max(0, x)
Sigmoid quetscht jeden Wert in (0,1). ReLU lässt Positives durch und kappt Negatives auf 0 einfach, schnell, heute Standard in tiefen Netzen.

Vom Neuron zum Netz

Viele Neuronen in Schichten gestapelt ergeben ein tiefes Netz. Die Eingabeschicht nimmt die Daten, verborgene Schichten (hidden layers) bauen schrittweise abstraktere Merkmale, die Ausgabeschicht liefert das Ergebnis. Information fließt im Forward Pass von links nach rechts.

Eingabe verborgene Schichten Ausgabe
Forward Pass: Aktivierungen fließen Schicht für Schicht nach rechts, bis eine Vorhersage entsteht.

Der Fehler und die Verlustfunktion

Nach dem Forward Pass vergleicht eine Verlustfunktion die Vorhersage mit der Wahrheit und gibt eine einzige Zahl: wie falsch das Netz lag. Ziel des Trainings ist, diese Zahl zu minimieren. Stellt man sich den Verlust als Landschaft über allen möglichen Gewichten vor, sucht das Training den tiefsten Punkt.

Verlust Gewicht w Minimum Start
Gradientenabstieg: Der Gradient zeigt bergauf; man geht in die Gegenrichtung. Die Schrittweite ist die Lernrate. Schritt für Schritt rollt der Zustand ins Tal.

Backpropagation: der Fehler fließt rückwärts

Um zu wissen, wie jedes einzelne Gewicht den Fehler beeinflusst, braucht man die Ableitung des Verlusts nach diesem Gewicht. Bei Millionen Gewichten wäre das einzeln undenkbar. Backpropagation nutzt die Kettenregel und berechnet alle Ableitungen in einem einzigen Rückwärtslauf: Der Fehler an der Ausgabe wird Schicht für Schicht nach links durchgereicht, wobei jede Schicht ihren Beitrag erhält.

Schicht 1 Schicht 2 Schicht 3 Verlust Forward: Aktivierungen → ← Backward: Gradienten (Kettenregel)
Zwei Durchläufe pro Lernschritt: vorwärts die Vorhersage, rückwärts die Gradienten. Dann ein kleiner Schritt für jedes Gewicht und von vorn.

Die geometrische Sicht: Daten entwirren

Eine erhellende Perspektive (colah): Jede Schicht verformt den Raum. Daten, die in der Eingabe ineinander verschlungen sind, werden Schicht für Schicht gebogen und gestreckt, bis sich die Klassen mit einer einfachen Linie trennen lassen. Lernen heißt dann: die richtige Verformung finden.

vorher: verschlungen Schicht nachher: trennbar Trennlinie
Gefüllte vs. leere Punkte = zwei Klassen. Was anfangs verschlungen ist, wird durch die Schichten so verformt, dass eine gerade Linie genügt. (Idee nach colah, „Neural Networks, Manifolds, and Topology".)

Der Lernzyklus auf einen Blick

SchrittWas passiert
1. Forward PassEingabe durch das Netz → Vorhersage
2. VerlustVorhersage mit Wahrheit vergleichen → eine Fehlerzahl
3. Backward PassFehler rückwärts → Gradient für jedes Gewicht
4. Updatejedes Gewicht ein kleines Stück gegen seinen Gradienten
5. Wiederholenüber viele Beispiele, bis der Verlust klein ist

Quellen

Verwandte Themen