Grundlagen neuronaler Netze
Mit einer Geraden anfangen, Gradientenabstieg und Backpropagation von Hand schreiben, das erste kleine Netz trainieren, dann mit PyTorch handgeschriebene Ziffern erkennen und Überanpassung samt Gegenmitteln mit eigenen Augen sehen.
Lektionen
- 01Lineare Regression mit numpy
Wir beginnen mit dem einfachsten Problem – den Hauspreis aus der Wohnfläche vorhersagen. Eine Gerade als Modell, die mittlere quadratische Abweichung als Gütemaß, und dann auf die dümmste Art 90.000 Geraden eine nach der anderen ausprobieren, um klar zu sehen, wonach „Training“ eigentlich sucht.
35 Minuten · Einsteiger - 02Gradientenabstieg
Nicht mehr blind probieren, sondern bei jedem Schritt berechnen, in welche Richtung und wie stark die Parameter zu ändern sind. Von der Steigung zur Ableitung, Gradienten von Hand berechnen, die Schleife des Gradientenabstiegs schreiben und mit eigenen Augen sehen, was bei zu kleiner oder zu großer Lernrate und bei nicht standardisierten Daten passiert.
45 Minuten · Einsteiger - 03Backpropagation von Hand
Eine Klasse in ein paar Dutzend Zeilen schreiben, in der sich jede Zahl merkt, wie sie berechnet wurde; dann lassen sich die Gradienten vom Verlust aus mit der Kettenregel bis zu jedem Parameter zurückreichen. Mit numerischer Ableitung gegenprüfen und damit ein kleines Netz trainieren, das XOR lernt.
60 Minuten · Fortgeschritten - 04Einstieg in PyTorch
Was wir in den ersten drei Lektionen von Hand geschrieben haben, noch einmal mit PyTorch – Tensoren, automatische Ableitung, nn.Module, Optimierer. Jeder Schritt wird mit der handgeschriebenen Fassung verglichen; berechnete Gradienten und trainierte Parameter sind genau gleich.
45 Minuten · Einsteiger - 05Handgeschriebene Ziffern erkennen
Die erste echte Klassifikationsaufgabe – das Netz soll handgeschriebene Ziffern mit 8×8 Pixeln erkennen. Der Unterschied zwischen Klassifikation und Regression, was Softmax und Kreuzentropie tun, warum man in kleinen Stapeln trainiert, und zum Schluss mit der Konfusionsmatrix sehen, wo es sich irrt.
45 Minuten · Fortgeschritten - 06Überanpassung und was man dagegen tut
Das Netz liegt auf der Trainingsmenge immer richtig, wird auf unbekannten Daten aber nicht besser – das heißt Überanpassung. Wir erzeugen absichtlich eine Überanpassung und probieren Weight Decay, Dropout, Early Stopping und mehr Daten aus, um an echten Ergebnissen zu sehen, was am meisten hilft.
40 Minuten · Fortgeschritten
Hier beginnt Teil 2, „Sprachmodelle von Grund auf verstehen“.
In Teil 1 war ein Sprachmodell für dich eine Schnittstelle: Text hinschicken, Text zurückbekommen. Dieser Teil öffnet es und klärt, wie es trainiert wird. Dieses Modul legt das Fundament: Egal wie groß ein Modell ist, die Kernschritte des Trainings sind immer dieselben – Verlust berechnen, Gradienten berechnen, Parameter aktualisieren. Dieses Modul führt diese Schritte an den kleinsten Beispielen selbst aus.
Eine GPU ist nicht nötig; aller Code läuft auf der CPU eines normalen Laptops in wenigen Sekunden. An Mathematik braucht es nur Ableitungen aus der Schule, und jede Formel wird mit Code und Zahlen überprüft.
Warum diese Reihenfolge
Erst mit numpy von Hand, dann PyTorch. Lektionen 1 bis 3 nutzen kein Deep-Learning-Framework: Eine Gerade zeigt, „was beim Training gesucht wird“, der Gradientenabstieg, „wie gesucht wird“, die Backpropagation, „woher die Gradienten kommen“. Damit ist PyTorch in Lektion 4 keine Blackbox; bei jeder Funktion weißt du, was dahinter passiert.
Die letzten beiden Lektionen arbeiten mit echten Daten. Lektion 5 löst eine Klassifikationsaufgabe und führt Softmax und Kreuzentropie ein, die im nächsten Modul unverändert bei GPT zum Einsatz kommen. Lektion 6 behandelt Überanpassung, ein Problem, auf das man beim Training jedes Modells stößt.
Du bist fertig, wenn
- du sagen kannst, was „Training“ tut: eine Menge von Parametern finden, die den Verlust möglichst klein macht.
- du die Schleife des Gradientenabstiegs von Hand schreiben kannst und sagen kannst, was bei zu kleiner und zu großer Lernrate passiert und warum man Eingaben standardisiert.
- du die Backpropagation mit der Kettenregel erklären und eine selbst geschriebene Gradientenberechnung mit numerischer Ableitung überprüfen kannst.
- du mit PyTorch eine vollständige Trainingsschleife schreiben kannst: Modell, Verlustfunktion, Optimierer, Gradienten nullen, Backpropagation, Parameter aktualisieren.
- du sagen kannst, warum Klassifikationsaufgaben Softmax und Kreuzentropie verwenden und wie hoch der Verlust eines Netzes mit 10 Klassen zu Beginn des Trainings ungefähr ist.
- du Überanpassung im Trainingslog erkennst und sagen kannst, was verschiedene Gegenmittel jeweils bewirken und wo ihre Grenzen liegen.
Code zu diesem Modul
Code und Programmausgaben stehen genau so da, wie sie gelaufen sind – Kommentare und Ausgaben sind daher auf Chinesisch.