15–20 J
📖 Page 03 von 8 · ~35 Min

Wie ein Netz lernt 📈

Bisher hatten wir Netze mit zufälligen Weights. In dieser Page tauchen wir in die Magie ein: wie passt das Netz seine Weights an, damit es besser wird? Spoiler: durch einen kleinen Ball, der einen Hügel runterrollt. Und natürlich Mathe — aber wir machen sie sichtbar.

🎢 Loss-Landschaft 🎮 Gradient-Descent Demo 🧠 Backprop entzaubert
Loss Weight Value Minimum 🎯

Live zuschauen wie ein Netz lernt

Forward Pass → Loss → Backward Pass. Im Loop. Pass auf wie die Loss-Kurve fällt und die Gewichte sich anpassen.

01Was heisst „trainieren" eigentlich?

Mit einem Satz:

Trainieren = die Weights so anpassen, dass der Fehler auf den Trainingsdaten möglichst klein wird.

Konkret läuft das in einer Schleife ab — der „Training Loop". Du wiederholst diese 5 Schritte tausende Male:

1 📦

Batch holen

z.B. 32 Bilder + Labels

2 ➡️

Forward Pass

Netz macht Vorhersage

3 📏

Loss messen

Wie weit daneben?

4 ⬅️

Backprop

Gradient pro Weight

5 🎚

Update

Weights anpassen

🔁

Repeat

1000–1 Mio. Mal

🧠
Mentales Modell: Stell dir vor, du bist im Nebel auf einem Hügel und willst ins Tal. Du fühlst mit den Füssen, wo's bergab geht (= Gradient), und machst einen Schritt in die Richtung. Wiederholst das. Irgendwann bist du im Tal (= minimaler Loss = bestes Modell). Das ist Gradient Descent in einem Satz.

02Was ist „Loss"? Die Schmerz-Zahl

Loss ist eine einzige Zahl, die sagt: wie schlecht ist das Modell gerade. Je grösser → schlimmer. Du wählst die Loss-Funktion je nachdem, ob du Zahlen vorhersagst oder Klassen wählst:

📊 Regression → MSE

Wenn du eine kontinuierliche Zahl vorhersagst — z.B. Hauspreise, Temperatur, Aktienkurs.

MSE = mean((ŷ - y)²)

Mean Squared Error. Differenz zwischen Vorhersage und Wahrheit, quadriert. Quadrieren bestraft grosse Fehler stärker.

🏷 Classification → Cross-Entropy

Wenn du eine Klasse vorhersagst — z.B. Hund/Katze/Vogel, Spam/Ham, Buchstabe A–Z.

CE = -Σ y · log(ŷ)

Cross-Entropy. Bestraft Vorhersagen, die sich der falschen Klasse zu sicher sind. Das ist die Standard-Loss für Klassifikation.

💡
Faustregel: In PyTorch heisst MSE nn.MSELoss(), Cross-Entropy nn.CrossEntropyLoss(). 95% aller Tutorials nutzen eine der beiden.

03Live-Demo: Der Ball, der ins Tal rollt 🎢

Schau zu, wie ein Ball auf einer Loss-Landschaft per Gradient Descent ins Minimum findet. Du kannst die Lernrate (Schrittgrösse) verändern — zu klein → ewig dauern, zu gross → der Ball springt umher.

Step 0 · Weight: 1.8 · Loss: 2.40
🤓
Was passiert hier mathematisch: Bei jedem Step rechnen wir die Ableitung der Loss-Funktion an der aktuellen Stelle (= Steigung). Dann gehen wir einen Schritt in die entgegengesetzte Richtung (= bergab). Schrittgrösse = Lernrate × Steigung. Mehr brauchst du nicht zu wissen, um 90% aller AI-Modelle zu trainieren.

04Backpropagation: wie der Gradient rückwärts fliesst

Bei einem einzelnen Neuron ist die Ableitung leicht. Bei einem Netz mit Millionen Neuronen brauchst du einen Trick — und das ist Backprop.

Die Idee in drei Sätzen:

  1. Forward Pass berechnet die Vorhersage vorwärts durch alle Layers.
  2. Am Ende messen wir den Loss.
  3. Dann gehen wir mit der Kettenregel aus der Mathe Schritt für Schritt rückwärts und berechnen für jeden einzelnen Weight: „Wenn ich dich um 0.001 verändere, wie ändert sich der Loss?" Das ist sein Gradient.
y Forward (1): Eingabe → Vorhersage Backward (2): Loss → Gradient für jeden Weight Loss
🤯
Du musst Backprop NICHT von Hand rechnen. PyTorch, TensorFlow, JAX & Co. machen das automatisch („Auto-Diff"). Du sagst nur loss.backward() und alle Gradients sind da. Aber zu wissen was passiert, hilft dir, Bugs zu erkennen und besser zu debuggen.

05Train / Val / Test — und warum Overfitting alles killt

Du teilst deine Daten immer in drei Sets auf. Sonst lernst du das Falsche und merkst es nicht:

📚 Training (~70%) — lernen
🎯 Validation (~15%) — tuning
🏁 Test (~15%) — final

Underfitting vs. Just-Right vs. Overfitting

😵 Underfitting

Modell zu simpel — verfehlt das Muster.

✨ Just-Right

Generelles Muster gelernt. Bestes Modell.

🤡 Overfitting

Auswendig gelernt. Versagt bei neuen Daten.

⚠️
Wie erkennst du Overfitting? Trainings-Loss geht weiter runter, aber Validation-Loss steigt. Das ist das Signal, das Training zu stoppen („Early Stopping") oder Regularisierung (Dropout, Weight Decay) einzubauen.

06Optimizers Cheat-Sheet

„Optimizer" ist der Algorithmus, der entscheidet, wie du den Weight-Update macht. Die wichtigsten 3:

OptimizerIdeeProWann
SGD
(Stochastic Gradient Descent)
Reines „Schritt in Richtung Gradient" Simpel, gut bei viel Daten Klassische Bilderkennung
Adam
(Adaptive Moment Est.)
Passt Lernrate pro Weight an Funktioniert fast immer · Default Standard für 80% aller Modelle
AdamW Adam + bessere Regularisierung State-of-the-Art für LLMs GPT, Llama, Claude trainiert mit AdamW
PyTorchimport torch.optim as optim # Eine Zeile reicht meistens: optimizer = optim.Adam(model.parameters(), lr=0.001) # Training Loop for batch in dataloader: optimizer.zero_grad() # Gradients löschen pred = model(batch.x) loss = criterion(pred, batch.y) loss.backward() # Backprop optimizer.step() # Weights updaten

🎯Key Takeaways aus Page 03