Kapitel 01
McCulloch & Pitts, 1943
Was ein Neuron rechnet
Fangen wir mit einer Enttäuschung an.
Ein künstliches Neuron hat mit einer Nervenzelle ungefähr so viel zu tun wie ein Papierflieger mit einer Taube. Der Name stammt aus den Vierzigerjahren, als man hoffte, dem Gehirn nachzubauen, was es tut. Was dabei herauskam, ist etwas anderes — und es ist so einfach, dass man es in einem Satz sagen kann.
Ein Neuron nimmt ein paar Zahlen, gewichtet jede davon, zählt alles zusammen und gibt das Ergebnis weiter.
Das ist alles. Kein Denken, kein Verstehen, keine Entscheidung im menschlichen Sinn. Multiplizieren und Addieren.
Ein Beispiel, an dem man es festhalten kann. Du willst abschätzen, ob dir ein Film gefallen wird. Drei Angaben liegen vor: die Bewertung anderer Zuschauer, die Länge in Stunden, und ob es eine Fortsetzung ist.
Jetzt kommt der einzige interessante Teil. Diese drei Angaben sind dir nicht gleich wichtig. Die Bewertung zählt für dich viel. Die Länge stört ein bisschen. Fortsetzungen magst du überhaupt nicht.
Genau das sind die Gewichte: Zahlen, die sagen, wie stark jede Eingabe zählt. Eine positive Zahl bedeutet, dass etwas für den Film spricht. Eine negative, dass es dagegen spricht. Und wie groß die Zahl ist, sagt, wie sehr.
Das Neuron multipliziert also jede Angabe mit ihrem Gewicht und zählt zusammen. Ein guter, kurzer Originalfilm bekommt eine hohe Zahl. Ein mittelmäßiger, langer dritter Teil eine niedrige.
Dazu kommt noch eine einzelne Zahl ohne Eingabe, die Physiker und Statistiker Bias nennen — auf Deutsch am ehesten Grundstimmung. Sie verschiebt das Ergebnis nach oben oder unten, ganz unabhängig davon, was hineinkommt. Wer grundsätzlich gern ins Kino geht, hat einen positiven Bias.
Und jetzt der Punkt, um den es in diesem ganzen Buch geht.
Diese Gewichte hat dir niemand gegeben. Du kennst sie nicht einmal selbst — du weißt nicht, dass Fortsetzungen bei dir genau mit dem Faktor minus zwei Komma drei ins Gewicht fallen. Bei einem künstlichen Neuron ist es dasselbe: Die Gewichte stehen am Anfang zufällig. Sie werden nicht eingestellt. Sie werden gefunden.
Wie man sie findet, ist der Inhalt der Kapitel 4 bis 6. Bis dahin genügt zu wissen: Ein Netz zu bauen heißt nicht, Regeln aufzuschreiben. Es heißt, eine Maschine zu bauen, die Regeln in Zahlen ausdrücken kann — und sie dann zwingen, die richtigen Zahlen zu finden.
Wer das verstanden hat, hat den schwierigsten Gedanken des Fachs bereits hinter sich.
Die Rechnung
z ist positiv — das Neuron feuert.
Die Trennlinie
Der Gewichtsvektor steht senkrecht auf der Trennlinie. Der Bias verschiebt sie parallel.
Kapitel 02
Das XOR-Problem
Warum es eine Krümmung braucht
1969 erschien ein schmales Buch, das ein ganzes Forschungsfeld für über zehn Jahre zum Erliegen brachte. Es hieß Perceptrons, die Autoren waren Marvin Minsky und Seymour Papert, und ihr Argument bestand im Wesentlichen aus einem einzigen Beispiel.
Das Beispiel geht so.
Ein Neuron soll entscheiden: Ja oder Nein. Bei zwei Eingaben, die jeweils null oder eins sein können, gibt es vier mögliche Fälle. Für die meisten Aufgaben ist das kein Problem.
Und für eine ist es unmöglich.
Die Aufgabe heißt Entweder-oder, oder auf Englisch XOR. Sie soll Ja sagen, wenn genau eine der beiden Eingaben eins ist, und Nein, wenn beide eins sind oder beide null. Also: Kaffee oder Tee — gern. Beides zusammen — nein danke. Gar nichts — auch nein.
Jetzt zeichne dir die vier Fälle auf ein Blatt Papier, als vier Punkte in einem Quadrat. Unten links beide null, unten rechts und oben links jeweils eine Eins, oben rechts beide Eins.
Die beiden Ja-Fälle liegen sich diagonal gegenüber. Die beiden Nein-Fälle ebenfalls.
Und jetzt versuch, mit einem einzigen geraden Strich die Ja-Punkte von den Nein-Punkten zu trennen.
Es geht nicht. Nicht weil du es falsch anstellst, sondern weil es keine solche Gerade gibt. Man kann es beweisen.
Genau das ist die Einschränkung aus dem vorigen Kapitel. Ein Neuron zieht eine Gerade. Was auf der einen Seite liegt, ist Ja, was auf der anderen liegt, ist Nein. Und manche Aufgaben lassen sich mit keiner Geraden lösen — egal wie klug man sie legt.
Der naheliegende Ausweg wäre: mehr Neuronen. Aber hier liegt die Falle. Legt man mehrere solche Schichten hintereinander, ohne etwas dazwischen zu tun, ergibt das Ganze wieder nur eine Gerade. Zehn Schichten sind exakt so mächtig wie eine. Man kann rechnen, so lange man will — es bleibt eine Gerade.
Was fehlt, ist eine Krümmung.
Und die Lösung ist verblüffend billig. Man setzt hinter jedes Neuron eine kleine, krumme Funktion. Sie tut fast nichts: Sie lässt Zahlen weitgehend durch, verbiegt sie aber ein wenig. Die einfachste und heute gebräuchlichste knickt einfach alles Negative auf null ab und lässt alles Positive unverändert.
Das klingt nach nichts. Es ist der Unterschied zwischen einem System, das Geraden ziehen kann, und einem, das jede beliebige Form annehmen kann.
Denn sobald zwischen den Schichten eine Krümmung sitzt, addieren sich die Schichten nicht mehr zu einer Geraden. Sie falten den Raum. Zwei geknickte Flächen ergeben eine kompliziertere. Drei eine noch kompliziertere. Und ab einer gewissen Zahl von Neuronen lässt sich damit jede stetige Funktion beliebig genau nachbilden. Das ist ein bewiesener Satz, nicht eine Hoffnung.
Bleibt die Frage, wieso Minskys Buch dann so gewirkt hat. Denn dass mehrere Schichten das XOR-Problem lösen, war schon damals bekannt.
Was fehlte, war kein Wissen über die Struktur, sondern ein Verfahren, um die Gewichte in einem mehrschichtigen Netz zu finden. Für ein einzelnes Neuron gab es eines. Für mehrere Schichten nicht. Man wusste, dass die Lösung existiert — man konnte sie nur nicht suchen.
Dieses Verfahren kam 1986. Es steht in Kapitel 6.
Richtig getrennt: 3 von 4
Höchstens drei von vier. Es gibt keine Gerade, die alle vier richtig trennt.
Kapitel 03
Verlustfunktionen
Den Fehler messen
Bevor ein Netz besser werden kann, muss jemand sagen, wie schlecht es gerade ist. Und zwar als Zahl.
Das klingt banal, ist aber der Angelpunkt des ganzen Fachs. Solange man nur sagt "das Ergebnis ist unbefriedigend", lässt sich nichts damit anfangen. Erst wenn daraus eine einzige Zahl wird, kann man fragen: Wird sie größer oder kleiner, wenn ich an diesem Gewicht drehe?
Diese Zahl heißt Verlust. Je größer sie ist, desto schlechter das Netz. Das Ziel des gesamten Trainings besteht darin, sie zu verkleinern — mehr nicht.
Wie man sie berechnet, hängt davon ab, was das Netz tun soll. Zwei Fälle decken das meiste ab.
**Erster Fall: eine Zahl vorhersagen.** Was kostet diese Wohnung? Wie warm wird es morgen? Hier gibt es einen richtigen Wert und einen vorhergesagten, und die Differenz ist der Fehler.
Man könnte diese Differenz einfach nehmen. Üblich ist aber, sie zu quadrieren. Das hat zwei Gründe. Erstens verschwindet dadurch das Vorzeichen — zwei Grad zu warm und zwei Grad zu kalt sind gleich schlecht, sollen sich aber nicht gegenseitig aufheben. Zweitens werden große Fehler dadurch überproportional bestraft: Zehn Grad daneben ist nicht fünfmal so schlimm wie zwei Grad daneben, sondern fünfundzwanzigmal.
Das ist eine Entscheidung, keine Naturnotwendigkeit. Sie sorgt dafür, dass das Netz Ausreißer besonders ernst nimmt. Manchmal will man das. Manchmal ist es genau falsch — wenn die Daten fehlerhafte Messwerte enthalten, jagt das Netz womöglich einem Tippfehler hinterher, statt den Rest gut zu treffen.
**Zweiter Fall: eine Kategorie erkennen.** Ist auf dem Bild eine Katze, ein Hund oder ein Vogel? Hier gibt es keine Differenz, die man bilden könnte. Katze minus Hund ist keine sinnvolle Rechnung.
Stattdessen gibt das Netz für jede Möglichkeit eine Wahrscheinlichkeit aus: siebzig Prozent Katze, zwanzig Prozent Hund, zehn Prozent Vogel. Und der Fehler bemisst sich daran, wie viel Wahrscheinlichkeit das Netz der richtigen Antwort gegeben hat.
Die dafür übliche Größe hat eine unangenehme Eigenschaft, und die ist Absicht. Sagt das Netz mit voller Überzeugung etwas Falsches — null Prozent für die richtige Antwort —, geht der Verlust ins Unendliche.
Das ist kein Fehler in der Formel. Es ist eine Erziehungsmaßnahme. Ein Netz, das unsicher daneben liegt, wird moderat bestraft. Ein Netz, das sich absolut sicher ist und irrt, wird ruiniert. Damit lernt es, seine Unsicherheit zuzugeben, statt zu raten und zu hoffen.
Wer schon einmal ein Sprachmodell gesehen hat, das eine falsche Antwort mit vollkommener Überzeugung vorträgt, ahnt, dass diese Erziehung nicht immer greift. Aber sie ist eingebaut.
Ein Letztes, und es ist wichtig für das nächste Kapitel.
Bisher haben wir vom Fehler bei *einem* Beispiel gesprochen. Beim Training gibt es aber Tausende. Der Gesamtverlust ist einfach der Durchschnitt über alle.
Damit ist aus vielen einzelnen Fehlern eine einzige Zahl geworden. Und genau dafür brauchte man sie: Eine einzige Zahl kann man kleiner machen.
Regression
- Quadratisch bei 2
- 4,0
- Absolut bei 2
- 2,0
- Huber bei 2
- 1,50
Der quadratische Fehler bestraft große Abweichungen überproportional. Der Huber-Verlust wechselt bei δ von quadratisch zu linear.
Klassifikation
Kapitel 04
Die Richtung des steilsten Anstiegs
Der Gradient
Stell dir vor, du stehst im dichten Nebel auf einem Berghang und willst ins Tal. Sehen kannst du nichts, keine zehn Meter weit. Aber du spürst den Boden unter den Füßen.
Also machst du das Naheliegende: Du tastest mit dem Fuß in verschiedene Richtungen und suchst die, in der es am steilsten abwärts geht. Dann gehst du ein Stück. Dann wieder von vorn.
Das ist der gesamte Trick. Mehr passiert beim Training eines neuronalen Netzes nicht.
Der Nebel steht dabei für etwas Konkretes. Du kennst die Landschaft nicht, in der du dich bewegst — niemand kennt sie. Ein Netz mit einer Milliarde Gewichten hat eine Fehlerlandschaft mit einer Milliarde Richtungen, in die man gehen könnte. Die kann man nicht überblicken, nicht zeichnen, nicht durchsuchen.
Was man kann, ist genau das, was der Wanderer im Nebel kann: an einer einzigen Stelle feststellen, wo es bergab geht.
Der Gradient ist die mathematische Fassung dieses Tastens. Er ist eine Liste, die für jedes einzelne Gewicht sagt: Wenn du dieses eine Gewicht ein winziges Stück erhöhst — wird der Fehler dann größer oder kleiner, und wie stark?
Bei einer Milliarde Gewichten ist der Gradient also eine Liste mit einer Milliarde Einträgen. Für jedes einzelne eine Richtung und eine Stärke.
Und diese Liste hat eine Eigenschaft, die alles möglich macht: Zusammengenommen zeigt sie in die Richtung des steilsten Anstiegs. Die Gegenrichtung ist folglich die des steilsten Abstiegs. Man muss also nicht ausprobieren, nicht raten, nicht durchsuchen — man rechnet die beste Richtung direkt aus.
Zwei Dinge sollte man sich dabei klarmachen, weil sie oft untergehen.
Erstens: Der Gradient gilt nur an dem Punkt, an dem man gerade steht. Er sagt nichts darüber, wie die Landschaft zehn Schritte weiter aussieht. Nach jedem Schritt muss man neu tasten. Deshalb ist Training ein Verfahren aus Millionen kleiner Schritte und keine einmalige Rechnung.
Zweitens: Der Gradient zeigt bergab, nicht zum tiefsten Punkt. Das sind zwei verschiedene Dinge. Er führt dich zuverlässig in irgendein Tal — nicht notwendigerweise in das tiefste. Wie schlimm das ist, steht im nächsten Kapitel.
Das Bemerkenswerte an dem Ganzen ist, wie wenig Information man braucht. Man muss die Landschaft nicht kennen. Man muss nicht wissen, wo das Ziel liegt. Es genügt, an jedem Punkt zu wissen, wo es abwärts geht — und das ist eine rein lokale Auskunft, die sich mit vertretbarem Aufwand berechnen lässt.
Aus dieser lokalen Auskunft, millionenfach wiederholt, entsteht alles Übrige.
- Punkt (w₁; w₂)
- (1,00; 1,00)
- Verlust L
- 11,00
- Gradient (2w₁; 20w₂)
- (2,00; 20,00)
- Betrag ‖∇L‖
- 20,10
- Konditionszahl κ
- 10
- Eigenwerte der Hesse-Matrix
- 2 und 20
Am Punkt (1; 1) zeigt der Gradient fast ausschließlich in Richtung w₂, obwohl der Weg zum Minimum durch das langgestreckte Tal führt. Das ist der Grund, warum das Verfahren im nächsten Kapitel pendelt.
Kapitel 05
Cauchy, 1847
Gradientenabstieg
Die Richtung kennen wir jetzt. Bleibt eine Frage, die banal klingt und über Erfolg oder Scheitern entscheidet: Wie weit geht man?
Diese Schrittweite heißt Lernrate, und sie ist die wichtigste Stellschraube beim Training eines Netzes. Nicht die Architektur, nicht die Größe — die Schrittweite.
Drei Fälle, zurück im Nebel am Berghang.
**Zu kleine Schritte.** Du tastest, gehst zwei Zentimeter, tastest wieder. Du kommst tatsächlich ins Tal — irgendwann. Bei einem großen Netz kann "irgendwann" Wochen Rechenzeit bedeuten, und Rechenzeit kostet Geld. Zu vorsichtig ist teuer.
**Zu große Schritte.** Du spürst, es geht nach links unten, und machst einen Satz von zweihundert Metern. Dabei springst du über das Tal hinweg und landest am gegenüberliegenden Hang — höher als vorher. Dort tastest du wieder, springst zurück, landest noch höher.
Statt hinabzusteigen, schaukelst du dich auf. Der Fehler wird nicht kleiner, sondern größer, und zwar schnell. In der Praxis sieht man das als Zahlenwerte, die binnen Sekunden ins Unendliche laufen. Das Netz ist dann nicht schlecht trainiert — es ist zerstört, und man fängt von vorn an.
**Passende Schritte.** Groß genug, um voranzukommen, klein genug, um nicht hinauszuschießen. Wo diese Grenze liegt, hängt vom Netz, den Daten und der Stelle in der Landschaft ab. Man findet sie durch Ausprobieren. Es gibt dafür keine Formel.
Damit zum zweiten Problem, und das ist subtiler.
Um den Gradienten auszurechnen, müsste man streng genommen alle Trainingsbeispiele durchrechnen — bei modernen Datensätzen Milliarden. Für einen einzigen Schritt. Das ist unbezahlbar.
Also nimmt man eine Stichprobe. Ein paar Dutzend zufällige Beispiele, rechnet den Gradienten nur darauf aus und geht in diese Richtung. Die Richtung ist dadurch ungenau — sie zeigt nicht exakt bergab, sondern ungefähr.
Man würde erwarten, dass das schadet. Es hilft.
Der Grund ist, dass die Ungenauigkeit wie ein leichtes Rütteln wirkt. Bleibt das Verfahren an einer flachen Stelle hängen, an der der Gradient fast null ist, schubst die Zufälligkeit der nächsten Stichprobe es wieder heraus. Ein exaktes Verfahren bliebe dort liegen.
Das ist einer der schöneren Zufälle des Fachs: Eine Abkürzung, die man aus Kostengründen gewählt hat, stellt sich als sachlich überlegen heraus.
Zwei Verbesserungen, die heute Standard sind, in einem Satz.
**Trägheit.** Statt bei jedem Schritt nur auf den aktuellen Gradienten zu hören, behält man ein Stück der bisherigen Bewegungsrichtung bei — wie eine Kugel, die Schwung hat. Das glättet das Zickzack in langgestreckten Tälern und hilft über flache Stellen hinweg.
**Eigene Schrittweite pro Gewicht.** Manche Gewichte müssen sich stark ändern, andere kaum. Statt für alle dieselbe Schrittweite zu nehmen, passt man sie für jedes einzeln an, je nachdem wie stark es sich bisher bewegt hat. Das gebräuchlichste Verfahren dieser Art heißt Adam und stammt von 2015. Es ist bis heute die Voreinstellung in praktisch jedem System.
Bleibt eine Frage, die man sich stellen sollte: Warum funktioniert das überhaupt?
Man tastet in einer Landschaft mit Milliarden Richtungen, sieht nichts, macht kleine Schritte in eine ungefähr richtige Richtung — und am Ende steht ein System, das Sprache verarbeitet. Eine befriedigende Antwort darauf hat niemand. Dass es funktioniert, ist besser belegt als warum.
- Startpunkt
- (3,00; 1,00)
- Lernrate η
- 0,050
- Schritte bis zur Konvergenz
- 76
- Stabilitätsgrenze
- 0,100
Die Grenze bei 0,1 ist keine Faustregel, sondern folgt exakt aus dem größten Eigenwert der Hesse-Matrix.
Kapitel 06
Rumelhart, Hinton & Williams, 1986
Rückpropagierung
Hier liegt der Punkt, an dem das Fach siebzehn Jahre lang feststeckte. Und die Auflösung ist etwas, das du in der Schule gelernt hast.
Das Problem, noch einmal in einem Satz: Wir wissen aus Kapitel 4, dass wir für jedes einzelne Gewicht ausrechnen müssen, wie stark es zum Fehler beiträgt. Bei einem Gewicht in der letzten Schicht ist das machbar — es wirkt direkt auf die Ausgabe. Aber bei einem Gewicht in der ersten Schicht?
Dessen Einfluss läuft durch alles hindurch. Es verändert eine Zahl, die eine nächste verändert, die eine nächste verändert, zwölf Schichten weit, und ganz am Ende kommt der Fehler heraus. Wie soll man aufdröseln, welchen Anteil dieses eine Gewicht daran hatte?
Die naheliegende Antwort wäre: ausprobieren. Ändere das Gewicht ein winziges Stück, rechne alles neu durch, schau, wie sich der Fehler verändert. Das funktioniert. Aber es braucht einen kompletten Durchlauf durch das Netz — pro Gewicht. Bei einer Milliarde Gewichten also eine Milliarde Durchläufe für einen einzigen Trainingsschritt.
Das ist nicht langsam. Das ist unmöglich.
Und jetzt die Auflösung.
Erinnerst du dich an die Kettenregel? Wenn eine Größe von einer zweiten abhängt und die zweite von einer dritten, dann multiplizieren sich die Änderungsraten einfach.
Ein Bild dazu. Ein Zahnrad treibt ein zweites an, das ein drittes antreibt. Das erste dreht doppelt so schnell wie das zweite, das zweite dreimal so schnell wie das dritte. Wie verhält sich das erste zum dritten? Sechsmal so schnell. Man multipliziert.
Ein neuronales Netz ist nichts anderes als eine sehr lange Kette solcher Zahnräder. Und die Kettenregel sagt: Der Einfluss eines Gewichts ganz vorne auf den Fehler ganz hinten ist das Produkt aller Übersetzungsverhältnisse dazwischen.
Damit lässt sich das Problem umdrehen. Statt für jedes Gewicht einzeln vorwärts zu rechnen, geht man einmal rückwärts durch das Netz und sammelt die Faktoren ein.
Man beginnt am Ende, wo der Fehler entsteht und leicht zu bestimmen ist. Dann fragt man die vorletzte Schicht: Wie stark hast du zu diesem Fehler beigetragen? Diese Antwort reicht man an die Schicht davor weiter, und so fort, bis nach vorn.
Jede Schicht bekommt eine Zahl von hinten, verrechnet sie mit dem, was sie selbst getan hat, und gibt das Ergebnis weiter. Wie ein Vorwurf, der die Befehlskette hinunterwandert und dabei aufgeteilt wird.
Am Ende dieses einen Rückwärtslaufs kennt man den Beitrag jedes einzelnen Gewichts.
Und hier die Zahl, um die es geht: Ein Vorwärtslauf, ein Rückwärtslauf. Zusammen etwa der doppelte Aufwand eines Vorwärtslaufs — unabhängig davon, ob das Netz tausend oder eine Milliarde Gewichte hat.
Vorher: eine Milliarde Durchläufe. Nachher: zwei.
Das ist die gesamte Erfindung. Kein neues Prinzip, keine neue Mathematik — die Kettenregel stammt von Leibniz. Nur die Einsicht, dass man sie rückwärts anwenden kann und dabei jedes Zwischenergebnis genau einmal braucht.
Ein Wort zur Geschichte, weil sie oft verkürzt erzählt wird. Das Verfahren wurde mehrfach unabhängig gefunden — unter anderem 1970 von Seppo Linnainmaa in einer finnischen Diplomarbeit über Rundungsfehler, ohne jeden Bezug zu neuronalen Netzen. Bekannt wurde es erst 1986 durch David Rumelhart, Geoffrey Hinton und Ronald Williams, die zeigten, was sich damit tatsächlich trainieren lässt.
Danach war die Blockade aus Kapitel 2 aufgelöst. Man wusste nun nicht mehr nur, dass mehrschichtige Netze eine Lösung haben — man konnte sie finden.
- z₁
- -0,20
- a₁ = ReLU(z₁)
- 0,00
- z₂
- 1,70
- a₂ = ReLU(z₂)
- 1,70
- Ausgabe
- -0,89
- Zielwert y
- 1,00
- Rückpropagierung
- 1 Vorwärtslauf + 1 Rückwärtslauf
- Numerisch, ein Parameter nach dem anderen
- 9 zusätzliche Vorwärtsläufe
- Dasselbe bei 10⁹ Parametern
- 1,0 × 10⁹ zusätzliche Vorwärtsläufe
Das inaktive Neuron erhält den Gradienten null — es lernt in diesem Schritt nichts. Genau daher stammt das Problem der absterbenden Neuronen aus Kapitel 7.
Kapitel 07
Verschwindende Gradienten
Warum Tiefe schwierig ist
Nach 1986 war das Verfahren da. Man konnte mehrschichtige Netze trainieren, und die Blockade schien überwunden.
Sie war es nicht. Zwei Schichten funktionierten. Drei auch noch. Bei zehn passierte etwas Seltsames: Die vorderen Schichten lernten praktisch nichts. Ihre Gewichte standen nach tausend Trainingsschritten fast genauso da wie am Anfang.
Es dauerte bis in die 1990er Jahre, bis jemand sauber aufschrieb, woran das liegt. Und der Grund steckt in einer einzigen Zahl, die schon in Kapitel 2 stand.
Erinnere dich an die Rückpropagierung: Der Einfluss eines Gewichts ganz vorne ist das Produkt aller Faktoren dazwischen. Zehn Schichten, zehn Faktoren, multipliziert.
Und jetzt schau dir an, wie groß diese Faktoren sind. Bei der damals üblichen Aktivierungsfunktion beträgt der größtmögliche Wert ein Viertel. Nicht der typische — der größtmögliche.
Multipliziere ein Viertel zehnmal mit sich selbst. Das Ergebnis ist ungefähr ein Millionstel.
Das heißt: Das Signal, das in der zehnten Schicht von hinten ankommt, ist millionenfach schwächer als das, das in der letzten ankam. Die vorderen Schichten bekommen kein Feedback. Sie erfahren nicht, was sie falsch machen. Sie stehen im Nebel und hören nichts mehr.
Man nennt das das Problem der verschwindenden Gradienten. Es ist der Grund, warum das Fach nach 1986 noch einmal fast zwanzig Jahre brauchte.
Der umgekehrte Fall existiert auch. Sind die Faktoren größer als eins, wächst das Produkt explosionsartig statt zu verschwinden. Dann werden die vorderen Schichten nicht taub, sondern hysterisch — sie bekommen ein so gewaltiges Signal, dass ihre Gewichte in einem einzigen Schritt ins Unbrauchbare springen.
Beides ist dasselbe Problem: Ein Produkt vieler Zahlen ist selten in der Nähe von eins. Es geht entweder gegen null oder gegen unendlich, und Ausgeglichenheit ist der Ausnahmefall, den man aktiv herstellen muss.
Genau das taten die drei Lösungen, die schließlich funktionierten. Alle drei sind einfach.
Erstens: eine andere Krümmung. Die alte Funktion hatte überall einen Faktor unter einem Viertel. Die neue — die, die alles Negative auf null knickt — hat für positive Werte exakt den Faktor eins. Eins mal eins mal eins bleibt eins, beliebig oft. Das Signal kommt ungeschwächt durch. Diese Funktion ist mathematisch primitiver als ihre Vorgängerin, und genau deshalb funktioniert sie.
Zweitens: Zahlen unterwegs neu ausrichten. Zwischen die Schichten setzt man einen Schritt, der die durchlaufenden Werte wieder auf eine vernünftige Größenordnung bringt — ungefähr so, wie ein Verstärker den Pegel nachregelt, bevor das Signal weitergeht.
Drittens, und das war der Durchbruch: eine Abkürzung einbauen. Statt das Signal zwingend durch jede Schicht zu schicken, legt man zusätzlich einen direkten Weg daran vorbei. Jede Schicht bekommt die Aufgabe, nur noch eine kleine Korrektur beizusteuern, statt alles neu zu berechnen.
Für das Rückwärtssignal bedeutet das: Es gibt jetzt eine Autobahn nach vorn. Selbst wenn der Weg durch die Schichten das Signal dämpft, kommt über die Abkürzung etwas Unverfälschtes an.
Diese Idee stammt von 2015 und heißt Residualverbindung. Vorher lag die Grenze bei ungefähr zwanzig Schichten. Danach trainierte man Netze mit über hundert, später mit tausend.
Es lohnt sich, einen Moment darauf zu schauen, was hier eigentlich passiert ist. Das Hindernis war nicht mangelnde Rechenleistung und nicht zu wenig Daten. Es war eine Zahl kleiner als eins, die zehnmal mit sich selbst multipliziert wurde. Ein ganzes Forschungsfeld stand jahrzehntelang wegen einer Multiplikation still.
- Faktor je Schicht
- 0,25
- Signal nach 20 Schichten
- 9,1 × 10⁻¹³
- nach 5 Schichten
- 9,8 × 10⁻⁴
- nach 20 Schichten
- 9,1 × 10⁻¹³
Ein Faktor kleiner als eins, zwanzigmal multipliziert. Mehr ist das Problem nicht — und es hat das Fach zwei Jahrzehnte aufgehalten.
Kapitel 08
Mikolov, 2013
Bedeutung als Vektor
Ein Netz rechnet mit Zahlen. Ein Wort ist keine Zahl. Bevor irgendetwas anderes passieren kann, muss dieser Übergang gelöst werden — und wie man ihn löst, entscheidet über alles Weitere.
Der naive Weg wäre, einfach durchzunummerieren. Katze bekommt die 1, Hund die 2, Auto die 3.
Das ist schlimmer als nutzlos, denn es behauptet Dinge, die nicht stimmen. Es sagt, Hund liege zwischen Katze und Auto. Es sagt, Katze plus Auto ergebe eine Zahl in der Nähe von Hund. Man hat Beziehungen erfunden, wo keine sind, und das Netz nimmt sie ernst.
Der nächste Versuch: Jedes Wort bekommt eine eigene Schublade. Bei fünfzigtausend Wörtern eine Liste mit fünfzigtausend Einträgen, alle null bis auf einen.
Das behauptet wenigstens nichts Falsches. Aber es behauptet auch nichts Richtiges. Katze und Hund sind darin exakt so verschieden wie Katze und Bruchrechnung. Jedes Wort steht allein.
Die Lösung, und sie ist der Kern dieses Kapitels: Man gibt jedem Wort nicht eine Zahl, sondern eine Liste von vielleicht dreihundert Zahlen — und lässt das Netz diese Zahlen selbst herausfinden.
Man kann sich das als Koordinaten vorstellen. Jedes Wort bekommt einen Ort in einem Raum mit dreihundert Richtungen. Nah beieinander heißt: ähnlich verwendet. Weit auseinander heißt: verschieden.
Woher weiß das Netz, welches Wort wohin gehört? Aus einer Beobachtung, die der Linguist John Firth 1957 in einen Satz gefasst hat: Man erkennt ein Wort an der Gesellschaft, in der es auftritt.
Katze und Hund stehen in ähnlichen Sätzen. Beide werden gefüttert, streunen, schlafen, gehören jemandem. Bruchrechnung nicht. Wer genügend Text durchgeht und mitzählt, welche Wörter in welcher Umgebung vorkommen, kann daraus Orte vergeben, ohne ein einziges Wort zu verstehen.
Und jetzt das Ergebnis, das 2013 alle überrascht hat.
In diesem Raum ergeben Richtungen plötzlich Sinn.
Nimm den Ort von König, ziehe den von Mann ab, addiere den von Frau. Man landet in unmittelbarer Nähe von Königin. Dasselbe funktioniert mit Paris minus Frankreich plus Italien — man landet bei Rom.
Niemand hat das eingebaut. Es ist herausgefallen, als man Wörter nach ihrer Umgebung sortiert hat. Offenbar entspricht der Unterschied zwischen männlicher und weiblicher Form einer bestimmten Verschiebung, und diese Verschiebung ist bei vielen Wortpaaren dieselbe.
Man sollte dabei zwei Dinge im Kopf behalten.
Erstens ist der Effekt schwächer, als die berühmten Beispiele nahelegen. Er funktioniert gut bei Geschlecht, Ländern und Hauptstädten, Steigerungsformen. Bei abstrakteren Beziehungen wird er schnell unzuverlässig. Die drei Beispiele, die überall zitiert werden, sind ausgewählte Treffer.
Zweitens: Der Raum enthält, was in den Texten steht — auch das, was man dort nicht haben möchte. Untersucht man die Richtung, die männliche von weiblichen Wörtern trennt, und schaut, welche Berufe entlang dieser Richtung liegen, findet man die Vorurteile der Textquellen sauber vermessen wieder. Das ist kein Fehler des Verfahrens. Es ist eine Messung.
Der eigentliche Gewinn dieses Kapitels liegt woanders. Sobald Bedeutung als Ort im Raum vorliegt, wird sie rechenbar. Ähnlichkeit ist ein Abstand. Beziehung ist eine Richtung. Und alles, was in den vorigen Kapiteln über Gradienten und Optimierung gesagt wurde, lässt sich darauf anwenden.
Das gilt nicht nur für Wörter. Bilder, Töne, Moleküle, Bewegungsabläufe — alles, was sich als Vektor darstellen lässt, wird damit derselben Maschinerie zugänglich.
Schematische Anordnung zur Veranschaulichung. Echte Einbettungen haben mehrere hundert Dimensionen und lassen sich nicht ohne Verlust in der Ebene darstellen.
Fünf nächste Nachbarn von „König“
- Mutter
- 0,999
- Tochter
- 0,999
- Frau
- 0,987
- Mann
- 0,978
- Vater
- 0,966
Analogierechner
- 1. Königin
- 1,000
- 2. Löwe
- 0,944
- 3. Fisch
- 0,990
Die drei Eingabewörter sind von der Suche ausgeschlossen.
Kapitel 09
Faltung und Lokalität
Gewichte teilen
Rechnen wir kurz nach, warum die bisherige Bauweise für Bilder nicht taugt.
Ein Foto von tausend mal tausend Bildpunkten hat eine Million Werte. Jedes Neuron der ersten Schicht müsste mit jedem davon verbunden sein. Bei tausend Neuronen sind das eine Milliarde Gewichte — in der ersten Schicht allein.
Das ist nicht nur teuer. Es ist auch dumm, und zwar aus zwei Gründen.
**Erstens ist Nachbarschaft wichtig, und die Bauweise weiß nichts davon.** In einem Bild gehören benachbarte Bildpunkte zusammen. Ein Auge ist ein Muster aus Punkten, die beieinanderliegen. Ein voll verbundenes Netz behandelt aber alle Bildpunkte gleich — der Punkt links oben und sein direkter Nachbar sind für es genauso verwandt wie der Punkt links oben und der rechts unten. Es müsste erst mühsam lernen, dass Nachbarschaft überhaupt etwas bedeutet.
**Zweitens lernt es alles mehrfach.** Eine Kante ist eine Kante, egal wo im Bild sie liegt. Ein voll verbundenes Netz lernt sie trotzdem für jede Position neu: einmal für links oben, einmal für die Mitte, einmal für rechts unten. Millionenfach dieselbe Erkenntnis.
Die Lösung ergibt sich fast von selbst, wenn man diese beiden Punkte ernst nimmt.
Man nimmt ein kleines Fenster — sagen wir drei mal drei Bildpunkte — und darin ein Muster aus neun Gewichten. Dieses Fenster schiebt man über das gesamte Bild, Position für Position, und rechnet überall dasselbe aus.
Neun Gewichte. Für das ganze Bild.
Diese neun Gewichte bilden zusammen einen Detektor für ein bestimmtes lokales Muster. Ein bestimmtes Muster erkennt senkrechte Kanten, ein anderes waagerechte, ein drittes Ecken. Und weil dasselbe Fenster überall langläuft, funktioniert der Detektor an jeder Stelle des Bildes gleich gut.
Man nennt das eine Faltung, und in der Bildverarbeitung war das Verfahren lange vor den neuronalen Netzen bekannt. Der Unterschied ist nur: Früher hat ein Mensch die neun Zahlen festgelegt. Jetzt findet das Netz sie selbst.
Legt man mehrere solcher Schichten übereinander, entsteht etwas Bemerkenswertes.
Die erste Schicht sieht nur ein winziges Fenster und findet darin Kanten und Farbübergänge. Die zweite sieht Fenster der ersten Schicht, also Kombinationen von Kanten — Ecken, Kurven, einfache Formen. Die dritte sieht Kombinationen davon: Kreise, Gitter, Texturen. Und irgendwo weiter oben: Augen, Räder, Buchstaben.
Niemand hat diese Reihenfolge vorgegeben. Sie entsteht, weil jede Schicht nur einen kleinen Ausschnitt der vorigen sieht und das, was sie sieht, immer schon zusammengesetzt ist.
Man kann sich das anschauen. Es gibt Verfahren, die sichtbar machen, worauf ein einzelnes Neuron reagiert, und die Ergebnisse sehen tatsächlich so aus: unten Kantenmuster, weiter oben Texturen, ganz oben etwas, das erkennbar Gesichtern oder Hundeköpfen ähnelt.
Der Preis dieser Bauweise ist eine Annahme, die man trifft.
Man behauptet: In diesen Daten ist Nachbarschaft wichtig, und ein Muster bedeutet überall dasselbe. Für Bilder stimmt das gut. Für Tonaufnahmen auch — dort in der Zeit statt im Raum. Für eine Tabelle mit Kundendaten stimmt es überhaupt nicht; die Spalte neben dem Alter hat mit dem Alter nichts zu tun.
Und genau hier liegt der Übergang zum nächsten Kapitel. Die Faltung baut eine feste Annahme über die Struktur der Daten ein. Was, wenn man diese Annahme nicht treffen will — wenn das Netz selbst herausfinden soll, welche Stellen zusammengehören?
Das ist die Frage, die zur Aufmerksamkeit führt.
Die Faltung Schritt für Schritt
Klick auf ein Feld ändert den Grauwert
Freier Kern
| 0,15 · 1,00 | 0,150 |
| 0,15 · 0,00 | 0,000 |
| 0,15 · -1,00 | -0,150 |
| 0,15 · 1,00 | 0,150 |
| 0,15 · 0,00 | 0,000 |
| 0,15 · -1,00 | -0,150 |
| 0,15 · 1,00 | 0,150 |
| 0,15 · 0,00 | 0,000 |
| 0,15 · -1,00 | -0,150 |
| Summe | 0,000 |
Parameterzahl im Vergleich
1024 × 1024 Bildpunkte · 3 Farbkanäle
- voll verbunden, 1000 Neuronen
- 3,1 × 10⁹ Gewichte
- Faltung, 32 Kerne der Größe 3
- 896 Gewichte
- Verhältnis
- 3,5 × 10⁶ : 1
voll verbunden
Faltung
Die Parameterzahl einer Faltungsschicht hängt nicht von der Bildgröße ab. Das ist der ganze Gewinn.
Kapitel 10
Bahdanau, 2014
Aufmerksamkeit
Nimm den Satz: Das Tier überquerte die Straße nicht, weil es zu müde war.
Worauf bezieht sich "es"? Auf das Tier natürlich. Aber ändere ein einziges Wort — "weil sie zu breit war" — und plötzlich bezieht es sich auf die Straße.
Für dich war das kein Aufwand. Du hast beim Lesen automatisch das richtige Wort herangezogen. Und genau diese Fähigkeit hatten Netze lange Zeit nicht.
Warum das schwer ist, sieht man am Vergleich mit dem vorigen Kapitel. Eine Faltung schaut immer auf dieselbe Nachbarschaft: drei Bildpunkte links, drei rechts. Das ist fest verdrahtet. Bei einem Satz hilft das wenig, denn das Wort, auf das sich "es" bezieht, kann zwei Wörter entfernt stehen oder zwanzig.
Was man bräuchte, ist eine Verbindung, die sich nach dem Inhalt richtet statt nach der Position.
Genau das leistet der Aufmerksamkeitsmechanismus, und die Idee lässt sich mit einem Bild aus einer Bibliothek fassen.
Jedes Wort im Satz tut drei Dinge gleichzeitig.
Es stellt **eine Anfrage**: Wonach suche ich? Das Wort "es" sucht nach etwas, worauf es sich beziehen könnte — nach einem Hauptwort in der Nähe.
Es hält **ein Schild hoch**: Wonach sehe ich aus? Das Wort "Tier" hält ein Schild hoch, auf dem sinngemäß steht: Ich bin ein Lebewesen, ich könnte gemeint sein.
Und es hat **etwas anzubieten**: Wenn du mich heranziehst, bekommst du diese Information.
Jetzt wird verglichen. Die Anfrage von "es" wird mit jedem Schild im Satz abgeglichen. Wo Anfrage und Schild gut zusammenpassen, entsteht ein hoher Wert. Wo sie nicht passen, ein niedriger.
Diese Werte werden in Prozente umgerechnet — und das ist der entscheidende Schritt, denn dadurch entsteht eine Aufteilung: siebzig Prozent Aufmerksamkeit auf "Tier", zwanzig auf "Straße", der Rest verteilt sich. Aufmerksamkeit ist begrenzt und muss verteilt werden.
Zum Schluss wird gemischt: Das Wort "es" bekommt eine neue Darstellung, die zu siebzig Prozent aus dem besteht, was "Tier" anzubieten hat.
Und genau das passiert für jedes Wort im Satz gleichzeitig.
Zwei Dinge daran sind bemerkenswert.
**Erstens gibt es keine Entfernung mehr.** Ob ein Wort zwei oder zweihundert Stellen entfernt steht, macht keinen Unterschied — verglichen wird mit allen. Bei einer Faltung hätte man zweihundert Schichten gebraucht, um so weit zu schauen.
**Zweitens hängt die Verbindung vom Inhalt ab.** In "weil es zu müde war" richtet sich die Aufmerksamkeit von "es" auf das Tier. In "weil sie zu breit war" auf die Straße. Dieselbe Maschinerie, andere Zahlen, anderes Ergebnis.
Damit löst sich auch das Problem aus Kapitel 8. Dort bekam jedes Wort genau einen festen Vektor — "Bank" hatte einen Ort, egal ob Geldhaus oder Sitzgelegenheit gemeint war. Jetzt wird der Vektor eines Worts aus seiner Umgebung neu gemischt. Steht daneben "Geld", sieht er anders aus als neben "Park".
In der Praxis läuft das mehrfach parallel. Ein Durchgang achtet auf grammatische Bezüge, ein anderer auf inhaltliche Zusammengehörigkeit, ein dritter auf etwas, das sich schwer benennen lässt. Man nennt diese parallelen Durchgänge Köpfe, und ein übliches Modell hat mehrere Dutzend davon.
Der Preis ist Rechenaufwand, und er ist erheblich. Jedes Wort wird mit jedem verglichen — bei tausend Wörtern eine Million Vergleiche, bei zehntausend Wörtern hundert Millionen. Der Aufwand wächst mit dem Quadrat der Textlänge.
Genau das ist bis heute die Grenze. Warum lange Texte teuer sind und Kontextfenster nicht beliebig wachsen, hat hier seine Ursache — in einer Rechnung, die jedes Wort mit jedem vergleicht.
Das Tier überquerte die Straße nicht, weil es zu müde war
Schematische Werte zur Veranschaulichung des beschriebenen Effekts.
Verteilung der Zeile „es“ · Summe 1,00
- Sequenzlänge n
- 1,00 × 10³
- Vergleiche n²
- 1,00 × 10⁶
Jedes Wort wird mit jedem verglichen. Daher wachsen die Kosten mit dem Quadrat der Textlänge — und daher sind Kontextfenster nicht beliebig groß.
Kapitel 11
Vaswani et al., 2017
Der Transformer
Alle Teile liegen jetzt auf dem Tisch. Dieses Kapitel setzt sie zusammen.
Das Bemerkenswerte am Transformer ist, wie wenig daran neu war. Aufmerksamkeit gab es seit 2014. Residualverbindungen seit 2015. Normalisierung ebenfalls. Die Arbeit von 2017, die alles zusammenführte, trug den Titel "Attention Is All You Need" — und die Aussage war weniger, dass man etwas Neues gefunden hätte, als dass man etwas Altes weglassen konnte.
Weggelassen wurde die schrittweise Verarbeitung. Bis dahin las ein Netz einen Satz Wort für Wort, wie ein Mensch, und trug einen Gedächtniszustand mit. Das hatte einen unangenehmen Nebeneffekt: Wort fünfhundert konnte man erst berechnen, wenn Wort vierhundertneunundneunzig fertig war. Die Rechnung ließ sich nicht aufteilen.
Der Transformer verarbeitet alle Wörter gleichzeitig. Damit lässt sich das Training auf beliebig viele Prozessoren verteilen — und genau das war der Grund, warum Modelle plötzlich so groß werden konnten.
Der Aufbau ist eine Wiederholung. Ein Block, immer derselbe, mehrfach gestapelt: bei kleinen Modellen zwölfmal, bei großen achtzig- oder hundertmal.
Und jeder Block tut genau zwei Dinge.
**Erstens: Information zwischen den Wörtern austauschen.** Das ist die Aufmerksamkeit aus dem vorigen Kapitel. Jedes Wort schaut auf alle anderen und holt sich, was es braucht.
**Zweitens: über das Geholte nachdenken.** Jedes Wort für sich, ohne Blick auf die anderen, wird durch ein kleines Netz geschickt — genau die Art von Netz aus den ersten Kapiteln.
Austauschen, verarbeiten. Austauschen, verarbeiten. Achtzig Mal.
Der zweite Schritt macht dabei den Großteil der Arbeit aus, was viele überrascht. Etwa zwei Drittel aller Gewichte eines Sprachmodells stecken nicht in der Aufmerksamkeit, sondern in diesen kleinen Nachdenk-Netzen. Und es gibt Hinweise, dass genau dort das Faktenwissen liegt — dass eine Frage nach der Hauptstadt Frankreichs nicht in der Aufmerksamkeit beantwortet wird, sondern in diesen Schichten.
Dazu kommt das, was in Kapitel 7 als Abkürzung eingeführt wurde. Um beide Schritte herum läuft jeweils ein direkter Weg vorbei, sodass die Information auch unverändert durchkommen kann.
Und daraus ergibt sich das Bild, das viele Forscher heute für das nützlichste halten.
Man kann sich den Transformer als einen breiten Strom vorstellen, der von unten nach oben fließt. Jeder Block schöpft etwas aus dem Strom, verarbeitet es und schüttet sein Ergebnis wieder hinein. Kein Block ersetzt den Strom, jeder ergänzt ihn.
Das erklärt, warum diese Modelle so gutmütig sind. Man kann Blöcke herausnehmen, und das Modell funktioniert weiter — schlechter, aber es funktioniert. Man kann Blöcke vertauschen, und oft passiert wenig. Es ist keine Kette, bei der ein fehlendes Glied alles unterbricht, sondern eine Ansammlung von Beiträgen zu einem gemeinsamen Strom.
Ein Satz noch dazu, wie aus diesem Aufbau ein Sprachmodell wird.
Die Aufgabe beim Training ist beschämend einfach: das nächste Wort vorhersagen. Text hineingeben, letztes Wort abschneiden, raten lassen, Fehler messen, Gewichte anpassen. Millionenfach.
Man braucht dafür keine beschrifteten Daten, keine Fragen mit Antworten, keine menschliche Aufbereitung — nur Text. Und Text gibt es. Dass aus dieser einen, stumpfen Aufgabe Systeme entstehen, die argumentieren, übersetzen und programmieren, ist das eigentlich Erstaunliche und wird in Kapitel 13 wieder aufgegriffen.
Aufbau eines Blocks · von unten nach oben · breiter Streifen: der Residualstrom
Positionsweises Netz · 8d² Parameter
Zwei Schichten, dazwischen die vierfache Weite. Jede Position wird einzeln verarbeitet.
32 Blöcke · derselbe Residualstrom läuft durchgehend hindurch
Verteilung der Parameter
d = 4096
- Aufmerksamkeit gesamt
- 2,15 × 10⁹
- Positionsweises Netz gesamt
- 4,29 × 10⁹
- Summe
- 6,44 × 10⁹
- Anteil Zwischennetz
- 67 %
Zwei Drittel der Gewichte liegen nicht in der Aufmerksamkeit, sondern in den Zwischennetzen. Untersuchungen deuten darauf hin, dass dort das Faktenwissen sitzt.
Kapitel 12
Auswendiglernen und Verstehen
Verallgemeinerung
Ein Schüler lernt für eine Prüfung. Er bekommt fünfzig Übungsaufgaben mit Lösungen und übt, bis er alle fünfzig fehlerfrei beherrscht.
In der Prüfung kommen andere Aufgaben. Und jetzt zeigt sich, was er tatsächlich getan hat.
Vielleicht hat er die Regeln verstanden — dann löst er auch die neuen. Vielleicht hat er die fünfzig Lösungen auswendig gelernt — dann ist er verloren. Von außen sahen beide Wege identisch aus. Beide führten zu fünfzig fehlerfreien Übungsaufgaben.
Genau dieses Problem hat jedes lernende System, und es ist das eigentliche Problem des Fachs. Ein Netz, das seine Trainingsdaten perfekt beherrscht, hat damit nichts bewiesen. Es kann verstanden haben. Es kann auswendig gelernt haben.
Man nennt das Auswendiglernen Überanpassung, und man erkennt es nur auf eine Weise: Man hält von Anfang an einen Teil der Daten zurück, zeigt sie dem Netz nie und prüft daran.
Der typische Verlauf sieht so aus. Zu Beginn werden beide Fehler kleiner — auf den Übungsdaten und auf den zurückgehaltenen. Das Netz lernt echte Muster, und die gelten für beide. Ab einem bestimmten Punkt aber trennen sich die Kurven: Der Fehler auf den Übungsdaten sinkt weiter, der auf den neuen Daten steigt wieder.
An diesem Punkt lernt das Netz keine Regeln mehr, sondern Eigenheiten. Es merkt sich, dass Beispiel 4711 zufällig etwas heller war. Für die Übungsdaten hilft das. Für alles andere ist es Ballast.
Die Gegenmittel sind erstaunlich hausbacken.
**Mehr Daten.** Das wirksamste. Wer eine Million Beispiele hat, kann sie nicht mehr auswendig lernen — es bleibt nichts übrig, als Regeln zu finden.
**Früher aufhören.** Man beobachtet den Fehler auf den zurückgehaltenen Daten und bricht ab, wenn er zu steigen beginnt.
**Das Modell künstlich behindern.** Man bestraft große Gewichte oder schaltet während des Trainings zufällig einen Teil der Neuronen ab, sodass sich das Netz nicht auf einzelne verlassen kann. Das klingt destruktiv und hilft.
Und jetzt kommt die Stelle, an der dieses Kapitel unbequem wird.
Nach der klassischen Theorie sollte ein Modell mit mehr Parametern als Datenpunkten hoffnungslos überanpassen. Ein Sprachmodell mit hundert Milliarden Parametern müsste seine Trainingsdaten schlicht auswendig lernen und bei allem Neuen versagen.
Das tut es nicht. Es wird besser.
Untersucht man den Verlauf über die Modellgröße, findet man etwas, das der Theorie widerspricht: Der Fehler auf neuen Daten steigt zunächst an, wie erwartet — und fällt dann wieder, wenn das Modell noch größer wird. Man nennt das doppelten Abstieg, und es wurde erst 2019 sauber beschrieben.
Woran das liegt, ist offen. Es gibt Erklärungsansätze, aber keine Theorie, die es befriedigend erklärt.
Man sollte sich das klarmachen: Der praktische Erfolg dieser Systeme beruht auf einem Verhalten, das die bestehende Lerntheorie nicht vorhergesagt hat und noch nicht erklärt. Man baut sie, weil sie funktionieren, nicht weil man verstünde, warum sie es tun.
Und das Auswendiglernen ist trotzdem nicht verschwunden. Große Sprachmodelle geben nachweislich wörtliche Passagen aus ihren Trainingsdaten wieder — Textstellen, Code, in Einzelfällen personenbezogene Daten. Sie verstehen offenbar und lernen zugleich auswendig. Wo die Grenze verläuft, weiß niemand genau.
Verlauf über die Trainingszeit
— Trainingsfehler — Testfehler
Kleinster Testfehler 0,598 bei Schritt 24 von 60
Der doppelte Abstieg
links: Klassischer Bereich — die Theorie beschreibt ihn richtig
rechts: Moderner Bereich — hier verhält sich die Sache anders als vorhergesagt
Der erneute Abfall wurde erst 2019 systematisch beschrieben. Eine befriedigende Erklärung dafür gibt es bis heute nicht.
Kapitel 13
Shannon, 1948
Skalierung und Information
Es gibt eine Frage, die bei diesen Systemen immer wieder auftaucht und die dieses Kapitel beantwortet, soweit sie sich beantworten lässt.
Warum funktioniert Vorhersagen so gut?
Die Trainingsaufgabe aus Kapitel 11 ist ja stumpf: das nächste Wort raten. Nichts über Argumentieren, nichts über Fakten, nichts über Sprache. Nur raten. Und heraus kommen Systeme, die übersetzen, programmieren und Argumente prüfen.
Die Antwort führt über einen Umweg, und der beginnt 1948 bei Claude Shannon.
Shannon suchte nach einem Maß dafür, wie viel Information in einer Nachricht steckt. Sein Ergebnis: Information ist Überraschung. Was man ohnehin erwartet hat, trägt keine Information. Was unerwartet kommt, trägt viel.
Daraus folgt etwas Praktisches. Wer gut vorhersagen kann, was als Nächstes kommt, kann sparsam speichern. Bei einem vorhersehbaren Text genügen wenige Bits pro Zeichen — man muss nur noch die Abweichungen von der Erwartung notieren. Bei einem unvorhersehbaren braucht man viele.
Vorhersagen und Komprimieren sind damit dasselbe Problem in zwei Formulierungen. Wer eines gut kann, kann automatisch auch das andere.
Und jetzt die Umkehrung, auf die es ankommt.
Um Text wirklich gut zu komprimieren, reicht es nicht, häufige Buchstabenfolgen zu kennen. Man muss Grammatik ausnutzen, denn sie schränkt ein, was als Nächstes stehen kann. Man muss wissen, worum es geht, denn ein Text über Chemie geht anders weiter als einer über Fußball. Und bei "Die Hauptstadt von Frankreich ist ..." muss man die Antwort kennen, sonst kann man nicht sparsam kodieren.
Jedes Stück Struktur in der Welt, das sich im Text niederschlägt, ist damit eine Möglichkeit, kürzer zu kodieren. Ein System, das auf Vorhersage optimiert wird, hat einen unmittelbaren Anreiz, diese Struktur zu finden.
Das ist keine vollständige Erklärung — es begründet nicht, warum ausgerechnet diese Architektur so viel Struktur findet. Aber es erklärt, warum die Aufgabe nicht so stumpf ist, wie sie aussieht.
Zum zweiten Teil des Kapitels: Wie gut wird ein Modell, wenn man es größer macht?
Die Antwort war eine Überraschung, weil sie so ordentlich ausfiel. Ab 2020 stellte man fest: Der Fehler folgt einem einfachen Gesetz. Mehr Rechenleistung, mehr Daten, mehr Parameter — jedes davon senkt den Fehler entlang einer glatten Kurve, über viele Größenordnungen hinweg, ohne Sprünge und ohne Überraschungen.
Das war praktisch bedeutsam. Man konnte damit vorhersagen, wie gut ein Modell wird, bevor man es baut. Bei Trainingsläufen, die Millionen kosten, ist das keine akademische Frage.
Zwei Einschränkungen gehören dazu.
**Erstens ist das Gesetz beschreibend, nicht erklärend.** Es beschreibt eine beobachtete Regelmäßigkeit. Warum die Kurve genau diese Form hat, ist offen.
**Zweitens sagt es nichts über Fähigkeiten.** Es sagt voraus, wie gut das Modell vorhersagen wird — nicht, ob es ab einer bestimmten Größe plötzlich rechnen oder übersetzen kann. Es gab Berichte über Fähigkeiten, die sprunghaft auftauchen; 2023 wurde gezeigt, dass diese Sprünge zu einem erheblichen Teil daran liegen, wie gemessen wird. Misst man mit Alles-oder-nichts-Kriterien, sieht man Sprünge. Misst man feiner, sieht man allmähliche Verbesserung.
Und eine Grenze zeichnet sich ab, die nichts mit Technik zu tun hat: Hochwertiger Text ist endlich. Man kann Rechenleistung kaufen und Chips bauen, aber man kann nicht beliebig viel gut geschriebenen Text herstellen. Verschiedene Schätzungen setzen die Erschöpfung dieses Vorrats in die späten Zwanzigerjahre.
- Parameterzahl N
- 1,0 × 10⁹
- Trainingstokens D
- 2,0 × 10¹⁰
- Aufwand C ≈ 6ND
- 1,20 × 10²⁰
- Verhältnis D/N
- 2,00 × 10¹
- Abstand zum Optimum 20
- 1,00 ×
- Geschätzter Verlust
- 2,296
Dieselben Modelle, dasselbe Training. Ob eine Fähigkeit sprunghaft auftaucht, hängt auch davon ab, wie gemessen wird.
Kapitel 14
Stand 2026
Exkurs: Was heute daraus gebaut wird
Exkurs · Stand März 2026 · altert schneller als der Rest des Buchs
Dieses Kapitel ist anders als die dreizehn davor. Was dort steht, gilt seit Jahrzehnten und wird in zehn Jahren noch gelten. Was hier steht, ist eine Momentaufnahme vom Frühjahr 2026 und wird schneller veralten, als es Ihnen lieb ist.
Ein Sprachmodell entsteht heute in drei Schritten, und nur der erste ist das, was in den vorigen Kapiteln beschrieben wurde.
**Schritt eins: Vortraining.** Genau das aus Kapitel 11 — nächstes Token vorhersagen, über Billionen von Tokens hinweg. Das ist der mit Abstand teuerste Teil, er dauert Wochen bis Monate auf Zehntausenden Prozessoren und kostet zweistellige Millionenbeträge. Danach hat man ein System, das Text fortsetzt.
Und zwar nur das. Fragt man ein solches Modell "Was ist die Hauptstadt von Frankreich?", ist eine plausible Fortsetzung nicht die Antwort, sondern eine weitere Frage — denn Fragenlisten kommen im Internet häufiger vor als Frage-Antwort-Paare.
**Schritt zwei: Anleitung.** Man zeigt dem Modell einige zehntausend Beispiele der Form Anweisung-und-gute-Antwort, geschrieben von Menschen. Damit lernt es, welche Art von Fortsetzung erwünscht ist. Verglichen mit Schritt eins ist das billig.
**Schritt drei: Rückmeldung.** Menschen bekommen je zwei Antworten des Modells vorgelegt und wählen die bessere. Aus vielen solchen Vergleichen entsteht ein zweites Modell, das schätzt, was Menschen bevorzugen — und daran wird das erste weiter angepasst.
Dieser dritte Schritt macht den Unterschied zwischen einem Textfortsetzer und etwas, mit dem man sich unterhalten kann. Er ändert am Wissen des Modells wenig; er ändert, was es damit tut.
Man sollte sich klarmachen, was daraus folgt. Das Modell ist nicht auf Wahrheit optimiert. Es ist auf plausible Fortsetzung optimiert und anschließend darauf, dass Menschen die Antwort gut finden. Beides fällt oft mit Wahrheit zusammen — eine wahre Antwort ist meist plausibel und gefällt meist besser. Aber nicht immer.
Genau daher kommt das, was man Halluzinieren nennt: erfundene Quellen, falsche Zahlen, überzeugend vorgetragener Unsinn. Das ist kein Defekt, der sich wegprogrammieren ließe. Es ist die direkte Folge davon, worauf trainiert wurde. Ein System, das gelernt hat, plausibel fortzusetzen, setzt auch dann plausibel fort, wenn es nichts weiß.
Zu den Kosten, weil sie oft missverstanden werden.
Das Training ist einmalig teuer. Die Nutzung ist dauerhaft teuer. Bei jeder Anfrage muss das gesamte Modell durchgerechnet werden, für jedes einzelne Wort der Antwort. Bei Millionen Nutzern übersteigen die Nutzungskosten die Trainingskosten nach einiger Zeit deutlich.
Deshalb geht die Entwicklung inzwischen in beide Richtungen: sehr große Modelle für schwierige Aufgaben, und daneben kleine, auf Effizienz getrimmte für alles andere.
Zwei Dinge zum Schluss, die man beim Lesen solcher Systeme im Kopf behalten sollte.
**Erstens sieht ein Modell keine Buchstaben.** Text wird vorher in Stücke zerlegt — meist Wortteile, nicht Zeichen. Deshalb tun sich diese Systeme mit Aufgaben schwer, die auf einzelne Buchstaben zielen. Wer sich gewundert hat, warum ein Modell, das Programmcode schreiben kann, an der Frage nach der Zahl bestimmter Buchstaben in einem Wort scheitert: Es sieht das Wort nicht so, wie Sie es sehen.
**Zweitens kann ein solches System nicht zuverlässig über sich selbst Auskunft geben.** Fragt man es, wie es zu einer Antwort gekommen ist, erzeugt es eine plausible Erklärung — nach demselben Verfahren, mit dem es alles andere erzeugt. Ob diese Erklärung den tatsächlichen Vorgängen im Netz entspricht, ist damit nicht gesichert. Auskünfte solcher Systeme über ihr eigenes Innenleben sind mit derselben Vorsicht zu behandeln wie ihre Auskünfte über alles andere.
- Parameterzahl N
- 7,00 × 10⁹
- aktive Parameter
- 7,00 × 10⁹
- Trainingsaufwand C ≈ 6ND
- 4,20 × 10²²
- Aufwand je Token ≈ 2N
- 1,40 × 10¹⁰
- Gewichte bei 16 Bit
- 14,0 GB
- Zwischenspeicher M
- 5,6 GB
- abgeleitet: Schichten L
- 33
- abgeleitet: Dimension d
- 4224
- erzeugte Token
- 1,00 × 10¹²
- Nutzung gesamt
- 1,40 × 10²²
Tokenisierung zum Ausprobieren
- Tokens
- 16
- Zeichen je Token
- 2,94
Vereinfachte Zerlegung zur Veranschaulichung. Echte Tokenizer verwenden gelernte Vokabulare mit zehntausenden Einträgen.
Ein Modell sieht keine Buchstaben, sondern diese Stücke. Deshalb fallen ihm Aufgaben schwer, die auf einzelne Zeichen zielen.
Eine Richtung, eine Schrittweite, millionenfach wiederholt. Alles in diesem Buch führt hierauf zurück.
Dass es funktioniert, ist besser belegt als warum.