Wie ein neuronales Netz lernt — von vorn erklärt, ohne Vorwissen und ohne Formeln, die man nicht braucht. Zum Mitspielen gehört Backprop Lab dazu.
Normalerweise sagt man einem Computer, wie er etwas tun soll. Bei einem neuronalen Netz sagt man ihm nur, was herauskommen soll — und überlässt ihm das Wie.
Nehmen wir eine kleine Aufgabe. Auf einem Blatt Papier liegen Punkte, manche grün, manche orange. Grün liegt innen, orange außen, aber niemand hat das je aufgeschrieben. Man könnte die Regel selbst herausfinden und programmieren: „Abstand vom Mittelpunkt kleiner als drei — dann grün." Damit wäre die Aufgabe gelöst, aber der Computer hätte nichts gelernt; die Arbeit hätte der Mensch gemacht.
Ein neuronales Netz geht anders vor. Es beginnt mit reinem Zufall und rät. Für jeden Punkt vergleicht es sein Raten mit der Wahrheit, misst, wie falsch es lag, und verstellt sich ein winziges bisschen in die Richtung, die den Fehler kleiner macht. Dann der nächste Punkt. Und der nächste. Ein paar hunderttausend Mal.
Mehr ist es im Kern nicht: raten, Fehler messen, ein wenig nachjustieren. Alles Weitere in diesem Text erklärt nur, woraus das Netz besteht und wie es weiß, in welche Richtung es sich verstellen muss.
Ein künstliches Neuron hat mit einer Nervenzelle ungefähr so viel zu tun wie ein Flugzeug mit einem Vogel: Die Idee stammt von dort, gebaut ist es völlig anders. In Wahrheit ist ein Neuron ein kleines Mischpult.
Es bekommt mehrere Zahlen herein. Jede hat einen eigenen Schieberegler — das Gewicht. Das Neuron dreht jeden Eingang nach seinem Gewicht auf oder ab, zählt alles zusammen, addiert noch eine Grundeinstellung dazu (den Bias) und schickt das Ergebnis durch eine letzte Funktion, die den Wert in einen handlichen Bereich staucht.
Das ist alles. Ein Neuron kann multiplizieren, addieren und stauchen. Die gesamte Fähigkeit eines Netzes entsteht daraus, dass sehr viele davon nebeneinander- und hintereinandergeschaltet sind.
Was kann ein einzelnes Neuron mit unseren Punkten anfangen? Erstaunlich wenig, und das ist lehrreich. Es kann genau eines: das Blatt mit einem geraden Schnitt in zwei Hälften teilen und sagen „hier grün, dort orange".
Die Gewichte bestimmen, wie der Schnitt gekippt ist, der Bias, wie weit er verschoben ist. Mehr Möglichkeiten hat ein Neuron nicht. Für zwei Punktwolken, die schräg nebeneinanderliegen, reicht das völlig. Für einen Kreis nicht — mit einer Geraden bekommt man das Innere nie sauber vom Äußeren getrennt.
Der Ausweg: Man nimmt mehrere Neuronen, gibt jedem dieselben Punkte und lässt jedes seinen eigenen Schnitt legen. Ein weiteres Neuron dahinter kombiniert die Antworten.
So entsteht Arbeitsteilung: Jedes Neuron der ersten Schicht kümmert sich um einen Aspekt, die nächste Schicht setzt die Teilantworten zusammen, die übernächste kombiniert deren Ergebnisse wieder. Diese hintereinandergeschalteten Gruppen heißen Schichten, und dass es mehrere davon gibt, ist das „tief" in Deep Learning.
In Backprop Lab kann man den Neuronen bei genau dieser Arbeitsteilung zusehen: Jedes trägt eine kleine Kachel, die zeigt, wie es das Blatt einfärbt. In der ersten Schicht sind das meist schlichte Hell-Dunkel-Verläufe, weiter hinten werden die Muster verwickelter.
Eine Kleinigkeit von vorhin entscheidet über alles: dieses „Stauchen" am Ende des Neurons, die Aktivierungsfunktion. Sie klingt nach technischem Beiwerk, ist aber der Grund, warum das Ganze überhaupt funktioniert.
Ohne sie wäre jedes Neuron nur eine Multiplikation mit anschließender Addition — und wenn man solche Rechnungen hintereinanderschaltet, kommt am Ende wieder nichts anderes heraus als eine einzige Multiplikation mit Addition. Hundert Schichten ergäben dieselbe gerade Linie wie ein einzelnes Neuron. Der ganze Aufwand wäre umsonst.
Erst der Knick in der Funktion — der Übergang von „reagiert kaum" zu „reagiert stark" —
macht jede Schicht zu einem echten Zugewinn. In der App kann man das in zwanzig Sekunden
nachstellen: Aktivierung auf linear stellen, drei Schichten mit acht Neuronen
bauen, trainieren. Es bleibt bei einer geraden Trennlinie, egal wie groß das Netz ist.
Wenn Sie sich aus diesem Text eine Sache merken: Ein Netz ohne Knick ist kein Netz, sondern eine sehr umständlich geschriebene Gerade.
Bis hierher haben wir eine Maschine mit vielen Schiebereglern. Jetzt muss jemand sie einstellen — und dieser Jemand ist kein Mensch, sondern ein Messwert.
Man zeigt dem Netz einen Punkt und vergleicht seine Antwort mit der Wahrheit. Soll +1 herauskommen und es sagt +0,3, ist das ein Fehler von 0,7. Diesen Fehler quadriert man (damit Vorzeichen egal sind und große Fehler stärker zählen) und mittelt über alle Punkte. Das Ergebnis ist der Verlust — eine einzige Zahl, die sagt: So schlecht bist du gerade.
Damit ist aus „lernen" etwas sehr Nüchternes geworden: Finde die Einstellung der Schieberegler, bei der diese eine Zahl möglichst klein ist. Das ist keine Philosophie mehr, das ist Suchen.
Nur: Ausprobieren geht nicht. Schon unser winziges Netz hat rund vierzig Schieberegler, und jeder kann jeden Wert annehmen. Alle Kombinationen durchzuprobieren dauert länger, als das Universum alt ist.
Stattdessen stellt man sich den Verlust als Landschaft vor: Jede mögliche Einstellung ist ein Ort, die Höhe über dem Boden ist der Fehler. Gesucht ist das tiefste Tal. Man steht irgendwo im dichten Nebel und sieht nichts — aber man kann mit dem Fuß spüren, in welche Richtung es hier bergab geht. Also macht man einen Schritt dorthin. Dann tastet man erneut. Und wieder. Das ist der Gradientenabstieg, und mehr steckt nicht dahinter.
0.001 lässt sie fast
waagerecht liegen, 1 lässt sie springen.Eine Frage bleibt offen, und es ist die entscheidende: Woher weiß ein einzelner Schieberegler tief im Netz, in welche Richtung er drehen muss? Er sieht das Ergebnis ja nicht — zwischen ihm und der Ausgabe liegen noch zwei Schichten.
Die Antwort ist ein Verfahren namens Backpropagation, zu deutsch Fehlerrückführung, und es funktioniert wie die Aufarbeitung eines verpatzten Staffellaufs. Am Ziel steht fest: zwei Sekunden zu langsam. Der Schlussläufer weiß, wie viel davon auf sein Konto geht und mit welchem Rückstand er übernommen hat — den reicht er an den Läufer vor ihm weiter, der dasselbe tut. So wandert die Schuld rückwärts durch die Mannschaft, bis jeder seinen Anteil kennt.
Mathematisch ist das die Kettenregel aus der Schulanalysis, mehr nicht — nur eben zigtausendmal angewandt. Wichtig ist der Schluss daraus: Nach dem Rückwärtsgang kennt jeder einzelne Schieberegler im ganzen Netz seine eigene Richtung „bergab". Alle drehen gleichzeitig ein kleines Stück, und der nächste Datenpunkt kommt dran.
Backpropagation ist übrigens der Grund, warum diese App so heißt. Der Ablauf — vorwärts raten, rückwärts Schuld verteilen, ein wenig nachstellen — ist derselbe, ob das Netz vierzig Gewichte hat oder vierzig Milliarden.
Drei Wörter tauchen ständig auf, und alle drei sind harmlos:
Diese Größen bestimmt kein Training, die stellt man von Hand ein. Deshalb heißen sie Hyperparameter: Einstellungen über dem Lernen, im Unterschied zu den Gewichten, die das Netz selbst findet.
Jetzt kommt die Stelle, an der die meisten Missverständnisse sitzen. Ein Netz mit genug Neuronen kann jeden Trainingspunkt richtig zuordnen — auch dann, wenn es die Regel dahinter nie begriffen hat. Es hat dann schlicht die Punkte gespeichert. Das ist der Unterschied zwischen einem Schüler, der die Grammatik verstanden hat, und einem, der die Beispielsätze auswendig kann: Solange man aus dem Buch abfragt, sind beide gleich gut.
Deshalb behält man von Anfang an einen Teil der Daten zurück und zeigt ihn dem Netz nie — die Testdaten. Wie gut ein Netz wirklich ist, entscheidet sich nur an ihnen. Läuft der Fehler auf den Trainingsdaten weiter nach unten, während er auf den Testdaten wieder steigt, hat das Auswendiglernen begonnen. Das nennt man Überanpassung.
Und es gibt ein zweites, feineres Kennzeichen: Ein Netz, das die Regel erfasst hat, verhält sich auch dort vernünftig, wo gar keine Punkte liegen. Seine Grenze ist glatt und folgt der Form der Aufgabe. Ein Netz, das auswendig gelernt hat, zieht Zipfel und Inseln um einzelne Punkte herum. Beides sieht man in der App unmittelbar — das ist der eigentliche Grund, warum sie die Entscheidungsfläche zeichnet und nicht nur eine Trefferquote anzeigt.
Alle Punkte richtig zu treffen ist kein Gütesiegel. Aussagekräftig ist, wie das Netz mit Punkten umgeht, die es noch nie gesehen hat.
Die Sprachmodelle, über die alle reden, sind aus denselben Bauteilen gemacht: gewichtete Summen, eine Aktivierungsfunktion mit Knick, Schichten hintereinander, ein Verlust, Gradienten- abstieg, Backpropagation. Wer diese Seite verstanden hat, kennt das Grundprinzip.
Drei Dinge sind anders. Erstens die Größenordnung: Unser Netz hat einige Dutzend Gewichte, große Sprachmodelle haben Milliarden bis Hunderte von Milliarden. Zweitens die Aufgabe — nicht „grün oder orange", sondern „welches Wortstück kommt als Nächstes", trainiert auf riesigen Textmengen. Drittens die Verschaltung: Solche Modelle verwenden zusätzliche Bausteine, allen voran die sogenannte Aufmerksamkeit, mit der jedes Wort gezielt auf andere Stellen im Text zugreifen kann.
Das ist ein gewaltiger Unterschied in Umfang und Raffinesse — aber kein anderer Grundgedanke. Auch dort wird geraten, der Fehler gemessen und ein winziges bisschen nachjustiert.
Lesen bringt nur die halbe Einsicht. Öffnen Sie die App und machen Sie das der Reihe nach — jeder Schritt zeigt genau eine der Aussagen von oben:
Das geht im Browser wie auf dem Telefon: Dieselbe Übung gibt es als Android-App. Getippt statt geklickt, und im Querformat stehen die Knöpfe oben in der Kopfzeile. Fehlen tut dort nur die Gewichtsanzeige beim Überfahren — ohne Mauszeiger gibt es die nicht; die Strichstärke bleibt der Anhaltspunkt.
Wer unterwegs nachschlagen will, findet in der App eine Kurzhilfe: Menüzeichen oben links, dann Hilfe — sechs Abschnitte auf Telefongröße. Abschnitt 14 des Handbuchs beschreibt die Fassung genauer.
linear stellen und noch einmal trainieren. Es bleibt bei
einer Geraden — der Knick fehlt (Abschnitt 5).tanh, Lernrate auf 1. Die Verlustkurve springt: zu
große Schritte (Abschnitt 7).0.03, Datensatz Spirale. Mit vier Neuronen
scheitert das Netz; Schichten und Neuronen hinzufügen, bis es klappt. So fühlt sich
Kapazität an.Danach lohnt sich das Handbuch: Dort steht zu jedem Regler, was er tut, und was passiert, wenn nichts mehr lernt.
| Begriff | In einem Satz |
|---|---|
| Neuron | Rechnet eine gewichtete Summe seiner Eingänge und staucht das Ergebnis. |
| Gewicht | Der Schieberegler an einem Eingang; wird beim Training verstellt. |
| Bias | Die Grundeinstellung eines Neurons, unabhängig von den Eingängen. |
| Aktivierung | Die Funktion mit dem Knick am Ausgang; ohne sie bliebe alles eine Gerade. |
| Schicht | Eine Gruppe von Neuronen, die dieselben Eingänge sieht. |
| Parameter | Alle Zahlen, die gelernt werden: sämtliche Gewichte und Biase zusammen. |
| Verlust | Eine Zahl, die misst, wie falsch das Netz gerade liegt. |
| Gradient | Die Richtung, in die ein Gewicht gedreht werden muss, damit der Verlust sinkt. |
| Backpropagation | Das Verfahren, das den Fehler rückwärts verteilt und daraus alle Gradienten gewinnt. |
| Lernrate | Wie weit bei jedem Schritt gedreht wird. |
| Epoche | Ein vollständiger Durchlauf durch alle Trainingsdaten. |
| Batch | Die Portion Datenpunkte, nach der die Gewichte einmal nachgestellt werden. |
| Testdaten | Zurückgehaltene Punkte, die das Netz nie zu sehen bekommt. |
| Überanpassung | Das Netz hat die Trainingspunkte gespeichert statt die Regel gelernt. |
| Merkmal | Eine Zahl, die vorne hineingeht — hier die Koordinaten eines Punktes und daraus abgeleitete Werte. |