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.
▶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:
Batch holen
z.B. 32 Bilder + Labels
Forward Pass
Netz macht Vorhersage
Loss messen
Wie weit daneben?
Backprop
Gradient pro Weight
Update
Weights anpassen
Repeat
1000–1 Mio. Mal
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.
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.
Cross-Entropy. Bestraft Vorhersagen, die sich der falschen Klasse zu sicher sind. Das ist die Standard-Loss für Klassifikation.
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.
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:
- Forward Pass berechnet die Vorhersage vorwärts durch alle Layers.
- Am Ende messen wir den Loss.
- 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.
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: hierauf lernt das Modell die Gewichte.
- Validation: nutzt du, um Hyperparameter zu tunen (Layers, Lernrate, etc.) — Modell sieht diese Daten beim Training nie.
- Test: einmal ganz am Ende, um die ehrliche Performance zu messen. Niemals zum Tunen verwenden!
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.
06Optimizers Cheat-Sheet
„Optimizer" ist der Algorithmus, der entscheidet, wie du den Weight-Update macht. Die wichtigsten 3:
| Optimizer | Idee | Pro | Wann |
|---|---|---|---|
| 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 |
🎯Key Takeaways aus Page 03
- Training-Loop: Forward → Loss → Backward → Update. Wiederhole tausende Male.
- Loss ist eine Zahl, die sagt wie schlecht das Modell ist. Klein machen = Ziel.
- Gradient Descent = Ball, der ins Tal rollt. Schrittgrösse = Lernrate.
- Backprop = Kettenregel aus Mathe. PyTorch macht's für dich automatisch.
- Train/Val/Test split ist Pflicht. Overfitting = auswendig gelernt, fail bei neuen Daten.
- Adam ist der Default-Optimizer. Lernrate ~0.001 ist eine gute Startgrösse.