EINFÜHRUNG

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.

Inhalt

  1. 1Die Grundidee
  2. 2Was ein Neuron tut
  3. 3Ein Neuron zieht eine Gerade
  4. 4Viele Neuronen zusammen
  5. 5Der Knick, der alles möglich macht
  6. 6Was „lernen" heißt
  7. 7Im Nebel bergab
  8. 8Backpropagation
  9. 9Epoche, Batch, Lernrate
  10. 10Verstehen oder auswendig lernen
  11. 11Und die großen Modelle?
  12. 12Zehn Minuten am Gerät
  13. 13Wörterbuch

1Die Grundidee

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.

2Was ein Neuron tut

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.

x₁ x₂ 1 Gewicht w₁ Gewicht w₂ Bias b aufaddieren z = w₁x₁ + w₂x₂ + b stauchen a = f(z) a Ausgabe
Ein Neuron. Die Eingänge x₁ und x₂ werden mit ihren Gewichten multipliziert, zusammengezählt und um den Bias verschoben; die Funktion f staucht das Ergebnis auf einen Bereich zwischen −1 und +1. Gelernt werden ausschließlich die Gewichte und der Bias — das sind die Zahlen, an denen das Training dreht.

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.

3Ein Neuron zieht eine Gerade

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.

4Viele Neuronen zusammen

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.

Neuron A ein Schnitt + Neuron B ein zweiter Schnitt = beide zusammen ein Streifen
Zwei Neuronen legen je einen geraden Schnitt. Ein drittes Neuron, das „grün nur, wenn beide zustimmen" verlangt, macht daraus einen Streifen. Vier Schnitte ergeben ein Rechteck, viele Schnitte einen Kreis — mit genug Neuronen lässt sich jede Form annähern.

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.

5Der Knick, der alles möglich macht

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.

6Was „lernen" heißt

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.

7Im Nebel bergab

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.

Tiefpunkt Passende Schrittweite Die Schritte werden von selbst kleiner, je flacher es wird. Zu große Schritte Das Tal wird jedes Mal übersprungen, der Fehler wird größer statt kleiner.
Die Schrittweite heißt Lernrate. Zu klein, und man kommt vor Feierabend nicht an; zu groß, und man springt über das Tal hinweg und landet höher als vorher. In der App sieht man beides sofort an der Verlustkurve: 0.001 lässt sie fast waagerecht liegen, 1 lässt sie springen.

8Backpropagation

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.

Eingabe verborgene Schicht Ausgabe Vorwärts: rechnen und raten Rückwärts: Fehler verteilen Erst hin, dann zurück. Vorwärts entsteht die Antwort, rückwärts der Anteil jedes Gewichts am Fehler.
Zwei Durchgänge je Datenpunkt. Vorwärts fließen die Zahlen von links nach rechts und ergeben eine Vorhersage. Rückwärts fließt der Fehler von rechts nach links, und jedes Gewicht erfährt dabei, wie stark es beteiligt war.

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.

9Epoche, Batch, Lernrate

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.

10Verstehen oder auswendig lernen

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.

11Und die großen Modelle?

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.

12Zehn Minuten am Gerät

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.

  1. Zurücksetzen drücken, dann Trainieren. Zusehen, wie aus dem zufälligen Farbnebel ein Kreis wird. Das ist der ganze Vorgang in dreißig Sekunden.
  2. Die Aktivierung auf linear stellen und noch einmal trainieren. Es bleibt bei einer Geraden — der Knick fehlt (Abschnitt 5).
  3. Zurück auf tanh, Lernrate auf 1. Die Verlustkurve springt: zu große Schritte (Abschnitt 7).
  4. Lernrate zurück auf 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.
  5. Während das Training läuft, eine dicke Verbindung anklicken und damit kappen. Der Fehler springt hoch — und das Netz verteilt die Aufgabe binnen Sekunden neu.
  6. Rauschen auf 50 %, Testpunkte einblenden, lange trainieren. Der Rand wird zipfelig, die Testkurve steigt wieder: Überanpassung (Abschnitt 10).

Danach lohnt sich das Handbuch: Dort steht zu jedem Regler, was er tut, und was passiert, wenn nichts mehr lernt.

13Wörterbuch

BegriffIn einem Satz
NeuronRechnet eine gewichtete Summe seiner Eingänge und staucht das Ergebnis.
GewichtDer Schieberegler an einem Eingang; wird beim Training verstellt.
BiasDie Grundeinstellung eines Neurons, unabhängig von den Eingängen.
AktivierungDie Funktion mit dem Knick am Ausgang; ohne sie bliebe alles eine Gerade.
SchichtEine Gruppe von Neuronen, die dieselben Eingänge sieht.
ParameterAlle Zahlen, die gelernt werden: sämtliche Gewichte und Biase zusammen.
VerlustEine Zahl, die misst, wie falsch das Netz gerade liegt.
GradientDie Richtung, in die ein Gewicht gedreht werden muss, damit der Verlust sinkt.
BackpropagationDas Verfahren, das den Fehler rückwärts verteilt und daraus alle Gradienten gewinnt.
LernrateWie weit bei jedem Schritt gedreht wird.
EpocheEin vollständiger Durchlauf durch alle Trainingsdaten.
BatchDie Portion Datenpunkte, nach der die Gewichte einmal nachgestellt werden.
TestdatenZurückgehaltene Punkte, die das Netz nie zu sehen bekommt.
ÜberanpassungDas Netz hat die Trainingspunkte gespeichert statt die Regel gelernt.
MerkmalEine Zahl, die vorne hineingeht — hier die Koordinaten eines Punktes und daraus abgeleitete Werte.