Zum Inhalt springen
Die Geschichte der Mathematik hinter der KI

Die Geschichte der Mathematik hinter der KI

Erstfassung 23. Oktober 2026, zuletzt geändert am 23. Oktober 2026 · Andreas Stockter

Die Mathematik hinter der KI passt in einen Satz: Ein Sprachmodell ist eine Rechenvorschrift mit einigen hundert Milliarden einstellbaren Zahlen, die aus Zahlen, die für Wörter stehen, die Wahrscheinlichkeit des nächsten Wortes berechnet; das Training stellt diese Zahlen so ein, dass der Fehler der Vorhersage kleiner wird: den Fehler messen, die Richtung finden, in der er abnimmt, einen kleinen Schritt tun, und das viele Milliarden Mal. Jedes Wort in diesem Satz, Rechenvorschrift, Wahrscheinlichkeit, Fehler, Richtung, Schritt, hat eine Geschichte, und die Werkzeuge, die dahinterstehen, wurden zwischen 1614 und 1986 erfunden, von Leuten, die Sterne vermaßen, Glücksspiele berechneten, Zinsen rechneten oder Nerven beschrieben und von Sprachmodellen nichts ahnten. Die Geschichte der KI erzählt, wer die Modelle baute; dieser Text erzählt, womit sie rechnen.

Er setzt beim Leser nur die vier Grundrechenarten voraus und sonst nichts. Jeder Abschnitt führt eine mathematische Idee dort ein, wo sie entstanden ist, erklärt sie an einem kleinen Zahlenbeispiel, das man mit Stift und Papier nachrechnen kann, und zeigt, an welcher Stelle eines Sprachmodells von 2026 sie steckt. Wie die anderen Chroniken dieser Seite folgt der Text einer Kette: Jede Idee löst ein Problem, das die vorige offen gelassen hat, und schafft das nächste. Die Unbekannte verlangt nach dem Koordinatensystem, die Gerade nach der Kurve, die Kurve nach der Ableitung, die Ableitung nach dem Abstieg, der Abstieg nach der Matrix, und am Ende steht die eine Formel, mit der 2017 der Transformer vorgestellt wurde. Wer dort ankommt, kann sie lesen und weiß, was ein Modell tut, wenn es antwortet. Was die Mathematik an den Modellen bis heute nicht erklärt, steht im letzten Abschnitt.

Inhalt: 1 Die Unbekannte · 2 Die Gerade · 3 Logarithmus und e · 4 Die Ableitung · 5 Wahrscheinlichkeit · 6 Kleinste Quadrate · 7 Gradientenverfahren · 8 Vektoren und Matrizen · 9 Logik und Neuron · 10 Perzeptron · 11 Backpropagation · 12 Entropie · 13 Wörter als Zahlen · 14 Transformer · 15 Offene Fragen

1. Die Unbekannte: Zahlen, Gleichungen und der Algorithmus (bis 1637)

Das Problem. Rechnen heißt zunächst, aus bekannten Zahlen eine neue zu machen: drei Körbe zu vier Äpfeln sind zwölf Äpfel. Die Mathematik, die Sprachmodelle brauchen, beginnt mit der umgekehrten Frage. Man kennt das Ergebnis und sucht die Zahl, die es hervorgebracht hat. Eine babylonische Tontafel von etwa 1800 vor Christus stellt die Aufgabe, die Fläche eines Quadrats und seine Seitenlänge zusammen ergäben drei Viertel, wie lang die Seite sei, und rechnet die Antwort, ein Halb, in einer Folge von Schritten aus, die ein Schüler heute noch nachvollziehen kann. Eine andere Tafel aus derselben Zeit gibt die Länge der Diagonale eines Quadrats mit der Seite eins auf sechs Dezimalstellen genau an, 1,414213, ohne zu wissen, dass diese Zahl nie als Bruch zu schreiben ist.1 Die Rechnung rückwärts, vom Ergebnis zur Ursache, ist das älteste Werkzeug dieser Geschichte, und sie bleibt bis zum Ende ihr Kern: Ein Sprachmodell zu trainieren heißt, aus Milliarden bekannter Sätze die Zahlen zu finden, die sie hervorgebracht haben könnten.

Die Zahlen. Dafür braucht es erst einmal die Zahlen selbst, und die waren lange unvollständig. Die Griechen rechneten mit Verhältnissen von Strecken und kannten weder die Null noch Zahlen unter null. Der indische Mathematiker Brahmagupta gab 628 die Regeln, nach denen man mit beiden rechnet: Ein Vermögen von drei und eine Schuld von fünf ergeben zusammen eine Schuld von zwei, und das Produkt zweier Schulden ist ein Vermögen, minus mal minus ist plus.2 Die Null als Ziffer und die neun anderen indischen Ziffern kamen über die arabische Welt nach Europa, wo Leonardo von Pisa, genannt Fibonacci, sie 1202 in seinem Rechenbuch den Kaufleuten empfahl, und brauchten dort drei Jahrhunderte, um die römischen Zahlen zu verdrängen. Negative Zahlen sind für alles Weitere unentbehrlich: Die einstellbaren Zahlen eines Sprachmodells sind etwa zur Hälfte negativ, und ein negatives Gewicht heißt nichts anderes als „zieh das ab“. Man stellt sich die Zahlen am besten als Punkte auf einer Linie vor, die Null in der Mitte, die positiven rechts, die negativen links; die Zahlengerade wird im nächsten Abschnitt zur Achse.

Die Unbekannte. Die Rechnung rückwärts bekam ihre Sprache, als die Unbekannte einen Namen erhielt. Diophant von Alexandria benutzte um 250 ein eigenes Zeichen für die gesuchte Zahl, und Muhammad ibn Musa al-Chwarizmi schrieb um 820 in Bagdad das Buch, aus dessen Titel das Wort Algebra stammt, „al-dschabr“, das Ergänzen: Er zeigte, wie man eine Gleichung umformt, indem man auf beiden Seiten dasselbe tut, bis die Unbekannte allein steht.3 Eine Gleichung ist eine Behauptung, dass zwei Rechnungen dasselbe ergeben; das Zeichen dafür, zwei gleich lange Striche, führte der Waliser Robert Recorde 1557 ein, weil „keine zwei Dinge gleicher sein können“. Lösen heißt, die Rechnung rückwärts zu gehen. Wer weiß, dass das Dreifache einer Zahl plus zwei elf ergibt, nimmt zuerst die zwei weg, auf beiden Seiten, und hat: das Dreifache ist neun; dann teilt er durch drei und hat: die Zahl ist drei. Jede Rechenart wird durch ihre Umkehrung aufgehoben, Addieren durch Subtrahieren, Multiplizieren durch Dividieren, und die Reihenfolge ist die umgekehrte der Hinrechnung, wie beim Ausziehen von Schuhen und Strümpfen. Der Buchstabe für die Unbekannte, der sich durchsetzte, stammt von René Descartes, der 1637 die letzten Buchstaben des Alphabets, x, y und z, für Unbekannte und die ersten, a, b und c, für bekannte Größen festlegte; François Viète hatte 1591 als Erster Buchstaben für beide verwendet und damit das Rechnen mit allgemeinen Formeln statt mit einzelnen Zahlen möglich gemacht.4 Eine solche Stellvertreterin für eine Zahl heißt Variable. Ein Sprachmodell von 2026 ist, in dieser Sprache, eine Gleichung mit einigen hundert Milliarden Variablen; man nennt sie Parameter, und das Training ist der Versuch, sie zu lösen.

Potenz und Wurzel. Zwei Schreibweisen aus derselben Zeit braucht der Rest des Textes ständig. Descartes schrieb für eine Zahl mal sich selbst eine kleine Hochzahl, x² für x·x und x³ für x·x·x; das heißt Potenz, die Hochzahl Exponent. x² heißt auch das Quadrat von x, die Rechnung Quadrieren. 3² ist 9, 2³ ist 8, 10⁶ ist eine Million, und 2¹⁰ ist 1024, eine Zahl, die jeder kennt, der je eine Festplatte gekauft hat. Die Umkehrung des Quadrierens ist die Wurzel: √9 ist 3, weil 3·3 = 9. Die meisten Wurzeln gehen nicht auf. √2 beginnt mit 1,414213 und endet nie, was die Pythagoreer, als sie es bewiesen, als Skandal empfanden und die Babylonier eineinhalb Jahrtausende früher als Rechenaufgabe behandelt hatten: Man nähert sich der Zahl Stelle für Stelle, und die sechste Stelle genügt für jeden Zweck. Dieser Gedanke, dass eine Zahl, die man nicht exakt hinschreiben kann, durch Näherung so genau wird, wie man will, trägt später die Ableitung, den Zinseszins und die Zahl e.

Der Algorithmus. Das zweite Wort, das aus al-Chwarizmis Namen entstand, ist das wichtigste des Textes. Die lateinische Form seines Namens, „Algorismi“, bezeichnete zunächst das Rechnen mit den indischen Ziffern und später jede Rechenvorschrift, die in endlich vielen eindeutigen Schritten zum Ergebnis führt. Das älteste Beispiel steht bei Euklid um 300 vor Christus: Um den größten gemeinsamen Teiler von 48 und 18 zu finden, zieht man die kleinere Zahl so oft wie möglich von der größeren ab, 48 minus zweimal 18 ist 12, dann dieselbe Regel mit 18 und 12, Rest 6, dann mit 12 und 6, Rest 0; die letzte Zahl vor der Null, 6, ist der Teiler.5 Ein Algorithmus ist ein solches Verfahren: eine Folge von Schritten, die ohne Nachdenken und ohne Ermessen ausgeführt werden kann, bei jedem Schritt eindeutig sagt, was als Nächstes zu tun ist, und nach endlich vielen Schritten anhält. Das Training eines Sprachmodells ist ein Algorithmus mit drei Schritten, die Milliarden Mal wiederholt werden, und er stammt, wie sich zeigen wird, aus dem Jahr 1847.

Die Grenze. Al-Chwarizmis Umformen funktioniert, solange die Unbekannte in der Gleichung nur addiert, multipliziert, quadriert wird und die Gleichung nicht zu verwickelt ist. Wie verwickelt sie ist, misst ihr Grad, der höchste Exponent, mit dem die Unbekannte vorkommt: x² + 10x = 39 hat den Grad zwei. Für Gleichungen zweiten Grades kannten schon die Babylonier die Lösung, für den dritten und vierten Grad fanden sie Italiener im 16. Jahrhundert, und 1824 bewies der Norweger Niels Henrik Abel, dass es für den fünften Grad keine allgemeine Lösungsformel gibt. Mit einer Gleichung, in der Milliarden Unbekannte in verschachtelten Rechenschritten stecken, kommt man mit Rückwärtsrechnen nicht weiter; man braucht ein Verfahren, das sich an die Lösung herantastet wie die Babylonier an √2. Davon handeln die Abschnitte 4 bis 7. Vorher muss die Unbekannte ein Bild bekommen.

Selbst ausprobieren. Die Programmiersprache Python ist ein Taschenrechner, der mit Variablen umgehen kann: Nach dem Start erscheint die Eingabeaufforderung >>>, und 3*4+2 antwortet mit 14, 2**10 mit 1024, 9**0.5 mit 3.0, (-3)*(-5) mit 15. Mit x = 3 bekommt die Variable einen Wert, und 3*x+2 liefert 11; wer die Gleichung rückwärts rechnen will, tippt (11-2)/3. Das genügt, um alle Zahlenbeispiele dieses Textes nachzuvollziehen, und jeder weitere Abschnitt endet mit einem solchen Versuch.6

2. Die Gerade: Koordinaten, Funktionen und Steigung (1637–1748)

Das Problem. Eine Gleichung beschreibt eine Zahl. Was ein Sprachmodell lernen soll, ist ein Zusammenhang: Wie hängt der Preis von der Strecke ab, der Ertrag vom Regen, das nächste Wort von den vorigen? Um einen Zusammenhang zu sehen, braucht man ein Bild, und das Bild lieferte Descartes im selben Anhang von 1637, in dem er die Buchstaben festlegte. Jeder Punkt in der Ebene bekommt zwei Zahlen, seinen Abstand nach rechts und seinen Abstand nach oben von einem festen Ausgangspunkt, und jede Kurve wird zur Gleichung zwischen diesen beiden Zahlen. Pierre de Fermat hatte dieselbe Idee ein Jahr früher aufgeschrieben, aber nicht veröffentlicht.7 Seither sind Geometrie und Rechnen dasselbe: Man kann eine Frage über Kurven durch Rechnen beantworten und eine Rechnung durch eine Zeichnung prüfen. Die beiden Zahlen eines Punktes heißen Koordinaten, die waagerechte Linie, auf der die erste abgetragen wird, die x-Achse, die senkrechte die y-Achse, beide zusammen das Koordinatensystem. Die Zahlengerade aus Abschnitt 1 ist die x-Achse, und negative Koordinaten liegen links oder unten.

Die Funktion. Der zweite Begriff ist eine Maschine. Ein Taxi kostet vier Euro Grundpreis und zwei Euro je Kilometer: Für drei Kilometer zehn Euro, für fünf vierzehn, für null vier. Die Vorschrift „nimm die Kilometer, verdopple sie, zähle vier dazu“ macht aus jeder Eingabe genau eine Ausgabe, und so etwas heißt seit Leibniz, der das Wort 1673 in seinen Papieren benutzte, Funktion. Leonhard Euler schrieb 1734 die Abkürzung f(x), „f von x“, die Ausgabe der Maschine f für die Eingabe x, und gab 1748 in seiner Einführung in die Analysis des Unendlichen der Funktion die Hauptrolle in der Mathematik, die sie seither spielt.8 Die Taxi-Funktion lautet in Descartes’ Buchstaben y = 2·x + 4. Trägt man für jede Eingabe x die Ausgabe y als Punkt ein, liegen alle Punkte auf einer Geraden; diese Linie ist der Graph der Funktion. Die Gerade schneidet die y-Achse bei 4, dem Grundpreis, das ist der Achsenabschnitt, und steigt je Kilometer um 2, das ist die Steigung: die Änderung der Ausgabe, geteilt durch die Änderung der Eingabe, die sie bewirkt hat. Zwischen Kilometer 1 und Kilometer 3 wächst der Preis von 6 auf 10, also um 4 bei einer Änderung der Eingabe um 2; 4 geteilt durch 2 ist 2, überall auf der Geraden gleich. Eine Funktion dieser Form, y = a·x + b, heißt lineare Funktion; a ist die Steigung, b der Achsenabschnitt, und beide zusammen legen die Gerade fest.

Abbildung 1: Die Gerade y = 2·x + 4 im Koordinatensystem von Descartes, der Taxipreis in Euro über den Kilometern. Der Achsenabschnitt 4 ist der Grundpreis, die Steigung 2 der Preis je Kilometer: Zwischen Kilometer 1 und 3 wächst der Preis um 4, geteilt durch 2 Kilometer ergibt 2, überall auf der Geraden gleich.01234560481216Kilometer (x)Preis in Euro (y)Δx = 2Δy = 4Steigung a = 4/2 = 2Achsenabschnitt b = 4y = 2·x + 4
Abbildung 1: Die Gerade y = 2·x + 4 im Koordinatensystem von Descartes, der Taxipreis in Euro über den Kilometern. Der Achsenabschnitt 4 ist der Grundpreis, die Steigung 2 der Preis je Kilometer: Zwischen Kilometer 1 und 3 wächst der Preis um 4, geteilt durch 2 Kilometer ergibt 2, überall auf der Geraden gleich.

Mehrere Eingaben. Ein Taxi, das auch die Wartezeit berechnet, hat zwei Eingaben: Preis = 2·Kilometer + 0,5·Minuten + 4. Jede Eingabe wird mit ihrer eigenen Zahl multipliziert, die Produkte werden addiert, die Konstante kommt dazu. Das ist eine gewichtete Summe, und sie ist die häufigste Rechnung dieser Geschichte: Die Multiplikatoren, 2 und 0,5, heißen in der KI Gewichte, sie sagen, wie stark jede Eingabe zählt, und die Konstante, 4, heißt Bias, die Verschiebung, die auch bei lauter Nullen übrig bleibt. Ein Gewicht von null schaltet eine Eingabe ab, ein negatives Gewicht lässt sie abziehen. Mit tausend Eingaben hat die Summe tausend Gewichte, und der Graph lässt sich nicht mehr zeichnen, aber die Rechnung bleibt dieselbe: multiplizieren, addieren, Bias dazu. Ein künstliches Neuron, wie es 1943 beschrieben und bis heute gebaut wird, rechnet genau diese Summe, und ein Sprachmodell besteht aus einigen hundert Milliarden solcher Gewichte; der Abschnitt 8 zeigt, wie man sie zu Tabellen ordnet, damit die Summen in Massen ausgerechnet werden können.

Die Grenze der Geraden. Was eine Gerade nicht kann, ist sich biegen. Ein Zusammenhang, der erst langsam und dann schnell wächst, wie ein Guthaben mit Zinseszins, oder der erst steigt und dann fällt, wie die Temperatur im Jahr, passt auf keine Gerade, und mit gewichteten Summen allein kommt man nicht weiter, weil die Summe von Geraden wieder eine Gerade ist. Die ersten Kurven, mit denen die Mathematik rechnen lernte, waren die Potenzen aus Abschnitt 1, y = x², die Parabel, und y = x³; Euler fügte 1748 die Kurve hinzu, die das Wachstum beschreibt, und sie ist der Gegenstand des nächsten Abschnitts. Dass Geraden sich biegen lassen, wenn man zwischen zwei Summen eine einfache Verzerrung einschiebt, ist die Einsicht, auf der neuronale Netze beruhen, und sie kommt in Abschnitt 9.

Selbst ausprobieren. Eine Tabellenkalkulation zeichnet jede Funktion. In Spalte A die Zahlen 0 bis 10, in Zelle B1 die Formel =2*A1+4, die Formel nach unten ziehen, beide Spalten markieren und ein Punktdiagramm einfügen: eine Gerade, die bei 4 beginnt und je Schritt um 2 steigt. Wer in der Formel die 2 durch 3 ersetzt, sieht die Gerade steiler werden; wer die 4 durch 0 ersetzt, sieht sie durch den Ursprung gehen; und wer =A1*A1 einträgt, sieht die erste Kurve, die Parabel.9

3. Wachstum und Logarithmus: Napiers Tafeln und Eulers Zahl (1614–1748)

Das Problem. Um 1600 rechneten Astronomen mit Zahlen von sieben und mehr Stellen, und jede Multiplikation von Hand dauerte Minuten und ging leicht schief. Tycho Brahes Beobachtungen, aus denen Johannes Kepler die Planetenbahnen ableitete, verlangten Tausende solcher Rechnungen. Der schottische Gutsherr John Napier veröffentlichte 1614 nach zwanzig Jahren Arbeit Tafeln, mit denen man eine Multiplikation durch eine Addition ersetzt: Man schlägt zu beiden Zahlen eine Hilfszahl nach, addiert die Hilfszahlen und schlägt zur Summe die Zahl zurück. Henry Briggs richtete die Tafeln 1617 auf die Basis zehn ein, Kepler benutzte sie für seine Rudolfinischen Tafeln von 1627, und Laplace sagte später, sie hätten den Astronomen das Leben verdoppelt. Der Rechenschieber von 1622, zwei verschiebbare Skalen mit Napiers Zahlen, blieb bis zum Taschenrechner von 1972 das Werkzeug der Ingenieure.10 Die Hilfszahl heißt Logarithmus, und um sie zu verstehen, braucht man die Potenzen aus Abschnitt 1 noch einmal, diesmal mit allen Exponenten.

Potenzen mit jedem Exponenten. 2³ ist 2·2·2 = 8 und 2⁴ ist 16: Jeder Schritt im Exponenten verdoppelt. Multipliziert man 2³ mit 2⁴, zählt man die Zweien zusammen, 2⁷ = 128, Exponenten addieren sich also, wenn Potenzen multipliziert werden. Geht man die Reihe rückwärts, halbiert jeder Schritt: 2² = 4, 2¹ = 2, 2⁰ = 1, 2⁻¹ = ½, 2⁻² = ¼. Eine Potenz mit Exponent null ist eins, mit negativem Exponenten ein Bruch. Und was ist 2 hoch ein Halb? Die Zahl, die mit sich selbst multipliziert 2 ergibt, also √2 ≈ 1,414, denn ½ + ½ = 1. So bekommt jede Zahl als Exponent einen Sinn, und die Funktion y = 2ˣ wird zu einer glatten Kurve, die links flach an der Null entlangkriecht und rechts immer steiler steigt: exponentielles Wachstum, die Kurve des Zinseszinses, der Bakterienkultur und der Rechenleistung seit 1965. Der Logarithmus ist die Frage nach dem Exponenten: Der Logarithmus von 8 zur Basis 2 ist 3, weil 2³ = 8, der von 1024 ist 10, der von 1 ist 0, und der von ½ ist −1. Weil Exponenten sich addieren, wenn Zahlen multipliziert werden, ist der Logarithmus eines Produkts die Summe der Logarithmen, und das ist Napiers Trick. Für Zahlen zwischen 0 und 1 ist der Logarithmus negativ, und je näher die Zahl an die Null rückt, desto tiefer fällt er, ohne Grenze: Der Logarithmus von einem Tausendstel zur Basis 10 ist −3, der von einem Millionstel −6. Diese Eigenschaft, kleine Zahlen groß und negativ zu machen, braucht Abschnitt 12, wenn es darum geht, wie überrascht ein Modell von einem Wort sein darf.

Die Zahl e. Jakob Bernoulli stellte 1683 eine Frage über Zinsen. Ein Taler zu hundert Prozent Zinsen im Jahr wird nach einem Jahr zu zwei Talern. Zahlt die Bank halbjährlich die Hälfte, bekommt man nach einem halben Jahr 1,5 Taler und darauf noch einmal die Hälfte, 2,25 Taler. Vierteljährlich: 2,44. Monatlich: 2,61. Täglich: 2,7146. Stündlich: 2,7181. Die Zahl wächst, aber immer langsamer, und sie bleibt unter einer Grenze, die sie nie erreicht, 2,718281828…, eine Zahl, die wie √2 nie endet. Euler gab ihr 1731 den Buchstaben e und berechnete sie 1748 auf 23 Stellen; sie heißt seither Eulersche Zahl.11 Die Funktion y = eˣ ist die Kurve des Wachstums, das in jedem Augenblick weiterverzinst wird, und sie hat eine Eigenschaft, die alle anderen Basen nicht haben und die Abschnitt 4 erklärt: Ihre Steigung an jeder Stelle ist gleich ihrem Wert. Deshalb bauen Mathematiker ihre Formeln aus eˣ statt aus 2ˣ oder 10ˣ, und deshalb taucht e in jedem Sprachmodell Milliarden Mal je Sekunde auf. Der Logarithmus zur Basis e heißt natürlicher Logarithmus, geschrieben ln: ln e = 1, ln 1 = 0, ln 2 ≈ 0,693, ln ½ ≈ −0,693, ln 0,01 ≈ −4,6.

Die Sigmoid-Funktion. Mit eˣ und einer Division lässt sich eine Kurve bauen, die jede Zahl, so groß oder klein sie ist, auf das Intervall zwischen 0 und 1 drückt: σ(z) = 1 geteilt durch (1 + e⁻ᶻ). Für z = 0 ist e⁰ = 1, also σ = 1/(1+1) = 0,5. Für z = 2 ist e⁻² ≈ 0,135, also σ ≈ 1/1,135 ≈ 0,88. Für z = −2 ist e² ≈ 7,39, also σ ≈ 1/8,39 ≈ 0,12. Für z = 10 liegt σ bei 0,99995, für z = −10 bei 0,00005. Die Kurve sieht aus wie ein in die Länge gezogenes S, steigt in der Mitte steil und flacht nach beiden Seiten ab; der belgische Mathematiker Pierre-François Verhulst fand sie 1838 als Kurve einer Bevölkerung, die erst wächst und dann an eine Grenze stößt, und nannte sie logistisch.12 In der KI heißt sie Sigmoid-Funktion, und sie hat zwei Aufgaben: Sie verwandelt eine beliebige Zahl in etwas, das sich wie eine Wahrscheinlichkeit lesen lässt, und sie ist, wie Abschnitt 9 zeigt, die Verzerrung, die eine Gerade biegt.

Softmax. Hat man statt einer Zahl mehrere, etwa drei Punktzahlen 2, 1 und 0 für drei mögliche nächste Wörter, und will daraus Wahrscheinlichkeiten machen, die zusammen 1 ergeben, nimmt man von jeder Zahl e hoch die Zahl und teilt durch die Summe: e² ≈ 7,39, e¹ ≈ 2,72, e⁰ = 1, Summe 11,11; geteilt ergibt das 0,665, 0,245 und 0,090. Alle drei sind positiv, sie summieren sich zu 1, die Reihenfolge ist erhalten, und die Abstände sind gedehnt: Aus einem Vorsprung von einem Punkt wird fast das Dreifache an Wahrscheinlichkeit. Das Verfahren heißt Softmax, eine weiche Form des Maximums, weil es dem größten Wert das meiste Gewicht gibt, die anderen aber nicht auf null setzt; die Formel stammt aus der Physik des 19. Jahrhunderts, wo sie die Verteilung von Teilchen auf Energiezustände beschreibt, und wurde 1989 für neuronale Netze übernommen.13 Teilt man die Punktzahlen vor dem Potenzieren durch eine Zahl T, wird die Verteilung schärfer oder flacher: Mit T = 0,5 werden aus 2, 1, 0 die Werte 4, 2, 0 und die Wahrscheinlichkeiten 0,867, 0,117 und 0,016; mit T = 2 werden es 0,507, 0,307 und 0,186. Diese Zahl heißt, nach der Physik, Temperatur, und sie ist die Einstellung, mit der man einen Chatbot vorhersehbarer oder einfallsreicher macht. Die rohen Punktzahlen vor der Softmax heißen Logits. Ein Sprachmodell endet mit genau dieser Rechnung: Für jedes der rund hunderttausend Wörter, die es kennt, berechnet es eine Punktzahl, und Softmax macht daraus die Wahrscheinlichkeiten, aus denen das nächste Wort gezogen wird.

Abbildung 2: Links die Sigmoid-Funktion, die jede Zahl auf das Intervall zwischen 0 und 1 drückt: σ(0) = 0,5, σ(2) = 0,88, σ(−2) = 0,12. Rechts die Softmax, die aus den Punktzahlen 2, 1 und 0 die Wahrscheinlichkeiten 0,665, 0,245 und 0,090 macht: e hoch Punktzahl, geteilt durch die Summe aller drei.Sigmoid: σ(z) = 1/(1 + e⁻ᶻ)−6−303600,51σ(0) = 0,5σ(2) = 0,88σ(−2) = 0,12Softmax: e hoch Punktzahl,geteilt durch die Summee² = 7,39 e¹ = 2,72 e⁰ = 1 Summe 11,110,665Punktzahl 20,245Punktzahl 10,090Punktzahl 0
Abbildung 2: Links die Sigmoid-Funktion, die jede Zahl auf das Intervall zwischen 0 und 1 drückt: σ(0) = 0,5, σ(2) = 0,88, σ(−2) = 0,12. Rechts die Softmax, die aus den Punktzahlen 2, 1 und 0 die Wahrscheinlichkeiten 0,665, 0,245 und 0,090 macht: e hoch Punktzahl, geteilt durch die Summe aller drei.

Selbst ausprobieren. Ein Taschenrechner mit der Taste xʸ zeigt Bernoullis Grenze: (1 + 1/12)¹² ergibt 2,613, (1 + 1/365)³⁶⁵ ergibt 2,7146, (1 + 1/1000000)¹⁰⁰⁰⁰⁰⁰ ergibt 2,71828. In Python liefert import math und dann math.exp(1) die Zahl e, math.log(2) den natürlichen Logarithmus von 2 und math.log(0.01) den von einem Hundertstel. Die Softmax der Punktzahlen 2, 1, 0 rechnet man mit [math.exp(z)/(math.exp(2)+math.exp(1)+1) for z in (2,1,0)]; wer alle drei Zahlen vorher halbiert oder verdoppelt, sieht die Temperatur wirken.14

4. Das unendlich Kleine: Die Ableitung und die Kettenregel (1665–1821)

Das Problem. Die Steigung einer Geraden ist überall dieselbe, die einer Kurve ändert sich von Punkt zu Punkt. Ein fallender Stein wird in jedem Augenblick schneller; wie schnell ist er genau jetzt? Die Frage nach der Steigung einer Kurve in einem einzigen Punkt, und die verwandte Frage, wo eine Kurve ihren höchsten oder tiefsten Punkt hat, beschäftigte das 17. Jahrhundert, und zwei Männer beantworteten sie unabhängig voneinander. Isaac Newton fand das Verfahren 1665 und 1666 als Student in Cambridge, als die Universität wegen der Pest geschlossen war, ließ es in Abschriften kreisen und veröffentlichte es erst Jahrzehnte später. Gottfried Wilhelm Leibniz fand es 1675 in Paris, erfand die Schreibweise, die bis heute benutzt wird, und veröffentlichte 1684 in den Leipziger Acta Eruditorum sieben Seiten mit dem Titel „Eine neue Methode für Maxima und Minima“.15 Der Streit um die Priorität, den die Royal Society 1712 mit einem Bericht entschied, den Newton als ihr Präsident selbst verfasst hatte, vergiftete die Mathematik auf einer Seite des Kanals für ein Jahrhundert.16 Das Verfahren selbst ist einfacher als sein Ruf.

Die Steigung in einem Punkt. Man nehme die Parabel y = x² und frage nach der Steigung im Punkt x = 3, wo y = 9 ist. Eine Steigung braucht zwei Punkte. Von x = 3 bis x = 4 wächst y von 9 auf 16, um 7 bei einem Schritt von 1: Steigung 7. Das ist die Steigung der Sehne zwischen den beiden Punkten, nicht die der Kurve bei 3. Also kleinerer Schritt: von 3 bis 3,1 wächst y von 9 auf 9,61, um 0,61 bei einem Schritt von 0,1, Steigung 6,1. Von 3 bis 3,01: y wächst um 0,0601, Steigung 6,01. Von 3 bis 3,001: Steigung 6,001. Je kleiner der Schritt, desto näher kommt die Steigung der Zahl 6, und sie kommt ihr so nahe, wie man will, ohne dass der Schritt je null sein müsste. Diese Zahl, der Grenzwert der Sehnensteigungen, ist die Steigung der Kurve im Punkt 3, die Steigung der Geraden, die die Kurve dort gerade berührt, der Tangente. Sie heißt Ableitung der Funktion an dieser Stelle. Bei x = 3 ist sie 6, bei x = 1 ist sie 2, bei x = 5 ist sie 10: immer das Doppelte von x. Die Ableitung von x² ist die Funktion 2x, so wie die Ableitung von x³ die Funktion 3x² ist und die Ableitung der Geraden a·x + b die Konstante a, denn die Gerade hat überall dieselbe Steigung und b hebt sie nur, ohne sie zu neigen. Was Newton und Leibniz fanden, waren solche Regeln, mit denen man die Ableitung jeder aus Potenzen, Summen, Produkten und Verkettungen gebauten Funktion hinschreiben kann, ohne Grenzwerte auszurechnen. Dass Leibniz dabei mit „unendlich kleinen“ Schritten rechnete, die einmal ungleich null und einmal gleich null waren, kritisierte der Bischof George Berkeley 1734 als „Gespenster verstorbener Größen“; erst Augustin-Louis Cauchy stellte das Verfahren 1821 auf den Grenzwert, wie er hier erklärt ist, und die Ableitung bekam ihren Namen von Lagrange, der 1797 von der „abgeleiteten Funktion“ sprach.17

Abbildung 3: Die Steigung der Parabel y = x² im Punkt x = 3. Die Sehne zum Punkt x = 4 hat die Steigung 7, die zum Punkt x = 3,5 die Steigung 6,5; je kürzer die Sehne, desto näher kommt ihre Steigung der 6, der Steigung der Tangente. Diese Zahl ist die Ableitung von x² an der Stelle 3, das Doppelte von 3.0123405101520xy = x²(3, 9)Sehne zu x = 4: Steigung 7Sehne zu x = 3,5: Steigung 6,5Tangente: Steigung 6 = Ableitung
Abbildung 3: Die Steigung der Parabel y = x² im Punkt x = 3. Die Sehne zum Punkt x = 4 hat die Steigung 7, die zum Punkt x = 3,5 die Steigung 6,5; je kürzer die Sehne, desto näher kommt ihre Steigung der 6, der Steigung der Tangente. Diese Zahl ist die Ableitung von x² an der Stelle 3, das Doppelte von 3.

Was die Ableitung sagt. Die Ableitung ist eine Zahl, die eine Frage beantwortet: Wenn ich die Eingabe ein kleines Stück bewege, wie weit bewegt sich die Ausgabe, im Verhältnis? Eine Ableitung von 6 heißt: ein Tausendstel mehr Eingabe, etwa sechs Tausendstel mehr Ausgabe. Eine Ableitung von −2 heißt: mehr Eingabe, weniger Ausgabe, doppelt so schnell. Eine Ableitung von 0 heißt: Die Ausgabe reagiert auf einen kleinen Stups gar nicht, die Kurve ist in diesem Punkt waagerecht, und das ist genau an den Stellen der Fall, wo sie einen Gipfel oder ein Tal hat. Das war Leibniz’ Titel: Wer das Minimum einer Funktion sucht, leitet sie ab, setzt die Ableitung gleich null und löst die Gleichung mit al-Chwarizmis Umformen. Die Parabel y = (x − 3)² hat die Ableitung 2·(x − 3), die bei x = 3 null ist, und dort liegt ihr Tal. Abschnitt 6 findet so die beste Gerade durch eine Punktwolke, und Abschnitt 7 zeigt, was man tut, wenn die Gleichung „Ableitung gleich null“ nicht mehr lösbar ist.

Die Ableitung von e hoch x. Euler bewies, was Abschnitt 3 angekündigt hat: Die Ableitung von eˣ ist eˣ selbst. Die Wachstumskurve zur Basis e steigt in jedem Punkt so steil, wie sie hoch ist; bei jeder anderen Basis kommt ein störender Faktor dazu, bei 2ˣ etwa 0,693, der natürliche Logarithmus von 2. Das macht e zur bequemsten Basis für alles, was abgeleitet werden soll, und das ist in der KI alles. Die Ableitung von ln x ist 1/x, und die Ableitung der Sigmoid-Funktion aus Abschnitt 3 ergibt sich aus ihrem eigenen Wert: σ·(1 − σ). Bei z = 0,5 ist σ ≈ 0,6225 und die Ableitung 0,6225·0,3775 ≈ 0,235; bei z = 10 ist sie nahezu null, denn dort ist die S-Kurve flach. Diese zwei Zahlen werden in Abschnitt 11 gebraucht, wenn ein Netz zum ersten Mal lernt.

Die Kettenregel. Die Regel, auf der das Training aller heutigen Modelle beruht, steht bereits bei Leibniz, und sie handelt von verschachtelten Funktionen. Wenn y von u abhängt und u von x, wie hängt y von x ab? Man stelle sich Zahnräder vor: Dreht sich u dreimal so schnell wie x und y doppelt so schnell wie u, dreht sich y sechsmal so schnell wie x. Steigungen verketteter Funktionen multiplizieren sich. Ein Zahlenbeispiel: u = 2·x + 1 und y = u². Bei x = 1 ist u = 3 und y = 9. Die Ableitung von u nach x ist 2, die Ableitung von y nach u ist 2u = 6, also ist die Ableitung von y nach x das Produkt, 12. Die Probe mit einem kleinen Schritt: Bei x = 1,01 ist u = 3,02 und y = 9,1204, die Ausgabe ist um 0,1204 gewachsen bei einem Schritt von 0,01, Verhältnis 12,04, nahe genug an 12. Leibniz’ Schreibweise macht die Regel zum Kürzen von Brüchen: dy/dx = dy/du · du/dx, das du hebt sich scheinbar weg. Das ist die Kettenregel, und sie gilt für Ketten jeder Länge: Zehn verschachtelte Funktionen, zehn Faktoren. Ein Sprachmodell ist eine Kette von einigen hundert verschachtelten Rechenschritten, und die Frage, wie sein Fehler von einem Gewicht tief im Inneren abhängt, ist eine Kettenregel mit einigen hundert Faktoren. Wie man sie ausrechnet, ohne sie hundert Milliarden Mal auszurechnen, ist die Entdeckung von Abschnitt 11.

Mehrere Eingaben. Die gewichtete Summe aus Abschnitt 2 hat viele Eingaben, und ihre Ausgabe hat für jede davon eine eigene Steigung. Die Ableitung nach einer Eingabe, während alle anderen festgehalten werden, heißt partielle Ableitung, geschrieben mit einem geschwungenen ∂ statt des d. Beim Taxipreis 2·Kilometer + 0,5·Minuten + 4 ist die partielle Ableitung nach den Kilometern 2 und nach den Minuten 0,5, die Gewichte selbst. Beim Training interessiert die umgekehrte Richtung: Wie stark ändert sich der Fehler des Modells, wenn man ein einzelnes Gewicht ein wenig verstellt und alle anderen lässt? Das ist eine partielle Ableitung nach dem Gewicht, eine je Gewicht, bei einem großen Modell einige hundert Milliarden Zahlen, und die Liste all dieser Zahlen bekommt in Abschnitt 7 einen Namen.

Selbst ausprobieren. Die Steigung von x³ im Punkt 2 lässt sich wie oben durch Sehnen einkreisen: In Python gibt ((2+0.1)**3-8)/0.1 den Wert 12,61, ((2+0.001)**3-8)/0.001 den Wert 12,006, und die Regel „Ableitung von x³ ist 3x²“ sagt 3·2² = 12. Wer die Kettenregel prüfen will, rechnet ((2*1.001+1)**2-9)/0.001 und bekommt 12,004.18

5. Der berechenbare Zufall: Wahrscheinlichkeit und Bayes (1654–1933)

Das Problem. Ein Sprachmodell weiß nicht, welches Wort als Nächstes kommt; es weiß nur, welche Wörter wie wahrscheinlich sind. Dass sich über den Zufall überhaupt rechnen lässt, ist eine späte Entdeckung, und sie begann am Spieltisch. Der Chevalier de Méré, ein Spieler am Hof Ludwigs XIV., fragte 1654 Blaise Pascal, wie der Einsatz gerecht zu teilen sei, wenn ein Spiel vorzeitig abgebrochen wird, und Pascal löste die Frage im Briefwechsel mit Pierre de Fermat: Man zählt, wie die noch ausstehenden Runden ausgehen könnten, und teilt nach dem Anteil der Fälle, in denen jeder gewinnt. Christiaan Huygens machte daraus 1657 das erste Lehrbuch; Girolamo Cardano, selbst ein Spieler, hatte die Regeln ein Jahrhundert früher aufgeschrieben, aber sein Buch erschien erst 1663.19 Die Wahrscheinlichkeit eines Ereignisses ist, wenn alle Fälle gleich möglich sind, die Zahl der günstigen Fälle geteilt durch die Zahl aller Fälle: eine Sechs beim Würfel 1/6, eine gerade Zahl 3/6 = ½, eine Zahl unter sieben 6/6 = 1, eine Sieben 0. Sie liegt immer zwischen 0 und 1, und die Wahrscheinlichkeiten aller möglichen Ausgänge ergeben zusammen 1.

Rechnen mit Wahrscheinlichkeiten. Zwei Regeln genügen für fast alles. Schließen sich zwei Ausgänge aus, addiert man: Eins oder Zwei beim Würfel 1/6 + 1/6 = 1/3. Sind zwei Ereignisse voneinander unabhängig, multipliziert man: zwei Sechsen mit zwei Würfeln 1/6 · 1/6 = 1/36. Die Liste der Wahrscheinlichkeiten aller Ausgänge heißt Verteilung: Beim fairen Würfel sechsmal 1/6, beim gezinkten vielleicht 0,3 für die Sechs und je 0,14 für die anderen fünf. Hängt ein Ereignis von einem anderen ab, ändert die Kenntnis des einen die Wahrscheinlichkeit des anderen: Weiß man, dass der Würfel eine gerade Zahl zeigt, ist die Wahrscheinlichkeit für eine Sechs nicht mehr 1/6, sondern 1/3, einer von drei verbliebenen Fällen. Das ist eine bedingte Wahrscheinlichkeit, geschrieben P(Sechs | gerade), „Wahrscheinlichkeit von Sechs, gegeben gerade“. Mit ihr lässt sich die Multiplikationsregel auf abhängige Ereignisse erweitern: Die Wahrscheinlichkeit, dass erst A und dann B eintritt, ist die von A mal die von B, gegeben A, und für eine Kette von drei Ereignissen P(A)·P(B | A)·P(C | A und B). Diese Produktregel ist die Form, in der ein Sprachmodell einen Satz bewertet: die Wahrscheinlichkeit des ersten Wortes, mal die des zweiten, gegeben das erste, mal die des dritten, gegeben die ersten beiden, und so fort. Ein Modell, das für jedes nächste Wort eine Verteilung liefert, bewertet damit jeden möglichen Text.

Erwartung und große Zahlen. Huygens führte den Erwartungswert ein, den Durchschnitt, den man auf lange Sicht zu erwarten hat: Zahlt ein Spiel bei einer Sechs zwölf Euro und sonst nichts, ist der Erwartungswert 1/6 · 12 + 5/6 · 0 = 2 Euro; wer mehr als zwei Euro Einsatz zahlt, verliert auf Dauer. Jeder Ausgang wird mit seiner Wahrscheinlichkeit gewichtet und die Produkte werden addiert, eine gewichtete Summe wie in Abschnitt 2, bei der die Gewichte zusammen 1 ergeben. Dass die lange Sicht tatsächlich eintritt, bewies Jakob Bernoulli in seiner „Kunst des Vermutens“, die 1713 nach seinem Tod erschien: Je öfter man würfelt, desto näher kommt der Anteil der Sechsen an 1/6, mit so großer Sicherheit, wie man will. Bei 600 Würfen sind es um die hundert Sechsen, selten unter 80 oder über 120.20 Dieses Gesetz der großen Zahlen ist der Grund, warum man Wahrscheinlichkeiten aus Daten schätzen kann, durch Zählen: Wer in Millionen Texten zählt, wie oft auf „guten“ das Wort „Morgen“ folgt, hat eine brauchbare Schätzung dafür, wie wahrscheinlich es ist. Abraham de Moivre fand 1733, dass die Abweichungen vom Erwartungswert bei vielen Versuchen immer dieselbe glockenförmige Kurve bilden, hoch in der Mitte, flach an den Rändern; Laplace bewies 1810 allgemein, dass die Summe vieler kleiner Zufallseinflüsse diese Kurve ergibt, und Gauss hatte sie 1809 als Verteilung der Messfehler benutzt. Sie heißt Normalverteilung, und sie ist die Form, die man annimmt, wenn man über Fehler nichts weiß, außer dass viele kleine Ursachen sie machen.21

Bayes. Der Pfarrer Thomas Bayes beantwortete in einem Aufsatz, den sein Freund Richard Price 1763 nach Bayes’ Tod veröffentlichte, die Frage, die die Rechnung rückwärts auf den Zufall anwendet: Man kennt die Wahrscheinlichkeit einer Beobachtung, gegeben eine Ursache, und sucht die Wahrscheinlichkeit der Ursache, gegeben die Beobachtung. Laplace fand die Regel 1774 unabhängig und machte sie zum Werkzeug.22 Am klarsten wird sie mit Anzahlen statt Brüchen. Eine Krankheit trifft einen von hundert Menschen; ein Test erkennt neun von zehn Kranken und schlägt bei einem von zehn Gesunden fälschlich an. Was bedeutet ein positiver Test? Von tausend Menschen sind zehn krank, der Test findet neun davon; von den 990 Gesunden schlägt er bei 99 an. Positiv getestet sind also 108 Menschen, von denen 9 krank sind: 9/108 ≈ 8 Prozent, nicht 90. Die Regel in Buchstaben, P(krank | positiv) = P(positiv | krank) · P(krank) / P(positiv) = 0,9 · 0,01 / 0,108 ≈ 0,083, sagt dasselbe, und sie heißt Satz von Bayes. Ihr Gehalt: Was man vorher für wahrscheinlich hielt, die Seltenheit der Krankheit, wird durch die Beobachtung nicht ersetzt, sondern mit ihr verrechnet; Ärzte, die das verrechnen sollen, scheitern mit Brüchen regelmäßig und mit Anzahlen selten.23 In der KI ist der Satz zweimal gegenwärtig: als Prinzip, dass Lernen heißt, eine Vorannahme mit Daten zu verrechnen, und als erstes Verfahren, mit dem Software Sprache statistisch beurteilte, die Spam-Filter seit 2002, die aus den Wörtern einer Mail die Wahrscheinlichkeit berechnen, dass sie Werbung ist.24

Die Axiome. Was eine Wahrscheinlichkeit eigentlich ist, ob ein Anteil auf lange Sicht oder ein Grad des Vertrauens, blieb umstritten, bis Andrei Kolmogorow 1933 in einem Buch von 62 Seiten die Frage beiseiteschob und nur noch festlegte, welche Regeln die Zahlen erfüllen müssen: nicht negativ, in der Summe 1, additiv für unvereinbare Ereignisse. Alles Weitere folgt daraus, und beide Lesarten können die Regeln benutzen.25 Ein Sprachmodell benutzt sie so: Seine letzte Rechnung ist die Softmax aus Abschnitt 3, die aus Punktzahlen eine Verteilung über alle Wörter macht, die es kennt. Dann wird ein Wort gezogen, so wie man aus einer Urne zieht, in der die Zettel nach den Wahrscheinlichkeiten verteilt sind. Deshalb antwortet ein Chatbot auf dieselbe Frage verschieden, und deshalb kann er, mit Temperatur null, auch immer das wahrscheinlichste Wort nehmen und wird dann vorhersehbar und eintönig. Was das Modell nicht tut, ist nachschlagen: Es würfelt, mit Wahrscheinlichkeiten, die es gelernt hat. Wie man sie lernt, aus Daten, mit einer Geraden, ist der nächste Abschnitt.

Selbst ausprobieren. Das Gesetz der großen Zahlen zeigt jede Tabellenkalkulation. In Zelle A1 die Formel =ZUFALLSBEREICH(1;6), nach unten bis Zeile 600 ziehen, und in B1 =ZÄHLENWENN(A1:A600;6): um die hundert Sechsen. Mit der Taste F9 wird neu gewürfelt, und die Zahl schwankt um hundert, aber selten weit. Wer nur sechs Zeilen nimmt, sieht, dass bei kleinen Zahlen alles passieren kann, auch keine Sechs oder drei. Die Rechnung mit dem Test lässt sich mit anderen Zahlen wiederholen: Trifft die Krankheit einen von zehn, sind von tausend hundert krank, der Test findet 90, von 900 Gesunden schlägt er bei 90 an, und ein positiver Test bedeutet die Hälfte.26

6. Die beste Linie: Kleinste Quadrate und Regression (1795–1922)

Das Problem. Am 1. Januar 1801 entdeckte Giuseppe Piazzi in Palermo einen Himmelskörper, der kein bekannter Stern war, verfolgte ihn sechs Wochen lang über ein kleines Stück Himmel und verlor ihn dann im Licht der Sonne. Aus wenigen, mit Messfehlern behafteten Beobachtungen die Bahn zu berechnen, auf der man ihn wiederfinden würde, gelang dem 24-jährigen Carl Friedrich Gauss, und im Dezember 1801 und in der Neujahrsnacht 1802 wurde der Kleinplanet Ceres dort gefunden, wo seine Rechnung ihn vorhersagte.27 Das Verfahren, das dahintersteht, veröffentlichte Adrien-Marie Legendre 1805 als Anhang zu einer Schrift über Kometenbahnen, unter dem Namen, den es bis heute trägt, „Methode der kleinsten Quadrate“; Gauss schrieb 1809, er benutze das Prinzip seit 1795, was Legendre ihm übel nahm und was sich nie ganz klären ließ.28 Die Frage, die beide beantworteten, ist die Frage jedes Trainings: Gegeben Messwerte, die nicht genau auf eine Kurve passen, welche Kurve passt am besten?

Die Daten. Fünf Schüler lernen eine, zwei, drei, vier und fünf Stunden und erreichen 3, 5, 4, 7 und 8 Punkte. Die Punkte liegen nicht auf einer Geraden, aber sie steigen, und man möchte eine Gerade, die den Zusammenhang beschreibt und für sechs Stunden eine Vorhersage erlaubt. Eine solche Gerade, allgemein jede Rechenvorschrift mit einstellbaren Zahlen, die Daten beschreiben soll, heißt Modell. Für jeden Schüler macht das Modell eine Vorhersage, und der Unterschied zwischen Vorhersage und Messwert heißt Fehler. Die Gerade y = x + 2 sagt 3, 4, 5, 6 und 7 Punkte voraus, die Fehler sind 0, −1, 1, −1 und −1. Um die Fehler zu einer Zahl zusammenzufassen, darf man sie nicht einfach addieren, denn dann heben sich −1 und 1 auf, als wäre nichts passiert. Legendre und Gauss quadrierten sie: 0 + 1 + 1 + 1 + 1 = 4. Das Quadrat macht jeden Fehler positiv, es bestraft große Fehler überproportional, ein Fehler von 2 zählt viermal so viel wie einer von 1, und es ergibt eine glatte Funktion, die man ableiten kann, was der Betrag nicht täte. Die Summe der quadrierten Fehler ist die Verlustfunktion des Modells, in der KI kurz der Verlust oder Loss, und die Gerade mit dem kleinsten Verlust ist die beste. Für y = 2·x, ohne Achsenabschnitt, sind die Vorhersagen 2, 4, 6, 8, 10 und der Verlust 1 + 1 + 4 + 1 + 4 = 11, schlechter. Für y = x + 2,5 ist er 3,25, besser. Gibt es eine noch bessere Gerade?

Abbildung 4: Die Methode der kleinsten Quadrate. Fünf Schüler, ihre Lernstunden und Punkte, und die Gerade y = 1,2·x + 1,8, für die die Summe der quadrierten Fehler, hier als Quadrate gezeichnet, am kleinsten ist: 0 + 0,64 + 1,96 + 0,16 + 0,04 = 2,8. Jede andere Gerade ergibt eine größere Summe.01234560246810Lernstunden (x)Punkte (y)y = 1,2·x + 1,8Summe der Quadrate: 0 + 0,64 + 1,96 + 0,16 + 0,04 = 2,8
Abbildung 4: Die Methode der kleinsten Quadrate. Fünf Schüler, ihre Lernstunden und Punkte, und die Gerade y = 1,2·x + 1,8, für die die Summe der quadrierten Fehler, hier als Quadrate gezeichnet, am kleinsten ist: 0 + 0,64 + 1,96 + 0,16 + 0,04 = 2,8. Jede andere Gerade ergibt eine größere Summe.

Die Lösung. Der Verlust hängt von zwei Zahlen ab, der Steigung a und dem Achsenabschnitt b, und ist für jedes Paar eine Zahl: eine Funktion mit zwei Eingaben, deren Graph eine Schüssel ist, die irgendwo einen tiefsten Punkt hat. Am tiefsten Punkt sind beide partiellen Ableitungen null, die nach a und die nach b, das ist Leibniz’ Regel aus Abschnitt 4. Beide Ableitungen hinzuschreiben und gleich null zu setzen ergibt zwei Gleichungen für a und b, die sich mit al-Chwarizmis Umformen lösen lassen, und das Ergebnis hat eine Form, die man auswendig lernen kann. Man berechnet den Mittelwert der Eingaben, (1 + 2 + 3 + 4 + 5)/5 = 3, und den der Messwerte, 27/5 = 5,4, dann für jeden Schüler die Abweichungen von beiden: bei den Stunden −2, −1, 0, 1, 2, bei den Punkten −2,4, −0,4, −1,4, 1,6, 2,6. Die Steigung ist die Summe der Produkte beider Abweichungen, 4,8 + 0,4 + 0 + 1,6 + 5,2 = 12, geteilt durch die Summe der quadrierten Stundenabweichungen, 4 + 1 + 0 + 1 + 4 = 10: a = 1,2. Der Achsenabschnitt folgt daraus, weil die beste Gerade durch den Punkt der beiden Mittelwerte geht: b = 5,4 − 1,2 · 3 = 1,8. Die Gerade y = 1,2·x + 1,8 sagt 3, 4,2, 5,4, 6,6 und 7,8 voraus, die Fehler sind 0, −0,8, 1,4, −0,4 und −0,2, und der Verlust ist 0 + 0,64 + 1,96 + 0,16 + 0,04 = 2,8, kleiner als bei jeder anderen Geraden. Das ist die Methode der kleinsten Quadrate: Fehler quadrieren, addieren, ableiten, null setzen, lösen. Für sechs Stunden sagt sie 9 Punkte voraus.

Regression und Korrelation. Den Namen, unter dem das Verfahren in der Statistik und in der KI läuft, verdankt es einem Irrtum. Francis Galton maß 1886 die Körpergrößen von Eltern und Kindern und fand, dass die Kinder großer Eltern zwar groß sind, aber weniger groß als die Eltern, und die Kinder kleiner Eltern weniger klein: eine „Regression zur Mitte“, die er für ein Gesetz der Vererbung hielt und die in Wahrheit jede Gerade durch eine Punktwolke zeigt, deren Punkte streuen.29 Der Name Regression blieb an der Methode hängen, eine Gerade oder eine andere Funktion so durch Daten zu legen, dass der quadrierte Fehler am kleinsten ist. Karl Pearson gab 1896 der Stärke eines Zusammenhangs eine Zahl zwischen −1 und 1, die Korrelation, die 1 ist, wenn alle Punkte auf einer steigenden Geraden liegen, −1 bei einer fallenden und 0, wenn die Gerade keine Steigung hat.30 Mit mehreren Eingaben, Lernstunden, Schlaf, Vorwissen, wird die Gerade zur gewichteten Summe aus Abschnitt 2, und die Methode findet alle Gewichte und den Bias auf einmal: Die multiple Regression von 1900 ist, Zahl für Zahl, das künstliche Neuron, nur dass man damals die Gleichungen löste, statt sich an die Lösung heranzutasten.

Die wahrscheinlichste Erklärung. Gauss begründete 1809, warum ausgerechnet die Quadrate: Wenn die Messfehler normalverteilt sind, Abschnitt 5, dann ist die Gerade mit dem kleinsten quadrierten Fehler diejenige, unter der die beobachteten Messwerte am wahrscheinlichsten sind.31 Ronald Fisher machte aus diesem Gedanken 1922 ein allgemeines Prinzip und gab ihm 1921 den Namen: Von allen Einstellungen eines Modells wähle man die, die den beobachteten Daten die größte Wahrscheinlichkeit gibt, die größte Likelihood.32 Das Prinzip gilt für jedes Modell, das Wahrscheinlichkeiten ausgibt, also auch für ein Sprachmodell: Die beste Einstellung ist die, unter der die Texte, mit denen man trainiert, am wahrscheinlichsten sind. Weil die Wahrscheinlichkeit eines Textes nach der Produktregel ein Produkt sehr vieler kleiner Zahlen ist, nimmt man den Logarithmus, der aus dem Produkt eine Summe macht, Abschnitt 3, und dreht das Vorzeichen um, damit aus dem größten Wert ein kleinster wird: Der Verlust eines Sprachmodells ist minus der Logarithmus der Wahrscheinlichkeit, die es den richtigen Wörtern gibt. Abschnitt 12 gibt dieser Zahl ihren Namen aus der Nachrichtentechnik.

Auswendiglernen. Eine Gefahr zeigt sich schon bei fünf Punkten. Durch fünf Punkte lässt sich immer eine Kurve mit fünf einstellbaren Zahlen legen, die alle genau trifft, mit Verlust null; sie schlängelt sich zwischen den Punkten hindurch und sagt für sechs Stunden minus zwölf Punkte voraus. Das Modell hat die Daten auswendig gelernt statt den Zusammenhang, und das heißt Überanpassung. Dagegen hilft eine alte Vorsichtsmaßnahme der Statistik: Man hält einen Teil der Daten zurück, trainiert auf dem Rest und prüft am zurückgehaltenen Teil, den Testdaten, ob das Modell auch Unbekanntes trifft. Dass Modelle mit mehr einstellbaren Zahlen als Datenpunkten trotzdem gut vorhersagen können, widerspricht dieser Erfahrung, ist aber bei Sprachmodellen der Normalfall; Abschnitt 15 kommt darauf zurück.

Die Grenze. Die Methode der kleinsten Quadrate liefert die Lösung in einem Zug, weil die Ableitungen des Verlusts Geraden sind und „Ableitung gleich null“ zu lösbaren Gleichungen führt. Das gilt für jedes Modell, das aus gewichteten Summen besteht, und für kein anderes. Sobald zwischen den Summen eine Sigmoid-Kurve steckt, was nach Abschnitt 2 nötig ist, damit das Modell sich biegen kann, sind die Gleichungen nicht mehr lösbar, und für eine Schüssel mit hundert Milliarden Richtungen, die obendrein keine Schüssel mehr ist, sondern ein Gebirge, braucht man das Verfahren, das Cauchy 1847 auf drei Seiten beschrieb.

Selbst ausprobieren. Jede Tabellenkalkulation rechnet die Regression. Die Stunden in Spalte A, die Punkte in Spalte B, beide Spalten markieren, Punktdiagramm einfügen, dann mit der rechten Maustaste auf einen Punkt „Trendlinie einfügen“, linear, mit „Gleichung anzeigen“: y = 1,2x + 1,8. Wer die 8 Punkte des fünften Schülers in 20 ändert, sieht die Gerade kippen und den Einfluss, den ein einzelner Ausreißer durch das Quadrieren bekommt. In Python liefert import numpy und numpy.polyfit([1,2,3,4,5],[3,5,4,7,8],1) die beiden Zahlen 1,2 und 1,8; mit der 1 am Ende durch 4 ersetzt bekommt man die Kurve, die alle fünf Punkte trifft, und mit numpy.polyval(..., 6) ihre Vorhersage für sechs Stunden.33

7. Bergab in kleinen Schritten: Das Gradientenverfahren (1847–1952)

Das Problem. Wenn „Ableitung gleich null“ keine lösbare Gleichung ergibt, bleibt der Weg der Babylonier: sich herantasten. Augustin-Louis Cauchy, der die Ableitung 1821 auf den Grenzwert gestellt hatte, legte der Pariser Akademie am 18. Oktober 1847 eine Mitteilung von drei Seiten vor, „Allgemeine Methode zur Auflösung von Systemen simultaner Gleichungen“, die mit Bahnen von Himmelskörpern begründet war und das Verfahren enthält, mit dem seither jedes neuronale Netz trainiert wird: Um das Minimum einer Funktion zu finden, berechne man an der aktuellen Stelle, in welche Richtung sie am steilsten fällt, gehe ein kleines Stück in diese Richtung und wiederhole das.34 Wer im Nebel auf einem Berg steht und ins Tal will, tut dasselbe: Er spürt unter den Füßen, wohin es abwärts geht, macht einen Schritt und spürt erneut. Er sieht das Tal nicht, und er braucht es nicht zu sehen.

Eine Richtung. Mit einer einzigen einstellbaren Zahl lässt sich das Verfahren nachrechnen. Die Verlustfunktion sei L = (w − 3)², eine Parabel mit dem Tal bei w = 3, was man hier sieht und bei einem echten Modell nicht sehen kann. Ihre Ableitung ist 2·(w − 3), Abschnitt 4. Die Regel lautet: neues w = altes w minus Lernrate mal Ableitung. Man startet bei w = 0, wo die Ableitung −6 ist, die Kurve fällt also nach rechts, und wählt als Lernrate 0,25: neues w = 0 − 0,25 · (−6) = 1,5. Dort ist die Ableitung −3, der nächste Schritt führt auf 2,25, dann auf 2,625, 2,8125, 2,906, 2,953, und jeder Schritt halbiert den Abstand zum Tal, ohne es je ganz zu erreichen, wie Bernoullis Zinsen die Zahl e. Die Lernrate bestimmt die Schrittweite, und sie ist eine Kunst. Mit 0,5 landet man hier zufällig in einem Schritt genau bei 3. Mit 1 springt man von 0 auf 6, von 6 auf 0 und so fort, über das Tal hinweg und zurück, für immer. Mit 1,1 wird jeder Sprung größer als der vorige, 6,6, −1,32, 8,18, −3,22, und der Verlust wächst statt zu fallen. Zu kleine Schritte kosten Zeit, zu große zerstören alles, und ein guter Teil der Erfahrung beim Training großer Modelle ist Erfahrung mit dieser einen Zahl.

Abbildung 5: Das Gradientenverfahren auf der Verlustfunktion L = (w − 3)². Von w = 0 aus folgt jeder Schritt der Ableitung 2·(w − 3) bergab, mit der Lernrate 0,25: 1,5, 2,25, 2,625, 2,8125, und jeder Schritt halbiert den Abstand zum Tal bei 3. Mit der Lernrate 1 springt das Verfahren zwischen 0 und 6 hin und her und kommt nie an.012345604812Gewicht wVerlust L = (w − 3)²Lernrate 1: springt zwischen 0 und 6Start w = 0Lernrate 0,25Tal bei w = 3
Abbildung 5: Das Gradientenverfahren auf der Verlustfunktion L = (w − 3)². Von w = 0 aus folgt jeder Schritt der Ableitung 2·(w − 3) bergab, mit der Lernrate 0,25: 1,5, 2,25, 2,625, 2,8125, und jeder Schritt halbiert den Abstand zum Tal bei 3. Mit der Lernrate 1 springt das Verfahren zwischen 0 und 6 hin und her und kommt nie an.

Viele Richtungen. Ein Modell hat nicht eine einstellbare Zahl, sondern Milliarden, und der Verlust ist eine Funktion mit Milliarden Eingaben. Für jede davon gibt es eine partielle Ableitung, Abschnitt 4: Wie ändert sich der Verlust, wenn ich dieses eine Gewicht ein wenig verstelle? Die Liste all dieser partiellen Ableitungen, eine je Gewicht, heißt Gradient, und sie zeigt in die Richtung, in der der Verlust am steilsten steigt; die Gegenrichtung ist Cauchys steilster Abstieg. Die Regel bleibt dieselbe, nur für alle Gewichte gleichzeitig: Jedes Gewicht wird um die Lernrate mal seine eigene partielle Ableitung verringert. Gewichte, von denen der Verlust stark abhängt, bewegen sich viel, die anderen wenig, und die mit Ableitung null bleiben stehen. Das Verfahren heißt Gradientenverfahren oder Gradientenabstieg, und seine Schleife ist der Algorithmus, den Abschnitt 1 angekündigt hat: den Verlust berechnen, den Gradienten berechnen, einen Schritt tun. Was in einer Dimension eine Parabel war, ist in Milliarden Dimensionen ein Gebirge, das niemand sehen kann, mit Tälern, die nicht das tiefste sind (lokale Minima), in denen das Verfahren stecken bleiben kann, mit Hochebenen, auf denen der Gradient fast null ist und die Schritte winzig werden, und mit Sätteln, an denen es in einer Richtung bergauf und in einer anderen bergab geht. Dass das Verfahren in diesen Gebirgen trotzdem brauchbare Täler findet, ist eine Erfahrungstatsache, keine bewiesene, und Abschnitt 15 kommt darauf zurück. Jacques Hadamard beschrieb das Verfahren 1908 erneut, und Haskell Curry gab ihm 1944 seinen englischen Namen, steepest descent.35

Mit Zufall. Den Verlust über alle Trainingsdaten zu berechnen, bevor man einen Schritt tut, ist bei Billionen Wörtern unbezahlbar. Herbert Robbins und Sutton Monro zeigten 1951, dass man die Ableitung nicht genau kennen muss: Eine Schätzung, die im Durchschnitt stimmt und im Einzelnen verrauscht ist, führt ebenfalls zum Minimum, wenn die Schritte mit der Zeit kleiner werden.36 In der Praxis nimmt man für jeden Schritt eine kleine zufällige Auswahl der Daten, einen Mini-Batch von einigen hundert oder tausend Beispielen, berechnet den Gradienten nur für diese und macht den Schritt; der nächste Schritt nimmt die nächste Auswahl. Das heißt stochastisches Gradientenverfahren, und es ist nicht nur billiger, das Rauschen hilft offenbar auch, aus flachen Tälern herauszukommen. Ein Durchgang durch alle Daten heißt Epoche; große Sprachmodelle sehen die meisten ihrer Daten nur ein einziges Mal. Die Schrittweite wird dabei nicht fest gewählt, sondern verändert: zu Beginn langsam gesteigert, dann über das Training hinweg gesenkt, und seit den 2010er Jahren obendrein für jedes Gewicht einzeln angepasst. Das Verfahren Adam, das Diederik Kingma und Jimmy Ba 2014 vorstellten, führt für jedes Gewicht einen gleitenden Durchschnitt seiner vergangenen Gradienten und ihrer Quadrate und verkleinert die Schritte dort, wo die Gradienten groß schwanken; es ist bis heute das Verfahren, mit dem fast alle großen Modelle trainiert werden.37 Die Grundidee bleibt Cauchys: bergab, Schritt für Schritt, im Nebel.

Was noch fehlt. Das Gradientenverfahren setzt voraus, dass man den Gradienten hat, und für ein Modell mit Milliarden Gewichten in verschachtelten Schichten ist das die eigentliche Schwierigkeit: Jede partielle Ableitung ist nach Abschnitt 4 eine Kettenregel mit vielen Faktoren, und Milliarden solcher Ketten einzeln auszurechnen wäre so teuer wie das Herantasten selbst. Die Lösung, die alle Ketten auf einmal ausrechnet, ist Backpropagation, Abschnitt 11. Vorher brauchen die Gewichte eine Ordnung, in der sich Milliarden von ihnen schreiben und in einem Zug ausrechnen lassen.

Selbst ausprobieren. Das Herantasten passt in eine Spalte. In Zelle A1 der Startwert 0, in A2 die Formel =A1-0,25*2*(A1-3), nach unten ziehen: 1,5, 2,25, 2,625, und nach zwanzig Zeilen 2,999997. Dann die 0,25 durch 0,5, 1 und 1,1 ersetzen. Wer mag, ändert die Verlustfunktion: Für L = (w − 3)⁴ ist die Ableitung 4·(w − 3)³, und die Schritte werden nahe am Tal sehr klein, die Hochebene im Kleinen.38

8. Zahlen in Reihen: Vektoren, Matrizen und Grafikkarten (1843–2012)

Das Problem. Ein Taxipreis hat zwei Eingaben, ein Bild hat eine Million, und ein Wort in einem Sprachmodell wird durch mehrere tausend Zahlen beschrieben. Um mit solchen Mengen zu rechnen, ohne jede Zahl einzeln zu nennen, braucht die Mathematik eine Schreibweise, in der eine Liste von Zahlen ein einziges Ding ist, und Regeln, nach denen man mit solchen Dingen rechnet. Beides entstand in der Mitte des 19. Jahrhunderts, aus Fragen, die mit Daten nichts zu tun hatten. William Rowan Hamilton suchte 1843 nach einer Art, Drehungen im Raum zu multiplizieren, fand die Quaternionen und gab 1846 dem Teil, der eine Richtung mit einer Länge ist, den Namen Vektor, der Träger. Hermann Grassmann, Gymnasiallehrer in Stettin, veröffentlichte 1844 eine „Ausdehnungslehre“, die das Rechnen mit Vektoren in beliebig vielen Dimensionen enthielt und so unverständlich geschrieben war, dass sie dreißig Jahre niemand las.39 Ein Vektor ist für diesen Text einfach eine Liste von Zahlen, (3, 4), und man kann ihn sich als Punkt im Koordinatensystem vorstellen oder als Pfeil vom Ursprung zu diesem Punkt. Zwei Vektoren addiert man Zahl für Zahl, (3, 4) + (1, −1) = (4, 3); mit einer Zahl multipliziert man jede Komponente, 2·(3, 4) = (6, 8), der Pfeil wird doppelt so lang. Seine Länge ist nach Pythagoras die Wurzel aus der Summe der Quadrate, √(3² + 4²) = √25 = 5, und das gilt in tausend Dimensionen genauso wie in zwei, auch wenn man es dort nicht mehr zeichnen kann. Die Zahl der Komponenten heißt Dimension des Vektors.

Das Skalarprodukt. Die wichtigste Rechnung mit zwei Vektoren ist die gewichtete Summe aus Abschnitt 2, neu gelesen: Die Gewichte (2, 0,5) und die Eingaben (3 Kilometer, 10 Minuten) sind zwei Vektoren, und 2·3 + 0,5·10 = 11 ist ihr Skalarprodukt: Komponente mal Komponente, alles addiert, als Ergebnis eine einzige Zahl, ein Skalar. Das Skalarprodukt hat eine geometrische Bedeutung, die der Rest des Textes braucht: Es ist groß, wenn zwei Pfeile in dieselbe Richtung zeigen, null, wenn sie senkrecht aufeinander stehen, und negativ, wenn sie entgegengesetzt zeigen. (3, 4) und (4, 3) zeigen fast gleich: 3·4 + 4·3 = 24. (3, 4) und (−4, 3) stehen senkrecht: −12 + 12 = 0. Teilt man das Skalarprodukt durch die beiden Längen, bekommt man eine Zahl zwischen −1 und 1, die nur von der Richtung abhängt, nicht von der Länge: 24 geteilt durch 5·5 ist 0,96, nahe 1, fast dieselbe Richtung. Diese Zahl heißt Kosinus-Ähnlichkeit, weil sie der Kosinus des Winkels zwischen den Pfeilen ist, und sie ist das Maß, mit dem Sprachmodelle entscheiden, ob zwei Wörter, zwei Sätze oder ein Wort und seine Umgebung zueinander passen, Abschnitt 13 und 14.

Die Matrix. Eine Tabelle aus Zahlen, mit Zeilen und Spalten, nannte James Joseph Sylvester 1850 Matrix, nach dem lateinischen Wort für Gebärmutter, weil aus ihr die Determinanten hervorgehen, mit denen man seit Leibniz Gleichungssysteme löste. Sein Freund Arthur Cayley machte 1858 in einer „Abhandlung über die Theorie der Matrizen“ die Tabelle zu einem Rechengegenstand: Er erklärte, wie man zwei Matrizen addiert und multipliziert und wann man durch eine teilen kann, und bemerkte, dass das Produkt von der Reihenfolge abhängt, A mal B ist nicht B mal A.40 Die Regel, die zählt, ist Matrix mal Vektor, und sie ist nichts als mehrere Skalarprodukte auf einmal. Die Matrix

120
0−13

hat zwei Zeilen und drei Spalten; mit dem Vektor (2, 1, 1) multipliziert ergibt jede Zeile ein Skalarprodukt: 1·2 + 2·1 + 0·1 = 4 und 0·2 − 1·1 + 3·1 = 2, das Ergebnis ist der Vektor (4, 2). Jede Zeile ist ein Satz Gewichte, jede Zeile ist ein Neuron, und die Matrix mal dem Eingabevektor berechnet die gewichteten Summen aller Neuronen in einem Zug. Eine solche Reihe von Neuronen, die alle dieselbe Eingabe sehen, heißt Schicht, und eine Schicht ist eine Matrix. Das Produkt zweier Matrizen, Cayleys Regel, ist dann die Hintereinanderschaltung zweier Schichten: erst die eine Matrix auf den Vektor, dann die andere auf das Ergebnis, und das lässt sich zu einer einzigen Matrix zusammenfassen, was der Grund ist, warum zwischen die Schichten etwas Nichtlineares muss, Abschnitt 9. Vertauscht man Zeilen und Spalten einer Matrix, kippt man sie an der Diagonale, heißt das transponieren, geschrieben mit einem hochgestellten T; die Schreibweise taucht in der Formel des Transformers auf, und sie bedeutet dort nur, dass Skalarprodukte zwischen allen Zeilen zweier Tabellen gebildet werden.

Abbildung 6: Matrix mal Vektor ist eine Schicht aus Neuronen. Jede Zeile der Matrix ist ein Satz Gewichte, jedes Neuron bildet das Skalarprodukt seiner Zeile mit der Eingabe (2, 1, 1): 1·2 + 2·1 + 0·1 = 4 und 0·2 − 1·1 + 3·1 = 2. Eine Schicht mit 12.288 Eingaben und Ausgaben ist eine Matrix mit 151 Millionen Gewichten.1200−13x₁ = 2x₂ = 1x₃ = 1ΣΣNeuron 1Neuron 241·2 + 2·1 + 0·1 = 420·2 − 1·1 + 3·1 = 21200−13·211=42jede Zeile ein Neuron
Abbildung 6: Matrix mal Vektor ist eine Schicht aus Neuronen. Jede Zeile der Matrix ist ein Satz Gewichte, jedes Neuron bildet das Skalarprodukt seiner Zeile mit der Eingabe (2, 1, 1): 1·2 + 2·1 + 0·1 = 4 und 0·2 − 1·1 + 3·1 = 2. Eine Schicht mit 12.288 Eingaben und Ausgaben ist eine Matrix mit 151 Millionen Gewichten.

Zählen. Eine Schicht, die aus 12.288 Eingaben 12.288 Ausgaben macht, ist eine Matrix mit 12.288 Zeilen und 12.288 Spalten, also 151 Millionen Gewichte, und sie braucht für einen einzigen Eingabevektor 151 Millionen Multiplikationen und ebenso viele Additionen. GPT-3 von 2020 hat 96 Schichten mit jeweils einem Dutzend Matrizen dieser Größenordnung, zusammen 175 Milliarden Gewichte, und für jedes erzeugte Wort werden alle einmal multipliziert: rund 350 Milliarden Rechenschritte je Wort.41 Dass das in Sekundenbruchteilen geht, verdankt sich einer Eigenschaft des Matrixprodukts: Alle Skalarprodukte sind voneinander unabhängig und können gleichzeitig ausgerechnet werden. Die Numerik des 20. Jahrhunderts, von John von Neumanns Untersuchung über das Invertieren großer Matrizen 1947 bis zu den Standardroutinen BLAS von 1979 und LAPACK von 1992, hatte das Matrixprodukt bereits zur meistoptimierten Rechnung der Welt gemacht, als Grafikkarten dazukamen.42 Eine Grafikkarte berechnet für jeden Bildpunkt dieselbe kleine Rechnung, Millionen Mal gleichzeitig; Nvidia nannte die GeForce 256 von 1999 die erste GPU, öffnete die Karten 2007 mit CUDA für beliebige Rechnungen, und 2009 zeigte eine Gruppe um Andrew Ng, dass neuronale Netze darauf siebzigmal schneller trainieren als auf dem Hauptprozessor. Drei Jahre später gewann AlexNet, auf zwei Grafikkarten für Spieler trainiert, den Bildwettbewerb, mit dem die Deep-Learning-Welle begann, Abschnitt 5 der Geschichte der KI.43 Seither ist die Rechenleistung für Matrixprodukte die Währung, in der man Modelle und Firmen bewertet. Eine Matrix mit mehr als zwei Richtungen, ein Stapel von Matrizen, heißt Tensor, und das Wort steckt in TensorFlow, dem Werkzeug, mit dem Google 2015 das Rechnen damit freigab.

Was die Matrix nicht kann. Eine Matrix verwandelt Vektoren in Vektoren, aber nur durch gewichtete Summen, und das Ergebnis mehrerer Matrizen hintereinander ist wieder nur eine Matrix. Ein Modell aus lauter Matrizen bleibt eine Gerade, so viele Schichten es auch hat; es kann nichts, was die multiple Regression von 1900 nicht konnte. Die Verzerrung zwischen den Schichten, die die Gerade biegt, kommt aus einer anderen Ecke der Mathematik, aus der Logik, und von einem Nervenzellenmodell von 1943.

Selbst ausprobieren. Die Bibliothek NumPy, die mit Python geliefert wird oder sich nachinstallieren lässt, rechnet mit Vektoren und Matrizen wie mit Zahlen: import numpy as np, dann W = np.array([[1,2,0],[0,-1,3]]) und x = np.array([2,1,1]), und W @ x liefert [4 2]. np.dot([3,4],[4,3]) ergibt 24, np.linalg.norm([3,4]) die Länge 5, und W.T die transponierte Matrix mit drei Zeilen und zwei Spalten. Eine Matrix mit tausend mal tausend Zufallszahlen, A = np.random.rand(1000,1000), multipliziert A @ A in einigen Hundertstelsekunden, eine Milliarde Rechenschritte.44

9. Logik wird Rechnung: Boole, Shannon und das Neuron (1847–1949)

Das Problem. Alles bisher Gesagte rechnet mit Mengen: Preise, Längen, Wahrscheinlichkeiten. Denken aber scheint mit Ja und Nein zu arbeiten, mit „wenn das und das, dann jenes“, und Leibniz hatte 1685 davon geträumt, Streitfragen durch Rechnen zu entscheiden: „Lasst uns rechnen.“ George Boole, Sohn eines Schusters aus Lincoln, der sich die Mathematik selbst beigebracht hatte, löste den Traum 1847 in einer Schrift von 82 Seiten und 1854 in den „Gesetzen des Denkens“ ein: Man schreibe für wahr 1 und für falsch 0, dann wird die Logik zur Algebra.45 „A und B“ ist das Produkt A·B, das nur 1 ist, wenn beide 1 sind. „Nicht A“ ist 1 − A. „A oder B“ ist A + B − A·B, denn 1 + 1 − 1 ist 1, nicht 2. Mit diesen drei Rechnungen lässt sich jede Aussage, die aus Ja und Nein zusammengesetzt ist, als Formel schreiben und ihr Wahrheitswert ausrechnen, und die Boolesche Algebra blieb ein Steckenpferd von Logikern, bis ein Student sie 1937 in Kupferdraht übersetzte.

Schalter und Maschinen. Claude Shannon, 21 Jahre alt, zeigte in seiner Masterarbeit am MIT, dass ein Relais, ein elektrischer Schalter, der von einem anderen Strom geschlossen wird, Booles Rechnung ausführt: zwei Schalter hintereinander sind „und“, zwei nebeneinander sind „oder“, ein Schalter, der öffnet, wenn Strom fließt, ist „nicht“. Jede Boolesche Formel wird zu einer Schaltung und jede Schaltung zu einer Formel, und damit ließ sich der Entwurf von Rechenmaschinen auf Algebra zurückführen.46 Ein Jahr zuvor hatte Alan Turing in Cambridge beschrieben, was eine Maschine, die nur Zeichen liest, schreibt und ihren Zustand wechselt, berechnen kann, nämlich alles, was sich überhaupt mit einem Algorithmus berechnen lässt, und dass eine einzige solche Maschine jede andere nachahmen kann, wenn man ihr deren Beschreibung gibt.47 Die Geschichte der KI erzählt, was aus beidem wurde. Für diesen Text zählt, dass Ja und Nein seither Zahlen sind und dass eine Rechnung aus Nullen und Einsen alles tun kann, was eine Maschine tun kann.

Das Neuron als Schwelle. 1943 verbanden der Neurophysiologe Warren McCulloch und der 20-jährige Walter Pitts in Chicago Booles Logik mit dem, was man über Nervenzellen wusste: Eine Zelle empfängt Signale von anderen, manche erregend, manche hemmend, und feuert, wenn die Erregung eine Schwelle übersteigt. Ihr Aufsatz „Ein logischer Kalkül der dem Nervensystem innewohnenden Ideen“ machte daraus ein Rechenelement.48 Das Schwellenwert-Neuron bildet die gewichtete Summe seiner Eingaben, Abschnitt 2, und gibt 1 aus, wenn die Summe eine Schwelle erreicht, sonst 0. Mit den Eingaben A und B, beiden Gewichten 1 und der Schwelle 2 ist das „und“: Nur 1 + 1 erreicht 2. Mit der Schwelle 1 ist es „oder“: 1 + 0 genügt. Mit einer Eingabe, dem Gewicht −1 und der Schwelle 0 ist es „nicht“: −0 erreicht 0, −1 nicht. Die drei Rechnungen Booles sind drei Einstellungen desselben Bauteils, und McCulloch und Pitts bewiesen, dass Netze aus solchen Neuronen jede Boolesche Formel ausrechnen und mit Rückkopplungen das tun können, was Turings Maschine tut. John von Neumann las den Aufsatz und übernahm seine Schreibweise 1945 in den Entwurf des ersten speicherprogrammierten Rechners.

Die Biegung. Der Sprung von 0 auf 1 an der Schwelle ist die Stelle, an der dieser Text das Problem aus Abschnitt 2 und 8 löst. Die Rechnung „Summe, dann Sprung“ nennt man Aktivierungsfunktion: eine Funktion, die auf das Ergebnis der gewichteten Summe angewendet wird und nicht selbst eine Gerade ist. Die Stufe von McCulloch und Pitts war die erste. Eine Schicht aus Neuronen mit Aktivierungsfunktion, gefolgt von einer zweiten, ist nicht mehr zu einer einzigen Matrix zusammenfassbar, weil die Stufe dazwischensteht, und deshalb kann das Netz, anders als die Regression von 1900, Zusammenhänge beschreiben, die sich biegen, Ecken haben, auf und ab gehen. Die Schwelle lässt sich als Bias schreiben: „Summe erreicht 2“ ist dasselbe wie „Summe minus 2 erreicht 0“, der Bias ist −2, und das Neuron ist dann genau die lineare Funktion aus Abschnitt 2, gefolgt von der Entscheidung, ob sie über null liegt. In der Ebene mit den Eingaben A und B ist „Summe gleich Schwelle“ eine Gerade, und das Neuron sagt, auf welcher Seite ein Punkt liegt. Das bleibt der Kern jedes künstlichen Neurons bis heute: Gewichte, Summe, Bias, Aktivierung. Nur die Stufe wurde ersetzt, 1986 durch die Sigmoid-Kurve aus Abschnitt 3, die denselben Dienst tut, aber eine Steigung hat, und seit 2011 durch eine noch einfachere Kurve, Abschnitt 11.

Lernen durch Gebrauch. Was McCulloch und Pitts nicht sagten, war, woher die Gewichte kommen. Sie setzten sie von Hand, wie Shannon seine Schalter verdrahtete. Der kanadische Psychologe Donald Hebb schlug 1949 in „Die Organisation des Verhaltens“ vor, dass Verbindungen zwischen Nervenzellen stärker werden, wenn beide Zellen zugleich aktiv sind, ein Satz, der in der Kurzform „was zusammen feuert, verdrahtet sich“ berühmt wurde und den eigentlich Carla Shatz 1992 so formulierte.49 Die Hebbsche Regel war die erste Lernregel: eine Vorschrift, nach der ein Netz seine Gewichte aus Erfahrung selbst verändert. Sie konnte Muster einprägen, aber nicht aus Fehlern lernen. Das Neuron, das seine Gewichte aus seinen Irrtümern verstellt, baute acht Jahre später ein Psychologe in Buffalo, und mit ihm begann die Geschichte der KI im engeren Sinn.

Selbst ausprobieren. Das Und-Neuron passt in eine Zelle: In A1 und B1 die Eingaben 0 oder 1, in C1 die Formel =WENN(1*A1+1*B1>=2;1;0). Mit >=1 wird daraus „oder“. Wer eine dritte Eingabe und ein negatives Gewicht hinzunimmt, =WENN(1*A1+1*B1-2*C1>=1;1;0), hat „A oder B, aber nicht wenn C“, und kann mit acht Zeilen für alle Eingabekombinationen die Wahrheitstafel ablesen. Es gibt eine Kombination zweier Eingaben, die keine Wahl der beiden Gewichte und der Schwelle hinbekommt; welche, verrät der nächste Abschnitt.50

10. Die Maschine lernt: Das Perzeptron und seine Grenzen (1957–1969)

Das Problem. Frank Rosenblatt, Psychologe am Cornell Aeronautical Laboratory in Buffalo, wollte eine Maschine, die Muster erkennt, ohne dass jemand ihr die Gewichte einstellt. Er beschrieb sie 1957 in einem Bericht und 1958 in einem Aufsatz und baute sie 1960: Die Mark I Perceptron hatte eine Kamera aus 400 Fotozellen, Gewichte in Form von Drehwiderständen, die kleine Motoren verstellten, und lernte in Stunden, Buchstaben zu unterscheiden.51 Die Marine, die das Projekt bezahlte, stellte sie der Presse vor, und die New York Times schrieb am 8. Juli 1958 vom „Embryo eines elektronischen Rechners, der gehen, sprechen, sehen, schreiben, sich fortpflanzen und sich seiner Existenz bewusst sein wird“, der erste Satz einer Gattung, die seither nicht abgerissen ist.52 Die Maschine selbst war McCulloch und Pitts’ Neuron mit einer Lernregel, und die Regel passt in einen Satz.

Die Lernregel. Das Perzeptron berechnet die gewichtete Summe seiner Eingaben plus Bias und gibt 1 aus, wenn sie über null liegt, sonst 0, wie in Abschnitt 9. Dann vergleicht es seine Ausgabe mit der richtigen Antwort. Stimmen beide, bleibt alles. Hat es 0 gesagt, wo 1 richtig war, addiert es zu jedem Gewicht die zugehörige Eingabe und zum Bias eins, so dass die Summe beim nächsten Mal größer ausfällt. Hat es 1 gesagt, wo 0 richtig war, zieht es die Eingabe ab. In einer Formel: neues Gewicht = altes Gewicht + (Soll − Ist) · Eingabe, wobei Soll − Ist entweder 0, 1 oder −1 ist. Man rechne das „oder“ durch, mit den vier Beispielen (0,0) → 0, (0,1) → 1, (1,0) → 1, (1,1) → 1 und allen Gewichten samt Bias zu Beginn null. Beim Beispiel (0,1) ist die Summe 0, die Ausgabe 0, richtig wäre 1: Das Gewicht der zweiten Eingabe wird 1, der Bias wird 1. Im zweiten Durchgang antwortet das Perzeptron auf (0,0) mit 1, weil der Bias 1 ist, richtig wäre 0: Der Bias fällt auf 0. Auf (1,0) antwortet es mit 0, richtig wäre 1: Das erste Gewicht wird 1, der Bias wieder 1. Im dritten Durchgang ist (0,0) wieder falsch, der Bias fällt auf 0, und danach ist alles richtig: Bias 0, beide Gewichte 1, die Summe ist genau dann über null, wenn mindestens eine Eingabe 1 ist. Vier Korrekturen, und die Maschine hat das „oder“ gelernt, das McCulloch und Pitts von Hand eingestellt hatten. Bernard Widrow und Ted Hoff in Stanford gaben derselben Idee 1960 eine Form, die mit der Steigung statt mit dem Sprung rechnet: Ihr Adaline verstellte die Gewichte um die Lernrate mal den Fehler der Summe selbst, mal die Eingabe, und das ist, Zahl für Zahl, Cauchys Abstieg auf dem quadrierten Fehler aus Abschnitt 6 und 7, das erste Neuron, das mit dem Gradientenverfahren lernte.53 Albert Novikoff bewies 1962, dass Rosenblatts Regel immer nach endlich vielen Korrekturen fertig wird, wenn es überhaupt Gewichte gibt, die alle Beispiele richtig trennen.54

Die Gerade in der Ebene. Der Beweis hat eine Bedingung, und sie ist das Ende der ersten Begeisterung. Nach Abschnitt 9 sind die Gewichte eines Neurons eine Gerade in der Ebene der Eingaben, und das Neuron sagt, auf welcher Seite ein Punkt liegt. Beim „oder“ liegt der Punkt (0,0) auf der einen Seite und die drei anderen auf der anderen, und eine Gerade dazwischen ist leicht zu finden; Beispiele, die sich so trennen lassen, heißen linear trennbar. Nun das „entweder oder“, das Ausschließende, in der Logik XOR: (0,0) → 0, (0,1) → 1, (1,0) → 1, (1,1) → 0. Die beiden Einsen liegen auf den Ecken (0,1) und (1,0), die beiden Nullen auf (0,0) und (1,1), über Kreuz, und keine Gerade der Welt legt die einen auf die eine und die anderen auf die andere Seite. Ein Neuron kann XOR nicht lernen, nicht in tausend Durchgängen, weil es die Gewichte, die es sucht, nicht gibt. Marvin Minsky und Seymour Papert machten dieses und schwerere Beispiele 1969 zum Gegenstand eines Buches, „Perceptrons“, das mit mathematischer Sorgfalt zeigte, was ein einzelnes Neuron nicht kann, und die Geldgeber zogen sich aus der Forschung an Netzen zurück, Abschnitt 2 der Geschichte der KI.55 Rosenblatt ertrank 1971 an seinem 43. Geburtstag bei einem Segelunfall.

Abbildung 7: Was ein Neuron trennen kann. Links das Oder: Der Punkt (0,0) liegt auf der einen Seite einer Geraden, die drei anderen auf der anderen, und das Perzeptron findet die Gerade in vier Korrekturen. Rechts das Entweder-oder (XOR): Die Einsen liegen über Kreuz, keine Gerade trennt sie von den Nullen; zwei Geraden, also zwei verborgene Neuronen, grenzen den Streifen ein, in dem die Einsen liegen.ODER: eine Gerade trennt0011x₁x₂0111XOR: keine Gerade trennt, zwei schonzwei Neuronen = zwei Geraden0011x₁x₂0110
Abbildung 7: Was ein Neuron trennen kann. Links das Oder: Der Punkt (0,0) liegt auf der einen Seite einer Geraden, die drei anderen auf der anderen, und das Perzeptron findet die Gerade in vier Korrekturen. Rechts das Entweder-oder (XOR): Die Einsen liegen über Kreuz, keine Gerade trennt sie von den Nullen; zwei Geraden, also zwei verborgene Neuronen, grenzen den Streifen ein, in dem die Einsen liegen.

Die zweite Schicht. Dabei war die Lösung bekannt, auch Minsky und Papert. Zwei Neuronen, eines für „A oder B“ und eines für „A und B“, legen zwei Geraden in die Ebene, und ein drittes Neuron, das die Ausgaben der beiden als Eingaben bekommt, mit den Gewichten 1 und −1 und der Schwelle 1, sagt „oder, aber nicht und“: genau XOR. Die beiden ersten Neuronen bilden eine verborgene Schicht, verborgen, weil weder die Eingabe noch die Ausgabe des Netzes sie direkt zeigt, und mit genug verborgenen Neuronen lassen sich beliebig viele Geraden legen und beliebig geformte Gebiete umzäunen. Ein Netz aus einer Eingabeschicht, einer oder mehreren verborgenen Schichten und einer Ausgabeschicht heißt mehrschichtiges Perzeptron, und es ist bis heute ein Bauteil jedes großen Modells; im Transformer steckt eines in jeder Schicht. Das Problem war nicht, es zu bauen, sondern es zu trainieren. Rosenblatts Regel verstellt die Gewichte eines Neurons nach dessen eigenem Fehler, aber welchen Fehler hat ein verborgenes Neuron? Niemand sagt ihm, was es hätte ausgeben sollen. Das ist die Frage der Zuschreibung: Welches der vielen Gewichte im Inneren trägt wie viel Schuld am Fehler am Ende? Die Antwort ist die partielle Ableitung des Fehlers nach jedem Gewicht, Abschnitt 4, mit der Kettenregel durch alle Schichten gerechnet. Nur hat die Stufe von McCulloch und Pitts die Ableitung null überall außer am Sprung, wo sie unendlich ist, und durch eine Ableitung von null kommt nach der Kettenregel nichts hindurch; der Fehler findet den Weg zu den verborgenen Gewichten nicht. Die Lösung ist, die Stufe durch die Sigmoid-Kurve zu ersetzen, die denselben Dienst tut und an jeder Stelle eine Steigung hat, σ·(1 − σ), Abschnitt 4. Dann ist das ganze Netz eine Kette von Funktionen, die man ableiten kann, vom ersten Gewicht bis zum Fehler, und die Kettenregel liefert für jedes Gewicht seine Schuld. Das ist Backpropagation, und sie wurde mehrmals erfunden, bevor jemand merkte, was man damit hatte.

Selbst ausprobieren. Das Perzeptron ist in Python zehn Zeilen lang:

daten = [((0,0),0), ((0,1),1), ((1,0),1), ((1,1),1)]   # oder
w1 = w2 = b = 0
for durchgang in range(10):
    for (x1, x2), soll in daten:
        ist = 1 if w1*x1 + w2*x2 + b > 0 else 0
        w1 += (soll-ist)*x1; w2 += (soll-ist)*x2; b += (soll-ist)
    print(durchgang, w1, w2, b)

Nach dem dritten Durchgang ändert sich nichts mehr: 1, 1, 0. Ersetzt man die Daten durch XOR, ((0,0),0), ((0,1),1), ((1,0),1), ((1,1),0), laufen die Gewichte im Kreis, auch mit range(10000).56

11. Rückwärts durch die Kette: Backpropagation (1960–1989)

Das Problem. Ein Netz mit verborgenen Schichten braucht für jedes Gewicht die partielle Ableitung des Verlusts, und jede davon ist nach der Kettenregel ein Produkt aus so vielen Faktoren, wie Schichten zwischen dem Gewicht und dem Ausgang liegen. Die Faktoren einzeln für jedes Gewicht zu berechnen hieße, für Milliarden Gewichte Milliarden Ketten durchzugehen. Die Einsicht, die das vermeidet, kam aus der Raketensteuerung: Henry Kelley 1960 und Arthur Bryson 1961 berechneten, wie der Endfehler einer Flugbahn von jeder Steuerentscheidung unterwegs abhängt, indem sie vom Ende her rückwärts rechneten, und Stuart Dreyfus schrieb das 1962 als Kettenregel auf.57 Seppo Linnainmaa zeigte 1970 in seiner Masterarbeit in Helsinki das allgemeine Verfahren: Für jede noch so verschachtelte Rechnung lassen sich alle partiellen Ableitungen nach allen Eingaben in einem einzigen Durchgang rückwärts bestimmen, und der kostet kaum mehr als die Rechnung selbst.58 Paul Werbos wandte das 1974 in seiner Dissertation in Harvard auf neuronale Netze an, und niemand nahm Notiz.59 Erst als David Rumelhart, Geoffrey Hinton und Ronald Williams am 9. Oktober 1986 in Nature auf vier Seiten zeigten, dass damit trainierte Netze in ihren verborgenen Schichten brauchbare Darstellungen der Aufgabe entwickeln, XOR eingeschlossen, bekam das Verfahren seinen Namen und seine Wirkung: Backpropagation, das Zurückleiten des Fehlers.60 Yann LeCun hatte es 1985 unabhängig gefunden, und auch David Parker; die Geschichte der KI erzählt, was es auslöste.

Vorwärts. Das kleinste Netz, an dem sich alles zeigen lässt, hat eine Eingabe x, ein verborgenes Neuron und ein Ausgabeneuron, ohne Bias, um die Rechnung kurz zu halten. Das verborgene Neuron bildet z = w₁·x und gibt h = σ(z) aus, die Sigmoid-Kurve aus Abschnitt 3. Das Ausgabeneuron bildet y = w₂·h, und der Verlust ist der quadrierte Fehler L = (y − t)², wobei t die richtige Antwort ist. Mit x = 1, dem Ziel t = 0,25 und den Startgewichten w₁ = 0,5 und w₂ = 1 ergibt der Vorwärtsdurchlauf: z = 0,5; h = σ(0,5) = 0,6225; y = 1 · 0,6225 = 0,6225; L = (0,6225 − 0,25)² = 0,3725² = 0,1387. Das Netz sagt 0,62 und sollte 0,25 sagen. Welches Gewicht ist schuld, und wie sehr?

Rückwärts. Man beginnt am Ende und geht die Kette zurück, und bei jedem Schritt multipliziert man mit der örtlichen Steigung, Abschnitt 4. Die Ableitung des Verlusts nach y ist 2·(y − t) = 2 · 0,3725 = 0,745: Ein Tausendstel mehr Ausgabe, 0,745 Tausendstel mehr Verlust. Ein Schritt zurück zu w₂: y ist w₂·h, die Ableitung von y nach w₂ ist h = 0,6225, also ist die Ableitung des Verlusts nach w₂ das Produkt 0,745 · 0,6225 = 0,464. Nun zum verborgenen Neuron: Die Ableitung von y nach h ist w₂ = 1, also hängt der Verlust von h mit 0,745 · 1 = 0,745 ab. Die Ableitung von h nach z ist σ·(1 − σ) = 0,6225 · 0,3775 = 0,235, also hängt der Verlust von z mit 0,745 · 0,235 = 0,175 ab. Und die Ableitung von z nach w₁ ist x = 1, also ist die Ableitung des Verlusts nach w₁ 0,175 · 1 = 0,175. Das ist der Rückwärtsdurchlauf, und er hat die Form, die Linnainmaa meinte: Die Zahl 0,745 wurde einmal berechnet und für beide Gewichte benutzt, und in einem Netz mit tausend verborgenen Neuronen würde die Zahl, die am Ausgang entsteht, ebenso einmal berechnet und an alle weitergereicht. Jedes Neuron bekommt von hinten eine einzige Zahl, wie stark der Verlust von seiner Ausgabe abhängt, multipliziert sie mit seiner eigenen Steigung und reicht das Ergebnis, mit den Gewichten gewichtet, an die Neuronen vor ihm weiter. Der Rückwärtsdurchlauf kostet etwa so viel wie der Vorwärtsdurchlauf, für alle Gewichte zusammen, und das ist der ganze Grund, warum Netze mit Milliarden Gewichten trainierbar sind.

Abbildung 8: Backpropagation am kleinsten Netz. Oben der Vorwärtsdurchlauf mit x = 1, w₁ = 0,5 und w₂ = 1: z = 0,5, h = σ(z) = 0,6225, y = 0,6225, Verlust (y − 0,25)² = 0,1387. Unten der Rückwärtsdurchlauf: Vom Verlust aus wird bei jedem Schritt mit der örtlichen Steigung multipliziert, 0,745 nach y, 0,464 nach w₂, 0,175 nach w₁. Ein Schritt mit der Lernrate 0,5 senkt den Verlust auf 0,045.vorwärtsrückwärtsx = 1z = w₁·xh = σ(z)y = w₂·hL = (y − 0,25)²w₁ = 0,5z = 0,5h = 0,6225y = 0,6225L = 0,1387∂L/∂y = 0,745∂L/∂h = 0,745∂L/∂z = 0,175∂L/∂w₂ = 0,464∂L/∂w₁ = 0,175Schritt mit Lernrate 0,5: w₁ = 0,412, w₂ = 0,768, danach L = 0,045
Abbildung 8: Backpropagation am kleinsten Netz. Oben der Vorwärtsdurchlauf mit x = 1, w₁ = 0,5 und w₂ = 1: z = 0,5, h = σ(z) = 0,6225, y = 0,6225, Verlust (y − 0,25)² = 0,1387. Unten der Rückwärtsdurchlauf: Vom Verlust aus wird bei jedem Schritt mit der örtlichen Steigung multipliziert, 0,745 nach y, 0,464 nach w₂, 0,175 nach w₁. Ein Schritt mit der Lernrate 0,5 senkt den Verlust auf 0,045.

Der Schritt. Mit den beiden Ableitungen macht Cauchys Verfahren aus Abschnitt 7 seinen Schritt, Lernrate 0,5: w₂ = 1 − 0,5 · 0,464 = 0,768; w₁ = 0,5 − 0,5 · 0,175 = 0,412. Vorwärts noch einmal: z = 0,412; h = 0,602; y = 0,768 · 0,602 = 0,462; L = (0,462 − 0,25)² = 0,045. Der Verlust ist von 0,139 auf 0,045 gefallen, auf ein Drittel, mit einem Schritt. Der zweite Schritt bringt ihn auf 0,017, und nach einigen Dutzend Schritten liegt die Ausgabe bei 0,25. Ein großes Modell tut nichts anderes, nur mit Matrizen statt einzelner Zahlen: Der Vorwärtsdurchlauf ist eine Folge von Matrixprodukten und Aktivierungen, Abschnitt 8, der Rückwärtsdurchlauf eine Folge von Produkten mit den transponierten Matrizen und den Steigungen der Aktivierungen, und am Ende hat jedes der Milliarden Gewichte seine Zahl. Dass niemand diese Ableitungen mehr von Hand herleitet, besorgt seit den 2010er Jahren die Software: Werkzeuge wie Theano, TensorFlow und PyTorch zeichnen beim Vorwärtsdurchlauf auf, welche Rechnung aus welcher folgte, und laufen die Aufzeichnung rückwärts ab. Das heißt automatisches Differenzieren, und es ist Linnainmaas Verfahren von 1970 mit Komfort. Das Training eines Modells sind damit drei Zeilen, die Billionen Mal laufen: Verlust berechnen, rückwärts ableiten, Schritt.

Was die verborgenen Schichten lernen. Rumelhart, Hinton und Williams zeigten 1986 nicht nur, dass das Verfahren funktioniert, sondern was dabei entsteht. Ein Netz, das Familienverhältnisse lernte, entwickelte in seiner verborgenen Schicht Neuronen, die für Generation und Familienzweig standen, ohne dass jemand ihm diese Begriffe genannt hätte. Die verborgene Schicht hatte eine Repräsentation gefunden, eine Darstellung der Eingabe in Zahlen, in der die Aufgabe leicht wird, und das ist seither das Versprechen der Methode: Man gibt dem Netz die Rohdaten und die richtigen Antworten, und die Zwischenschichten finden die Merkmale selbst. Kunihiko Fukushima hatte 1980 mit dem Neocognitron Schichten gebaut, die kleine Bildausschnitte abtasten, und LeCun trainierte 1989 ein solches Netz mit Backpropagation auf handgeschriebene Postleitzahlen; die Nachfolger lasen in den 1990er Jahren einen Teil der amerikanischen Schecks.61 1989 bewiesen George Cybenko und, unabhängig, Kurt Hornik mit Kollegen den Approximationssatz: Ein Netz mit einer einzigen, genügend breiten verborgenen Schicht und einer Sigmoid-Aktivierung kann jede stetige Funktion so genau nachbilden, wie man will.62 Der Satz sagt nicht, wie breit die Schicht sein muss, und nicht, ob das Gradientenverfahren die Gewichte findet; er sagt, dass es nicht an der Bauart scheitert.

Die verschwindende Steigung. Woran es stattdessen scheiterte, fand Sepp Hochreiter 1991 in seiner Diplomarbeit in München: Die Steigung der Sigmoid-Kurve ist höchstens 0,25, und die Kettenregel multipliziert bei jedem Schritt zurück mit einer solchen Steigung. Zehn Schichten tief ist das Produkt höchstens 0,25¹⁰, ein Millionstel; die Gewichte der vorderen Schichten erhalten vom Fehler fast nichts mehr und lernen nicht. Dieses Problem heißt verschwindender Gradient, und es hielt die Netze zwanzig Jahre lang flach.63 Drei Änderungen hoben ihn auf. Die Aktivierungsfunktion ReLU, die statt der S-Kurve einfach „alles unter null wird null, alles andere bleibt“ rechnet, hat die Steigung 1 oder 0 und nichts dazwischen, so dass die Kette nicht schrumpft; sie setzte sich ab 2011 durch und steckt in AlexNet von 2012.64 Die Residualverbindung, die Kaiming He und Kollegen 2015 einführten, lässt jede Schicht nur die Änderung berechnen und addiert sie zur unveränderten Eingabe, x + f(x), so dass der Fehler auf dem geraden Weg an jeder Schicht vorbei nach vorn kommt; damit wurden 152 Schichten trainierbar, und jeder Transformer ist so gebaut.65 Und die Normalisierung, die die Zahlen in jeder Schicht auf einen festen Maßstab zurückholt, hält die Steigungen in einem Bereich, in dem das Verfahren arbeitet. Geoffrey Hinton erhielt 2024, zusammen mit John Hopfield, den Nobelpreis für Physik, und die Begründung nannte seine Arbeiten der 1980er Jahre.66

Selbst ausprobieren. Das Netz aus diesem Abschnitt in Python, mit allen Zwischenwerten:

import math
sig = lambda z: 1/(1+math.exp(-z))
x, t, w1, w2, rate = 1.0, 0.25, 0.5, 1.0, 0.5
for schritt in range(30):
    z = w1*x; h = sig(z); y = w2*h; L = (y-t)**2      # vorwärts
    dy = 2*(y-t); dw2 = dy*h; dh = dy*w2               # rückwärts
    dz = dh*h*(1-h); dw1 = dz*x
    w1 -= rate*dw1; w2 -= rate*dw2                     # Schritt
    print(schritt, round(y,4), round(L,5))

Die erste Zeile lautet 0 0.6225 0.13873, die zweite 1 0.4622 0.04502, und nach dreißig Schritten steht die Ausgabe bei 0,25. Wer das Verfahren mit Hunderten Gewichten sehen will, ohne Bibliothek, findet es in Andrej Karpathys micrograd, hundert Zeilen Python mit automatischem Differenzieren, und in seinem Video dazu, das die Rechnung dieses Abschnitts in zweieinhalb Stunden ausführt.67

12. Das Maß der Überraschung: Information und Entropie (1928–1951)

Das Problem. Der quadrierte Fehler aus Abschnitt 6 passt zu Zahlen, die man misst, nicht zu Wörtern, die man vorhersagt. Ein Sprachmodell gibt eine Verteilung über hunderttausend Wörter aus, Abschnitt 5, und dann kommt eines davon. Wie gut war die Vorhersage? Die Antwort stammt aus der Nachrichtentechnik, wo man wissen wollte, wie viel eine Nachricht eigentlich enthält, um Telegrafenleitungen auszulasten. Ralph Hartley von den Bell Laboratories schlug 1928 vor, den Gehalt einer Nachricht am Logarithmus der Zahl der möglichen Nachrichten zu messen, und sein Kollege Claude Shannon, der Student der Relais aus Abschnitt 9, veröffentlichte 1948 im Bell System Technical Journal die „Mathematische Theorie der Kommunikation“, zwei Teile auf achtzig Seiten, die das Wort Bit einführten und eine Wissenschaft begründeten.68

Überraschung. Shannons Maß beginnt bei einem einzelnen Ereignis. Je unwahrscheinlicher etwas ist, desto mehr erfährt man, wenn es eintritt, und das Maß dafür ist der Logarithmus zur Basis 2 von 1 geteilt durch die Wahrscheinlichkeit, Abschnitt 3. Ein Münzwurf, Wahrscheinlichkeit ½, hat den Gehalt log₂ 2 = 1 Bit; eine Augenzahl beim Würfel, 1/6, hat log₂ 6 = 2,58 Bit; ein Ereignis mit der Wahrscheinlichkeit 1/1000 fast 10 Bit; ein sicheres Ereignis, Wahrscheinlichkeit 1, hat log₂ 1 = 0 Bit, man erfährt nichts. Ein Bit ist eine Ja-oder-Nein-Frage, und der Gehalt eines Ereignisses ist die Zahl der Fragen, die man im Mittel braucht, um es zu erraten, wenn man geschickt fragt. Der Logarithmus sorgt dafür, dass sich der Gehalt zweier unabhängiger Ereignisse addiert, wie es sein muss, obwohl sich ihre Wahrscheinlichkeiten multiplizieren. Für ein Sprachmodell ist dieses Maß die Überraschung: Gibt es dem Wort, das dann kommt, die Wahrscheinlichkeit 0,9, ist die Überraschung log₂(1/0,9) = 0,15 Bit, gibt es ihm 0,1, sind es 3,3 Bit, und gibt es ihm 0,001, fast 10 Bit. Je kleiner die Wahrscheinlichkeit, die das Modell dem richtigen Wort gegeben hat, desto größer die Überraschung, ohne Grenze, denn der Logarithmus kleiner Zahlen fällt ohne Grenze.

Entropie. Für eine ganze Verteilung nimmt Shannon den Erwartungswert der Überraschung, Abschnitt 5: jede Überraschung mit ihrer Wahrscheinlichkeit gewichtet und addiert. Das ist die Entropie, ein Wort, das er aus der Wärmelehre übernahm. Eine faire Münze hat die Entropie ½ · 1 + ½ · 1 = 1 Bit je Wurf. Eine Münze, die zu 90 Prozent Kopf zeigt, hat 0,9 · 0,15 + 0,1 · 3,3 = 0,47 Bit: Man ist meistens kaum überrascht und selten sehr, im Mittel weniger als bei der fairen Münze. Eine Münze, die immer Kopf zeigt, hat 0 Bit. Die Entropie ist am größten, wenn alle Ausgänge gleich wahrscheinlich sind, und sie misst, wie unvorhersehbar eine Quelle ist. 26 Buchstaben, alle gleich wahrscheinlich, hätten 4,7 Bit je Buchstabe. Shannon ließ 1951 Versuchspersonen englische Texte Buchstabe für Buchstabe erraten und schätzte aus ihren Treffern, dass die Entropie des Englischen um 1 Bit je Buchstabe liegt: Drei Viertel jedes Textes sind vorhersagbar, aus dem, was vor ihnen steht.69 Das war das erste Sprachmodell, mit Menschen als Rechenwerk, und sein Ergebnis ist zugleich eine Grenze: Besser als die Entropie der Sprache kann kein Modell vorhersagen, und kein Verfahren kann einen Text auf weniger Bits zusammendrücken, als seine Entropie beträgt. Die Programme, die Dateien verkleinern, leben davon, dass Texte wenig Entropie je Zeichen haben, und an Zufallszahlen scheitern sie.

Kreuzentropie. Nun der Fall, auf den es ankommt: Die Welt hat eine Verteilung p, das Modell glaubt an eine andere, q, und die Ausgänge kommen nach p, aber die Überraschung wird nach q berechnet, weil das Modell nur q kennt. Der Erwartungswert dieser Überraschung heißt Kreuzentropie. Drei Wörter kommen in Wahrheit mit 0,5, 0,25 und 0,25; das Modell sagt 0,25, 0,5 und 0,25. Die Überraschungen nach dem Modell sind 2, 1 und 2 Bit, gewichtet mit der Wahrheit: 0,5 · 2 + 0,25 · 1 + 0,25 · 2 = 1,75 Bit. Hätte das Modell die Wahrheit gewusst, wären es 0,5 · 1 + 0,25 · 2 + 0,25 · 2 = 1,5 Bit gewesen, die Entropie der Wahrheit selbst. Die Kreuzentropie ist nie kleiner als die Entropie, und sie ist genau dann gleich, wenn das Modell die Wahrheit trifft; der Überschuss, hier 0,25 Bit, misst den Abstand zwischen den beiden Verteilungen und heißt nach Solomon Kullback und Richard Leibler, die ihn 1951 untersuchten, KL-Divergenz.70 Daraus folgt das Rezept: Wer die Kreuzentropie seines Modells verkleinert, bringt dessen Verteilung der Wahrheit näher, und am Minimum sind beide gleich. In der Praxis kennt niemand die Verteilung der Welt; man hat nur die Texte, in denen jeweils ein Wort tatsächlich gekommen ist. Dann ist die Kreuzentropie für dieses eine Wort einfach die Überraschung, die das Modell empfindet, minus der Logarithmus der Wahrscheinlichkeit, die es dem richtigen Wort gegeben hatte, und über alle Wörter eines Textes gemittelt ist das die Zahl, die seit den 1990er Jahren als Verlustfunktion jedes Sprachmodells dient. Es ist, bis auf die Basis des Logarithmus, dieselbe Zahl wie Fishers minus Log-Likelihood aus Abschnitt 6: Die wahrscheinlichste Erklärung der Daten ist die am wenigsten überraschte.

Perplexität. Eine Kreuzentropie von 1,75 Bit heißt, das Modell ist im Mittel so überrascht, als müsste es jedes Mal unter 2^1,75 = 3,4 gleich wahrscheinlichen Wörtern raten. Diese Zahl, 2 hoch Kreuzentropie, heißt Perplexität, und sie ist das Maß, in dem Sprachmodelle seit den 1970er Jahren verglichen werden: Ein Modell mit Perplexität 20 rät so gut, als wählte es jedes Wort unter 20 gleich wahrscheinlichen, eines mit Perplexität 5 unter 5. Die Verlustzahlen, die in den Berichten über große Modelle stehen, sind Kreuzentropien, meist zur Basis e statt 2 gerechnet, und ein Verlust von 2,0 je Wort bedeutet dann eine Perplexität von e² = 7,4. Die Kurven, die zeigen, wie dieser Verlust mit der Größe der Modelle fällt, sind der Gegenstand des letzten Abschnitts.

Shannons Spiel. In derselben Arbeit von 1948 tat Shannon etwas, das 1948 ein Spiel war und 2022 eine Industrie: Er erzeugte Text, indem er Buchstaben nach ihren Wahrscheinlichkeiten zog, erst einzeln, dann abhängig vom vorigen Buchstaben, dann von den zwei vorigen, dann Wörter abhängig vom vorigen Wort, und druckte die Ergebnisse ab, die mit jeder Stufe englischer aussahen: „THE HEAD AND IN FRONTAL ATTACK ON AN ENGLISH WRITER THAT THE CHARACTER OF THIS POINT IS THEREFORE ANOTHER METHOD“. Das war die Produktregel aus Abschnitt 5, mit gezählten Wahrscheinlichkeiten, und das Verfahren, mit dem heute jedes Modell antwortet. Nur die Wahrscheinlichkeiten stammen nicht mehr aus dem Zählen, sondern aus Backpropagation, und wie Wörter überhaupt zu Zahlen werden, mit denen sich rechnen lässt, ist der nächste Abschnitt.

Selbst ausprobieren. Die Entropie eines Textes schätzt ein Programm mit Zip: Eine Textdatei von einem Megabyte schrumpft auf ein Drittel, eine Datei aus Zufallszahlen, in Python mit open('zufall.bin','wb').write(os.urandom(1000000)) nach import os erzeugt, kein bisschen. Die Entropie der Buchstabenverteilung eines deutschen Textes berechnet man mit from collections import Counter, import math, n = Counter(text), s = sum(n.values()) und -sum(c/s*math.log2(c/s) for c in n.values()): um 4,1 Bit je Buchstabe, gegenüber 4,7 bei Gleichverteilung, und mit Buchstabenpaaren statt einzelnen Buchstaben sinkt die Zahl je Buchstabe weiter.71

13. Wörter werden Zahlen: Markow, n-Gramme und Einbettungen (1913–2013)

Das Problem. Alles bisher Beschriebene rechnet mit Zahlen, und Wörter sind keine. Dass Sprache trotzdem Statistik hat, zeigte der russische Mathematiker Andrei Markow am 23. Januar 1913 vor der Akademie in Sankt Petersburg: Er hatte die ersten 20.000 Buchstaben von Puschkins „Eugen Onegin“ von Hand in Vokale und Konsonanten geteilt und gezählt, was worauf folgt. 43 Prozent der Buchstaben waren Vokale, aber nach einem Vokal kam nur in 13 Prozent der Fälle wieder ein Vokal, nach einem Konsonanten in 66 Prozent. Die Buchstaben eines Textes sind nicht unabhängig, und Markow bewies, dass Bernoullis Gesetz der großen Zahlen aus Abschnitt 5 trotzdem gilt, wenn jeder Buchstabe nur vom vorigen abhängt. Eine solche Folge heißt seither Markow-Kette, und Markow hatte sie gegen einen Kollegen entwickelt, der behauptet hatte, das Gesetz setze Unabhängigkeit voraus und beweise daher den freien Willen.72 Shannon machte 1948 daraus seine Textmaschine aus Abschnitt 12, und in den 1970er Jahren wurde das Zählen zur Industrie.

Zählen. Ein n-Gramm ist eine Folge von n aufeinanderfolgenden Wörtern, und ein n-Gramm-Modell schätzt die Wahrscheinlichkeit des nächsten Wortes, indem es zählt, wie oft es in großen Textmengen auf die n − 1 vorigen gefolgt ist. In dem kleinen Textbestand „der Hund bellt. der Hund schläft. die Katze schläft.“ folgt auf „Hund“ einmal „bellt“ und einmal „schläft“: P(schläft | Hund) = ½. Auf „der“ folgt zweimal „Hund“: P(Hund | der) = 1. Auf „Katze“ folgt nie „bellt“: P(bellt | Katze) = 0, obwohl Katzen auf ihre Art bellen könnten und der Satz möglich ist. Das ist die Schwäche des Zählens: Mit hunderttausend Wörtern gibt es eine Billiarde möglicher Dreiergruppen, und fast alle hat niemand je geschrieben, so dass das Modell ihnen die Wahrscheinlichkeit null gibt und eine unendliche Überraschung erleidet, wenn sie doch vorkommen. Die Spracherkennung bei IBM um Frederick Jelinek baute ab den 1970er Jahren Modelle aus Dreiergruppen mit Tricks, die der Null ein wenig Wahrscheinlichkeit abtreten, und Jelineks Satz, jedes Mal, wenn er einen Linguisten entlasse, werde die Erkennung besser, beschreibt die Haltung, mit der die Statistik die Sprache übernahm.73 Richard Bellman hatte das Grundproblem 1957 den Fluch der Dimensionalität genannt: Mit jeder weiteren Eingabe vervielfacht sich die Zahl der möglichen Fälle, und keine Datenmenge füllt sie.74

Die Nachbarschaft. Der Ausweg war ein Satz des englischen Sprachwissenschaftlers John Rupert Firth von 1957: „Man erkennt ein Wort an der Gesellschaft, in der es sich bewegt.“ Zellig Harris hatte 1954 dasselbe als Programm formuliert: Wörter, die in ähnlichen Umgebungen vorkommen, haben ähnliche Bedeutung, und die Umgebungen kann man zählen.75 Statt für „Katze bellt“ die Zahl null zu notieren, soll das Modell wissen, dass „Katze“ und „Hund“ in ähnlichen Sätzen stehen, und das Wissen über den Hund auf die Katze übertragen. Dafür muss ein Wort ein Vektor werden. Der naive Vektor ist eine Liste von hunderttausend Nullen mit einer einzigen Eins an der Stelle des Wortes, One-Hot genannt; er trägt keine Ähnlichkeit, das Skalarprodukt zweier verschiedener Wörter ist immer null. Gerard Salton beschrieb 1975 Dokumente als Vektoren aus Wortzählungen und verglich sie mit dem Kosinus aus Abschnitt 8, die Grundlage jeder Suchmaschine. Und Yoshua Bengio und seine Mitarbeiter in Montréal bauten 2003 das erste neuronale Sprachmodell: Jedes Wort bekommt einen Vektor aus einigen Dutzend Zahlen, die zu Beginn zufällig sind; die Vektoren der letzten Wörter gehen in ein mehrschichtiges Perzeptron, das die Wahrscheinlichkeit des nächsten Wortes ausgibt; und Backpropagation verstellt nicht nur die Gewichte des Netzes, sondern auch die Zahlen in den Wortvektoren, so dass Wörter, die in gleichen Umgebungen stehen, mit der Zeit ähnliche Vektoren bekommen.76 Ein solcher gelernter Vektor heißt Einbettung, weil er das Wort in einen Raum einbettet, in dem Nähe Ähnlichkeit bedeutet.

word2vec. Dass diese Räume mehr enthalten als Nähe, zeigte 2013 ein Team um Tomáš Mikolov bei Google. Ihr Verfahren word2vec lernte aus anderthalb Milliarden Wörtern an einem Tag Vektoren mit 300 Zahlen, und in diesen Vektoren ließ sich rechnen: Der Vektor von „König“ minus dem von „Mann“ plus dem von „Frau“ lag nahe dem von „Königin“, Paris minus Frankreich plus Italien nahe Rom. Die Richtung von „Mann“ nach „Frau“ war im Raum dieselbe wie von „König“ nach „Königin“, die Richtung von Land nach Hauptstadt überall gleich: Beziehungen zwischen Wörtern waren zu Pfeilen geworden, die man addieren kann, obwohl niemand sie dem Modell beigebracht hatte.77 Das ist die Repräsentation aus Abschnitt 11, für Wörter, und ihre Zahlen bedeuten einzeln nichts; was zählt, sind Abstände und Richtungen.

Abbildung 9: Einbettungen, auf zwei Dimensionen vereinfacht. Wörter, die in ähnlichen Umgebungen stehen, bekommen ähnliche Vektoren: Katze, Hund und Maus liegen beieinander, Auto und Lkw an anderer Stelle. Beziehungen werden zu Richtungen: Der Pfeil von Mann zu Frau ist derselbe wie von König zu Königin, und König − Mann + Frau landet bei Königin. Echte Einbettungen haben hunderte bis tausende Dimensionen.TiereFahrzeugeKatzeHundMausAutoLkwMannFrauKönigKöniginKönig − Manngleiche Richtung:Mann → Frau, König → Königin
Abbildung 9: Einbettungen, auf zwei Dimensionen vereinfacht. Wörter, die in ähnlichen Umgebungen stehen, bekommen ähnliche Vektoren: Katze, Hund und Maus liegen beieinander, Auto und Lkw an anderer Stelle. Beziehungen werden zu Richtungen: Der Pfeil von Mann zu Frau ist derselbe wie von König zu Königin, und König − Mann + Frau landet bei Königin. Echte Einbettungen haben hunderte bis tausende Dimensionen.

Token. Die Einheit, in der heutige Modelle rechnen, ist nicht das Wort. Ein Verfahren aus der Datenkompression, das Philip Gage 1994 beschrieb und das Rico Sennrich 2016 für die Übersetzung übernahm, zerlegt den Text in Stücke, die häufig genug vorkommen: Es beginnt mit einzelnen Zeichen und verschmilzt schrittweise das häufigste benachbarte Paar zu einem neuen Zeichen, einige zehntausend Mal. Häufige Wörter werden ein Stück, seltene mehrere, „Unwahrscheinlichkeit“ etwa „Un“, „wahrscheinlich“, „keit“, und jede Zeichenfolge in jeder Sprache lässt sich so schreiben, ohne dass ein Wort unbekannt bleiben kann.78 Ein solches Stück heißt Token, und GPT-3 kennt 50.257 davon. Die erste Schicht eines Sprachmodells ist die Einbettungsmatrix: eine Tabelle mit einer Zeile je Token und, bei GPT-3, 12.288 Spalten, deren Zeilen die gelernten Vektoren sind; ein Token nachzuschlagen ist dasselbe wie den One-Hot-Vektor mit der Matrix zu multiplizieren, Abschnitt 8. Diese Tabelle allein hat 617 Millionen Zahlen, und sie wird trainiert wie alles andere, durch Backpropagation vom Fehler der Vorhersage zurück bis in die Zeilen. Was ins Modell geht, ist damit eine Folge von Vektoren, einer je Token; was herauskommt, ist eine Verteilung über die 50.257 Tokens, aus der das nächste gezogen wird; und der Rechenweg dazwischen muss eines leisten, was n-Gramme und Bengios Netz nicht konnten: alle Tokens eines langen Textes miteinander in Beziehung setzen.

Selbst ausprobieren. Ein n-Gramm-Modell ist in Python ein Zähler. Mit einem längeren Text in der Variablen text, etwa einem Buch aus dem Projekt Gutenberg, liefern w = text.split(), from collections import Counter, defaultdict, n = defaultdict(Counter) und for a, b in zip(w, w[1:]): n[a][b] += 1 für jedes Wort die Zähler seiner Nachfolger; n['der'].most_common(5) zeigt die fünf häufigsten. Mit import random und einer Schleife, die jeweils random.choices(list(n[w].keys()), n[w].values())[0] an den Satz hängt, entsteht Shannons Text von 1948, Wort für Wort gewürfelt. Wie ein heutiges Modell Text in Tokens zerlegt, zeigt der Tokenizer von OpenAI im Browser: „Unwahrscheinlichkeit“ wird in mehrere Stücke geteilt, „the“ ist eines.79

14. Aufmerksamkeit: Der Transformer und das Sprachmodell (1997–2017)

Das Problem. Ein n-Gramm sieht zwei oder drei Wörter zurück, Bengios Netz ein Dutzend. Ein Satz wie „Der Hund, der gestern im Garten den Knochen vergraben hatte, bellte“ verlangt, dass „bellte“ zu „Hund“ gehört, über elf Wörter hinweg. Die Netze der 1990er Jahre lasen Text Wort für Wort und trugen einen Zustandsvektor mit, der sich mit jedem Wort änderte; Hochreiter und Jürgen Schmidhuber gaben ihm 1997 mit dem LSTM ein Gedächtnis mit Toren, das den verschwindenden Gradienten über Hunderte von Schritten überstand.80 Aber ein Vektor fester Größe, in den ein ganzer Satz gepresst wird, vergisst, und die Rechnung ließ sich nicht parallelisieren, weil jedes Wort das vorige abwarten musste, was die Grafikkarten aus Abschnitt 8 brachliegen ließ. Dzmitry Bahdanau, Kyunghyun Cho und Bengio führten 2014 für die Übersetzung ein Hilfsmittel ein: Beim Erzeugen jedes Wortes darf das Netz auf alle Wörter des Ausgangssatzes zurückblicken und jedem ein Gewicht geben, das es selbst berechnet.81 Sie nannten es Attention, Aufmerksamkeit, und drei Jahre später zeigten acht Forscher bei Google, dass man alles andere weglassen kann. Ihr Aufsatz vom Juni 2017 heißt „Attention Is All You Need“, und das Modell darin heißt Transformer.82 Was er rechnet, besteht aus nichts, was dieser Text nicht schon eingeführt hat.

Die gewichtete Mitte. Jedes Token kommt als Vektor an, Abschnitt 13. Attention gibt jedem Token einen neuen Vektor, der eine gewichtete Summe der Vektoren aller Tokens ist, mit Gewichten, die zusammen 1 ergeben, ein Erwartungswert wie in Abschnitt 5, und das Token berechnet die Gewichte selbst, aus Ähnlichkeit. Dafür wird jeder Tokenvektor mit drei Matrizen multipliziert, Abschnitt 8, und ergibt drei Vektoren: eine Query, mit der das Token fragt, einen Key, mit dem es sich finden lässt, und einen Value, den es beisteuert, wenn es gefunden wird. Das Token bildet das Skalarprodukt seiner Query mit den Keys aller Tokens, Abschnitt 8, bekommt für jedes eine Punktzahl, schickt die Punktzahlen durch die Softmax aus Abschnitt 3 und erhält Gewichte; dann addiert es die Values aller Tokens, jeden mit seinem Gewicht. Ein Zahlenbeispiel mit drei Tokens und zwei Dimensionen: Die Query des ersten Tokens sei (2, 0), die Keys der drei Tokens (1, 0), (0, 1) und (1, 1). Die Skalarprodukte sind 2, 0 und 2. Softmax macht daraus e², e⁰ und e², also 7,39, 1 und 7,39, geteilt durch die Summe 15,78: die Gewichte 0,468, 0,063 und 0,468. Das erste Token hört zu 47 Prozent auf sich selbst, zu 47 Prozent auf das dritte und kaum auf das zweite, dessen Key quer zu seiner Query steht. Sind die Values (1, 2), (3, 0) und (0, 1), ist der neue Vektor 0,468 · (1, 2) + 0,063 · (3, 0) + 0,468 · (0, 1) = (0,66, 1,40). Im Modell stehen Query, Key und Value in Matrizen Q, K und V mit einer Zeile je Token, die Skalarprodukte aller Queries mit allen Keys sind das Matrixprodukt Q·Kᵀ, das Transponieren aus Abschnitt 8, und die ganze Rechnung lautet in der Schreibweise des Aufsatzes von 2017: Attention(Q, K, V) = softmax(Q·Kᵀ / √d) · V. Das √d, die Wurzel aus der Zahl der Dimensionen, teilt die Punktzahlen herunter, damit die Softmax bei langen Vektoren nicht alles Gewicht auf ein Token wirft; es ist die Temperatur aus Abschnitt 3. Wer bis hierher gelesen hat, kann die Formel lesen: Sie ist eine gewichtete Summe, deren Gewichte aus Skalarprodukten und einer Softmax kommen, und alle Matrizen darin sind gelernt.

Abbildung 10: Attention als gewichtete Summe. Die Query (2, 0) des ersten Tokens bildet Skalarprodukte mit den Keys aller drei Tokens, 2, 0 und 2; die Softmax macht daraus die Gewichte 0,468, 0,063 und 0,468; der neue Vektor ist die Summe der Values, jeder mit seinem Gewicht. Im Modell geschieht das für jedes Token, in jedem Kopf, in jeder Schicht, als Matrixprodukt softmax(Q·Kᵀ/√d)·V.Token 1Key (1, 0)Value (1, 2)20,468Token 2Key (0, 1)Value (3, 0)00,063Token 3Key (1, 1)Value (0, 1)20,468Query von Token 1: (2, 0)Skalarprodukt Query·KeySoftmaxneuer Vektor von Token 1 = 0,468·(1, 2) + 0,063·(3, 0) + 0,468·(0, 1) = (0,66, 1,40)
Abbildung 10: Attention als gewichtete Summe. Die Query (2, 0) des ersten Tokens bildet Skalarprodukte mit den Keys aller drei Tokens, 2, 0 und 2; die Softmax macht daraus die Gewichte 0,468, 0,063 und 0,468; der neue Vektor ist die Summe der Values, jeder mit seinem Gewicht. Im Modell geschieht das für jedes Token, in jedem Kopf, in jeder Schicht, als Matrixprodukt softmax(Q·Kᵀ/√d)·V.

Die Schicht. Der Transformer wiederholt diese Rechnung mehrfach nebeneinander, mit eigenen Matrizen Q, K und V je Wiederholung, die Köpfe heißen, weil jeder auf etwas anderes achten kann, einer auf das Subjekt, einer auf das vorige Wort, einer auf die öffnende Klammer, und setzt die Ergebnisse zu einem Vektor zusammen. Dann folgt für jedes Token einzeln ein mehrschichtiges Perzeptron aus Abschnitt 10, zwei Matrizen mit einer ReLU dazwischen, in dem die meisten Gewichte des Modells stecken. Um beides herum liegen die Residualverbindungen aus Abschnitt 11, der Vektor eines Tokens wird nicht ersetzt, sondern um das Ergebnis ergänzt, und die Normalisierung, die ihn auf einen festen Maßstab zurückholt. Attention plus Perzeptron plus beides ist eine Transformer-Schicht, und das Modell stapelt sie: 12 bei GPT-1 von 2018, 96 bei GPT-3, bei den Modellen von 2026 mehr, als die Hersteller sagen. Weil Attention die Reihenfolge der Tokens nicht kennt, jedes Token sieht alle anderen als Menge, wird jedem Vektor zu Beginn ein zweiter addiert, der seine Position kodiert, in der Arbeit von 2017 aus Sinus- und Kosinuskurven, später gelernt oder als Drehung. Alle Tokens eines Textes durchlaufen alle Schichten gleichzeitig, als Matrizen, und genau das war der Zweck: Die Rechnung ist ein Stapel von Matrixprodukten, und Grafikkarten haben nichts lieber. Für das Erzeugen von Text wird nur noch eine Regel gebraucht: Jedes Token darf nur auf die Tokens vor ihm achten, damit das Modell beim Training nicht in die Zukunft sieht.

Die Zählung. Die Größe eines Modells lässt sich nun nachrechnen. GPT-3 hat Vektoren mit d = 12.288 Zahlen und 96 Schichten. Je Schicht sind die vier Matrizen der Attention, für Q, K, V und das Zusammensetzen, je 12.288 mal 12.288 groß, zusammen 4·d² Gewichte, und das Perzeptron, das auf das Vierfache aufweitet und wieder zurück, hat 8·d², zusammen 12·d² = 1,8 Milliarden je Schicht, mal 96 sind 174 Milliarden, dazu die Einbettungsmatrix aus Abschnitt 13 mit 0,6 Milliarden: 175 Milliarden Parameter, die Zahl aus der Ankündigung von 2020.41 Jedes dieser Gewichte ist eine Unbekannte im Sinn von Abschnitt 1, und das Training hat sie alle gefunden.

Das ganze Training. Damit lässt sich der Satz vom Anfang dieses Textes auflösen. Ein Text aus dem Internet wird in Tokens zerlegt, Abschnitt 13. Die Tokens werden zu Vektoren, Einbettungsmatrix. Die Vektoren durchlaufen 96 Schichten aus Matrixprodukten, Softmax, ReLU und Additionen, Abschnitt 3, 8, 11 und 14. Am Ende wird der Vektor jedes Tokens mit einer letzten Matrix multipliziert und ergibt 50.257 Logits, eine Punktzahl je möglichem nächsten Token, und Softmax macht daraus eine Verteilung, Abschnitt 3 und 5. Der Verlust ist die Kreuzentropie, die Überraschung des Modells über das Token, das im Text tatsächlich folgt, über alle Tokens gemittelt, Abschnitt 12, zugleich Fishers minus Log-Likelihood, Abschnitt 6. Backpropagation leitet den Verlust rückwärts durch alle Schichten bis in jedes der 175 Milliarden Gewichte und in die Einbettungen, Abschnitt 4 und 11. Adam macht mit allen Gewichten einen Schritt bergab, Abschnitt 7. Dann der nächste Mini-Batch, und so fort über 300 Milliarden Tokens, einige Monate auf einigen tausend Grafikkarten. Wer dem fertigen Modell eine Frage stellt, lässt es einmal vorwärts rechnen, zieht aus der Verteilung ein Token, hängt es an die Frage und rechnet erneut, Abschnitt 5 und 12: Shannons Spiel, mit 350 Milliarden Multiplikationen je Wort. Dass aus dieser Rechnung Antworten werden, die wie Verstehen aussehen, hat niemand aus der Mathematik vorhergesagt; dass die Rechnung so ist, wie hier beschrieben, steht in den Aufsätzen, und sie ist seit 2017 im Kern unverändert.

Nach dem Vortraining. Ein so trainiertes Modell setzt Texte fort; dass es Fragen beantwortet und Anweisungen befolgt, kommt aus zwei weiteren Schritten, die dieselbe Mathematik benutzen. Erst wird es auf einigen zehntausend Beispielen von Frage und guter Antwort weitertrainiert, dieselbe Kreuzentropie auf anderen Daten. Dann bewerten Menschen Paare von Antworten, ein zweites Modell lernt aus den Bewertungen, Antworten eine Zahl zu geben, und das Sprachmodell wird mit dem Gradientenverfahren so verstellt, dass diese Zahl steigt; das Verfahren stammt von Paul Christiano und Kollegen aus dem Jahr 2017 und machte 2022 aus GPT-3 das Modell hinter ChatGPT.83 Menschliche Vorlieben werden zu einer Zahl, und die Zahl wird zum Verlust, den Cauchys Abstieg verkleinert, Abschnitt 7 der Geschichte der KI.

Selbst ausprobieren. Der Transformer Explainer der Georgia Tech lässt GPT-2 im Browser laufen und zeigt zu jedem eingegebenen Satz die Attention-Gewichte jedes Kopfes, die Logits und die Softmax, mit einem Regler für die Temperatur. Die Zählung oben lässt sich für GPT-2 wiederholen: d = 768, 12 Schichten, 12·768²·12 = 85 Millionen, plus Einbettungen 50.257·768 = 39 Millionen, zusammen 124 Millionen, die Zahl im Modellnamen. Grant Sandersons Videoreihe auf 3Blue1Brown führt die Rechnung dieses Abschnitts in Bildern vor, drei Folgen für Attention und das Perzeptron.84

15. Was die Mathematik nicht erklärt (seit 2017)

Das Problem. Alles, was ein Sprachmodell rechnet, ist in den vorigen Abschnitten beschrieben, und nichts davon ist jünger als 2017. Was die Mathematik nicht liefert, ist die Erklärung, warum die Rechnung so gut funktioniert, und die Lücke ist seit 2019 eher größer geworden. Drei Befunde widersprechen dem, was die Statistik seit Galton lehrte. Der erste ist die Überanpassung aus Abschnitt 6: Ein Modell mit mehr Parametern als Datenpunkten sollte die Daten auswendig lernen und am Unbekannten scheitern. Mikhail Belkin und Kollegen zeigten 2019, dass der Fehler auf Testdaten mit wachsender Modellgröße zunächst wie erwartet steigt, an der Grenze, an der das Modell die Trainingsdaten gerade auswendig kann, am schlechtesten ist, und dann wieder fällt, je größer das Modell wird, ein zweiter Abstieg, für den es Erklärungsansätze, aber keine Theorie gibt.85 Der zweite Befund ist das Gebirge aus Abschnitt 7: Dass der Gradientenabstieg in einer Verlustlandschaft mit hundert Milliarden Richtungen nicht in einem schlechten Tal stecken bleibt, lässt sich für einfache Netze beweisen und für die großen nur beobachten. Der dritte ist, dass die Modelle Dinge lernen, die man ihnen nicht beigebracht hat, lange nach dem Zeitpunkt, an dem sie die Trainingsdaten auswendig konnten: Ein Netz, das Alethea Power und Kollegen 2022 auf eine Rechenaufgabe trainierten, hatte die Beispiele nach wenigen Tausend Schritten gespeichert und begriff die Regel erst nach einer Million Schritten, mit einem Sprung, den niemand vorhergesagt hatte und den sie Grokking nannten.86

Die Gesetze der Größe. Was die Mathematik stattdessen liefert, sind Kurven. Jared Kaplan und Kollegen bei OpenAI zeigten im Januar 2020, dass der Verlust aus Abschnitt 12, die Kreuzentropie auf unbekanntem Text, mit der Zahl der Parameter, der Menge der Trainingsdaten und der Rechenleistung jeweils nach einem Potenzgesetz fällt, glatt über sieben Größenordnungen, und dass sich damit vorhersagen lässt, wie gut ein Modell sein wird, das man noch nicht gebaut hat.87 GPT-3 war die Wette auf diese Kurve, und sie ging auf. Jordan Hoffmann und Kollegen bei DeepMind korrigierten 2022 das Verhältnis: Für eine gegebene Rechenleistung ist das beste Modell kleiner und mit mehr Daten trainiert als zuvor angenommen, etwa zwanzig Tokens je Parameter. Die Skalierungsgesetze sind das Nächste an einer Theorie, das es gibt, und sie sind empirisch, wie Keplers Gesetze vor Newton: Sie beschreiben, dass es so ist, nicht warum. Richard Sutton hatte 2019 in einem kurzen Text, „Die bittere Lektion“, bilanziert, dass in siebzig Jahren KI-Forschung jedes Mal die allgemeine Methode mit mehr Rechenleistung über das eingebaute Wissen gesiegt habe, und die Kurven sind die Zahlen dazu.88

Hineinsehen. Die dritte Richtung versucht, die Rechnung zu lesen, statt sie zu erklären. Die Gewichte eines Modells sind Zahlen, die einzeln nichts bedeuten, Abschnitt 13, aber die Vektoren, die zwischen den Schichten fließen, lassen sich untersuchen. Ein Team bei Anthropic zerlegte 2024 die Aktivierungen eines mittleren Produktionsmodells in Millionen von Richtungen, die je für einen Begriff stehen, von der Golden Gate Bridge bis zu Programmierfehlern, und konnte durch Verstärken einer Richtung das Verhalten des Modells ändern; die Mathematik dahinter ist wieder die Regression aus Abschnitt 6, diesmal mit der Nebenbedingung, dass nur wenige Richtungen gleichzeitig aktiv sind.89 Diese Arbeiten, die man Interpretierbarkeit nennt, lesen das Modell, wie man ein Gehirn mit Elektroden liest, und sie sind weit davon entfernt, ein ganzes zu lesen. Die Nobelpreise des Jahres 2024, in Physik für Hopfield und Hinton, in Chemie für die Vorhersage von Proteinstrukturen mit denselben Methoden, haben anerkannt, dass das Verfahren funktioniert, und die Begründungen ließen offen, warum.66

Der offene Engpass. Die Mathematik hinter der KI ist die des 17. bis 20. Jahrhunderts, Koordinaten und Ableitung, Wahrscheinlichkeit und kleinste Quadrate, Vektoren und Matrizen, Information und Entropie, zusammengesetzt zu einem Algorithmus, der 1847 beschrieben und 1986 vollendet wurde. Neu ist die Größe, und die Größe hat Wirkungen, die diese Mathematik beschreibt, aber nicht erklärt. Die Kette dieses Textes endet daher nicht mit einer Lösung, sondern mit der Form, die der Engpass angenommen hat: Es gibt ein Verfahren, das aus Text eine Rechnung macht, die antwortet, und es gibt keine Theorie, die sagt, was die Rechnung gelernt hat, wann sie irrt und wie viel Größe noch hilft. Wer sie trotzdem benutzt, und das sind 2026 die meisten, tut es wie die Astronomen des 17. Jahrhunderts mit Napiers Tafeln: Die Rechnung stimmt, und sie ersetzt das Verstehen nicht.

Die Kette in Kurzform

  1. Die Babylonier und al-Chwarizmi rechnen rückwärts vom Ergebnis zur Unbekannten, Viète und Descartes geben ihr Buchstaben, Euklid den Algorithmus; ein Sprachmodell ist eine Gleichung mit Milliarden Unbekannten, die niemand durch Umformen löst.
  2. Descartes macht Punkte zu Zahlenpaaren, Euler die Funktion zur Maschine; die Gerade y = a·x + b mit Steigung und Achsenabschnitt wird zur gewichteten Summe mit Gewichten und Bias, der Rechnung jedes Neurons, und kann sich nicht biegen.
  3. Napier macht aus Multiplikation Addition, Bernoulli und Euler finden e; Sigmoid und Softmax verwandeln beliebige Zahlen in Wahrscheinlichkeiten, und die Temperatur regelt, wie scharf.
  4. Newton und Leibniz finden die Steigung in einem Punkt, die Ableitung; Minima liegen dort, wo sie null ist, und die Kettenregel sagt, dass sich Steigungen verketteter Funktionen multiplizieren.
  5. Pascal, Fermat und Bernoulli machen den Zufall rechenbar, Bayes dreht die Bedingung um, Kolmogorow legt die Regeln fest; ein Sprachmodell ist eine Verteilung über das nächste Wort, aus der gezogen wird.
  6. Legendre und Gauss finden die beste Gerade durch Messpunkte, indem sie quadrierte Fehler minimieren; Galton gibt dem Verfahren den Namen Regression, Fisher das Prinzip der größten Wahrscheinlichkeit; das Training ist eine Regression, deren Gleichungen sich nicht mehr lösen lassen.
  7. Cauchy geht bergab: Ableitung berechnen, kleinen Schritt gegen sie tun, wiederholen; mit Milliarden Richtungen heißt die Ableitung Gradient, mit Zufallsauswahl stochastisch, mit angepassten Schritten Adam.
  8. Hamilton, Grassmann und Cayley machen Listen und Tabellen von Zahlen zu Rechengegenständen; eine Schicht ist eine Matrix, ein Skalarprodukt misst Ähnlichkeit, und Grafikkarten rechnen Matrixprodukte in Massen.
  9. Boole macht Logik zur Algebra, Shannon baut sie aus Schaltern, McCulloch und Pitts aus Neuronen mit Schwelle; die Aktivierungsfunktion biegt die Gerade, Hebb lässt Gewichte durch Gebrauch wachsen.
  10. Rosenblatts Perzeptron lernt aus Fehlern, kann aber nur trennen, was eine Gerade trennt; XOR verlangt eine verborgene Schicht, und niemand weiß, wie man sie trainiert.
  11. Linnainmaa, Werbos und Rumelhart, Hinton und Williams rechnen die Kettenregel rückwärts durch alle Schichten auf einmal: Backpropagation; ReLU und Residualverbindungen halten den Gradienten am Leben.
  12. Shannon misst Information in Bits, Überraschung als Logarithmus, Entropie als mittlere Überraschung; die Kreuzentropie ist der Verlust jedes Sprachmodells, die Perplexität sein Maß.
  13. Markow, Shannon und Jelinek zählen, was auf was folgt; Bengio und Mikolov machen Wörter zu gelernten Vektoren, in denen Nähe Bedeutung ist und Beziehungen Richtungen sind.
  14. Bahdanau und Vaswani lassen jedes Token eine gewichtete Summe aller anderen bilden, mit Gewichten aus Skalarprodukt und Softmax; der Transformer stapelt das, und sein Training ist Kreuzentropie, Backpropagation und Adam über Billionen Tokens.
  15. Skalierungsgesetze beschreiben, wie der Verlust mit der Größe fällt, doppelter Abstieg und Grokking widersprechen der alten Statistik, und keine Theorie erklärt, warum die Rechnung antwortet. Offen bleibt das Warum.

Zeitleiste

JahrEreignis
um 1800 v. Chr.Babylonische Tafeln: Gleichungen zweiten Grades, √2 auf sechs Stellen
um 300 v. Chr.Euklid: der erste Algorithmus
628Brahmagupta: Rechnen mit Null und negativen Zahlen
um 820al-Chwarizmi: Algebra; sein Name wird zum Algorithmus
1202Fibonacci: indische Ziffern in Europa
1557Recorde: das Gleichheitszeichen
1591Viète: Buchstaben für Unbekannte und Bekannte
1614Napier: Logarithmen
1637Descartes: Koordinaten, x und y, Exponenten
1654Pascal und Fermat: Wahrscheinlichkeit
1665–1675Newton und Leibniz finden die Ableitung
1683Bernoulli: Zinseszins und die Grenze e
1684Leibniz: „Nova methodus pro maximis et minimis“
1713Bernoulli: Gesetz der großen Zahlen
1733de Moivre: die Glockenkurve
1748Euler: Funktion, e, natürlicher Logarithmus
1763Bayes: Wahrscheinlichkeit der Ursachen
1805Legendre: kleinste Quadrate; Gauss 1809
1821Cauchy: der Grenzwert
1838Verhulst: logistische Kurve
1843Hamilton: Quaternionen, 1846 das Wort Vektor; 1844 Grassmann: Ausdehnungslehre
1847Boole: Logik als Algebra; Cauchy: Gradientenabstieg
1858Cayley: Matrizen
1886Galton: Regression
1913Markow: Ketten in Puschkins Text
1922Fisher: Maximum-Likelihood
1928Hartley: Information als Logarithmus
1933Kolmogorow: Axiome der Wahrscheinlichkeit
1936Turing: berechenbare Zahlen
1937Shannon: Schalter rechnen Boole
1943McCulloch und Pitts: das Schwellenwert-Neuron
1944Curry: steepest descent
1948Shannon: Bit, Entropie, Textmaschine
1949Hebb: Lernen durch Gebrauch
1951Robbins und Monro; Kullback und Leibler; Shannon: ein Bit je Buchstabe
1957Rosenblatt: Perzeptron; Bellman: Fluch der Dimensionalität; Firth
1960Mark I Perceptron; Widrow und Hoff: Adaline; Kelley
1962Novikoff: Konvergenz; Dreyfus: Kettenregel rückwärts
1969Minsky und Papert: „Perceptrons“
1970Linnainmaa: Ableitungen rückwärts in einem Durchgang
1974Werbos: Backpropagation für Netze
1980Fukushima: Neocognitron
1986Rumelhart, Hinton, Williams: Backpropagation in Nature
1989Cybenko, Hornik: Approximationssatz; LeCun: Postleitzahlen; Softmax
1991Hochreiter: verschwindender Gradient
1997LSTM
1999GeForce 256, die erste GPU
2003Bengio: neuronales Sprachmodell mit Einbettungen
2007CUDA
2011ReLU setzt sich durch
2012AlexNet auf zwei Grafikkarten
2013word2vec: König − Mann + Frau
2014Bahdanau: Attention; Adam
2015Residualverbindungen; TensorFlow
2016BPE für Übersetzung; Layer-Normalisierung; PyTorch
2017„Attention Is All You Need“; Lernen aus menschlichen Bewertungen
2018GPT-1, BERT
2019Belkin: doppelter Abstieg; Sutton: „Die bittere Lektion“
2020Kaplan: Skalierungsgesetze; GPT-3 mit 175 Milliarden Parametern
2022Chinchilla; Grokking; ChatGPT
2024Nobelpreise für Hopfield, Hinton, Hassabis und Jumper; Anthropic liest Merkmale aus Claude

Weiterlesen

  • Steven Strogatz: Infinite Powers. How Calculus Reveals the Secrets of the Universe. Houghton Mifflin Harcourt, Boston 2019. Die Geschichte der Ableitung von Archimedes bis heute, ohne Formeln, die man nicht versteht.
  • Ian Stewart: Seventeen Equations That Changed the World. Profile Books, London 2012 (deutsch: Welt-Formeln. 17 mathematische Gleichungen, die alles veränderten, Rowohlt, Reinbek 2014). Je ein Kapitel zu Pythagoras, Logarithmus, Ableitung, Normalverteilung, Information.
  • James Gleick: The Information. A History, a Theory, a Flood. Pantheon, New York 2011 (deutsch: Die Information. Geschichte, Theorie, Flut, Redline, München 2011). Shannon, Bits und Entropie, erzählt als Geschichte.
  • Sharon Bertsch McGrayne: The Theory That Would Not Die. Yale University Press, New Haven 2011 (deutsch: Die Theorie, die nicht sterben wollte, Springer Spektrum, Berlin 2014). Zweieinhalb Jahrhunderte Streit um den Satz von Bayes.
  • Stephen M. Stigler: The History of Statistics. The Measurement of Uncertainty before 1900. Harvard University Press, Cambridge, MA 1986. Legendre, Gauss, Galton und Pearson aus den Quellen.
  • Michael Nielsen: Neural Networks and Deep Learning. Online 2015, http://neuralnetworksanddeeplearning.com/. Das Perzeptron, Backpropagation und der Approximationssatz, mit Code und Bildern, frei lesbar.
  • Ian Goodfellow, Yoshua Bengio, Aaron Courville: Deep Learning. MIT Press, Cambridge, MA 2016, frei unter https://www.deeplearningbook.org/ (deutsch: Deep Learning. Das umfassende Handbuch, mitp, Frechen 2018). Das Lehrbuch, mit eigenen Kapiteln zu linearer Algebra und Wahrscheinlichkeit.
  • Grant Sanderson: Neural networks, Videoreihe auf 3Blue1Brown, 2017–2024, https://www.3blue1brown.com/topics/neural-networks. Gradientenabstieg, Backpropagation und Transformer in bewegten Bildern.
  • Andrej Karpathy: Neural Networks: Zero to Hero, Videoreihe, 2022–2023. Vom Backpropagation in hundert Zeilen bis zum GPT, jede Zeile Code vorgeführt.

Quellen

Die Chronik stützt sich auf die Originalarbeiten, die in den Fußnoten genannt sind, und auf die historischen Darstellungen unter „Weiterlesen“. Alle Zahlenbeispiele sind nachgerechnet; die Angaben zu GPT-3 stammen aus der Veröffentlichung von 2020, die zu den Modellen von 2026 aus den Angaben der Hersteller.


  1. Tontafel BM 13901 (British Museum), Aufgabe 1, und Tafel YBC 7289 (Yale Babylonian Collection), beide altbabylonisch, um 1800 bis 1600 v. Chr.; Høyrup, J. (2002): Lengths, Widths, Surfaces. A Portrait of Old Babylonian Algebra and Its Kin. Springer, New York; Fowler, D., Robson, E. (1998): Square Root Approximations in Old Babylonian Mathematics: YBC 7289 in Context. Historia Mathematica 25(4), 366–378. ↩︎

  2. Brahmagupta (628): Brāhmasphuṭasiddhānta, Kapitel 18 (Regeln für Null, Vermögen und Schulden); Leonardo von Pisa (1202): Liber Abaci; Plofker, K. (2009): Mathematics in India. Princeton University Press, Princeton. ↩︎

  3. al-Chwarizmi (um 820): al-Kitāb al-muchtaṣar fī ḥisāb al-dschabr wa-l-muqābala (Das kurzgefasste Buch über das Rechnen durch Ergänzen und Ausgleichen), Bagdad; Diophant von Alexandria (um 250): Arithmetica; Rashed, R. (2009): Al-Khwārizmī. The Beginnings of Algebra. Saqi, London. ↩︎

  4. Viète, F. (1591): In artem analyticem isagoge. Tours; Recorde, R. (1557): The Whetstone of Witte. London („bicause noe 2 thynges can be moare equalle“); Descartes, R. (1637): La Géométrie, Anhang zum Discours de la méthode. Maire, Leiden; Cajori, F. (1928): A History of Mathematical Notations. Open Court, Chicago. ↩︎

  5. Euklid (um 300 v. Chr.): Elemente, Buch VII, Sätze 1 und 2; Knuth, D. E. (1997): The Art of Computer Programming, Bd. 1, 3. Aufl. Addison-Wesley, Reading, Abschnitt 1.1 (Euklids Verfahren als ältester überlieferter Algorithmus); Abel, N. H. (1824): Mémoire sur les équations algébriques. Christiania. ↩︎

  6. Python, https://www.python.org/ (Linux, Mac, Windows); die Eingabeaufforderung erscheint nach dem Befehl python3 im Terminal. Jede Tabellenkalkulation und der Taschenrechner eines Telefons rechnen dieselben Beispiele. ↩︎

  7. Descartes 1637, siehe oben; Fermat, P. de (1636): Ad locos planos et solidos isagoge (in Abschriften verbreitet, gedruckt 1679 in Varia opera mathematica, Toulouse); Boyer, C. B. (1956): History of Analytic Geometry. Scripta Mathematica, New York. ↩︎

  8. Leibniz’ Gebrauch von „functio“ in Handschriften von 1673, gedruckt 1694 in den Acta Eruditorum; Bernoulli, J. (1718): Remarques sur ce qu’on a donné jusqu’ici de solutions des problèmes sur les isopérimètres. Mémoires de l’Académie royale des sciences, 100–138 (Definition der Funktion); Euler, L. (1734/1740): Additamentum ad dissertationem de infinitis curvis eiusdem generis. Commentarii academiae scientiarum Petropolitanae 7, 184–200 (Schreibweise f(x)); Euler, L. (1748): Introductio in analysin infinitorum. Bousquet, Lausanne; Youschkevitch, A. P. (1976): The Concept of Function up to the Middle of the 19th Century. Archive for History of Exact Sciences 16(1), 37–85. ↩︎

  9. LibreOffice Calc, frei, https://www.libreoffice.org/; Excel und Google Tabellen verhalten sich gleich. Das Punktdiagramm heißt in Calc „XY (Streudiagramm)“. ↩︎

  10. Napier, J. (1614): Mirifici logarithmorum canonis descriptio. Hart, Edinburgh; Briggs, H. (1617): Logarithmorum chilias prima. London; Briggs, H. (1624): Arithmetica logarithmica. Jones, London; Kepler, J. (1627): Tabulae Rudolphinae. Ulm; Oughtred, W. (1632): The Circles of Proportion. London (Rechenschieber, entwickelt um 1622); Havil, J. (2014): John Napier. Life, Logarithms, and Legacy. Princeton University Press, Princeton (dort auch das Laplace zugeschriebene Wort von der Verdopplung des Astronomenlebens); Hewlett-Packard: HP-35, 1972. ↩︎

  11. Bernoulli, J. (1690): Quaestiones nonnullae de usuris, cum solutione problematis de sorte alearum. Acta Eruditorum, Mai 1690, 219–223 (die Frage nach dem stetigen Zins, gestellt 1683); Euler an Goldbach, Brief vom 25. November 1731 (erster Gebrauch des Buchstabens e); Euler 1748, siehe oben, Kapitel 7 (e auf 23 Stellen); Maor, E. (1994): e. The Story of a Number. Princeton University Press, Princeton. ↩︎

  12. Verhulst, P.-F. (1838): Notice sur la loi que la population suit dans son accroissement. Correspondance mathématique et physique 10, 113–121; der Name „logistique“ in Verhulst, P.-F. (1845): Recherches mathématiques sur la loi d’accroissement de la population. Nouveaux mémoires de l’Académie royale des sciences et belles-lettres de Bruxelles 18, 1–42. ↩︎

  13. Bridle, J. S. (1990): Probabilistic Interpretation of Feedforward Classification Network Outputs, with Relationships to Statistical Pattern Recognition. In: Soulié, F. F., Hérault, J. (Hg.): Neurocomputing. Algorithms, Architectures and Applications. Springer, Berlin, 227–236 (der Name Softmax, vorgetragen 1989); die Formel ist die Boltzmann-Verteilung der statistischen Physik: Gibbs, J. W. (1902): Elementary Principles in Statistical Mechanics. Scribner, New York; Temperatur beim Ziehen aus Netzen: Ackley, D. H., Hinton, G. E., Sejnowski, T. J. (1985): A Learning Algorithm for Boltzmann Machines. Cognitive Science 9(1), 147–169. ↩︎

  14. Das Modul math von Python, https://docs.python.org/3/library/math.html; bei vielen Taschenrechnern heißt die Taste für den natürlichen Logarithmus ln und die für eˣ „eˣ“ oder „exp“. ↩︎

  15. Leibniz, G. W. (1684): Nova methodus pro maximis et minimis, itemque tangentibus, quae nec fractas nec irrationales quantitates moratur, et singulare pro illis calculi genus. Acta Eruditorum, Oktober 1684, 467–473; Newton, I. (1711): De analysi per aequationes numero terminorum infinitas (verfasst 1669). London; Newton, I. (1736): The Method of Fluxions and Infinite Series (verfasst 1671). London; Newton, I. (1687): Philosophiae naturalis principia mathematica. London; Guicciardini, N. (2009): Isaac Newton on Mathematical Certainty and Method. MIT Press, Cambridge, MA. ↩︎

  16. Royal Society (1712/1713): Commercium epistolicum D. Johannis Collins et aliorum de analysi promota. London; Hall, A. R. (1980): Philosophers at War. The Quarrel between Newton and Leibniz. Cambridge University Press, Cambridge; Berkeley, G. (1734): The Analyst; or, a Discourse Addressed to an Infidel Mathematician. Tonson, London („ghosts of departed quantities“). ↩︎

  17. Cauchy, A.-L. (1821): Cours d’analyse de l’École royale polytechnique. Debure, Paris; Lagrange, J.-L. (1797): Théorie des fonctions analytiques. Imprimerie de la République, Paris („fonction dérivée“); Grabiner, J. V. (1981): The Origins of Cauchy’s Rigorous Calculus. MIT Press, Cambridge, MA. ↩︎

  18. Rechnung mit Python wie in Abschnitt 1. Die Regeln für Potenzen, Summen, Produkte und Verkettungen stehen in jedem Lehrbuch der Analysis und, ohne Formeln, bei Strogatz 2019 (siehe Weiterlesen), Kapitel 6 und 7. ↩︎

  19. Der Briefwechsel zwischen Pascal und Fermat vom Sommer 1654, in: Tannery, P., Henry, C. (Hg.) (1894): Œuvres de Fermat, Bd. 2. Gauthier-Villars, Paris, 288–314; Huygens, C. (1657): De ratiociniis in ludo aleae. In: van Schooten, F.: Exercitationum mathematicarum libri quinque. Elsevier, Leiden; Cardano, G. (1663): Liber de ludo aleae (verfasst um 1564). In: Opera omnia, Bd. 1. Lyon; Hacking, I. (1975): The Emergence of Probability. Cambridge University Press, Cambridge; Devlin, K. (2008): The Unfinished Game. Pascal, Fermat, and the Seventeenth-Century Letter that Made the World Modern. Basic Books, New York. ↩︎

  20. Bernoulli, J. (1713): Ars conjectandi. Thurneysen, Basel, Teil IV (das Gesetz der großen Zahlen, von Bernoulli „goldenes Theorem“ genannt). Bei 600 Würfen beträgt die Standardabweichung der Zahl der Sechsen √(600 · 1/6 · 5/6) ≈ 9,1; Werte unter 80 oder über 120 kommen in rund zweieinhalb Prozent der Fälle vor. ↩︎

  21. de Moivre, A. (1733): Approximatio ad summam terminorum binomii (a+b)ⁿ in seriem expansi. Privatdruck, 12. November 1733, aufgenommen in: The Doctrine of Chances, 2. Aufl. Woodfall, London 1738; Laplace, P.-S. (1810): Mémoire sur les approximations des formules qui sont fonctions de très grands nombres et sur leur application aux probabilités. Mémoires de l’Académie des sciences, 353–415; Gauss 1809, siehe unten; Stigler 1986 (siehe Weiterlesen), Kapitel 2 und 4. ↩︎

  22. Bayes, T. (1763): An Essay towards solving a Problem in the Doctrine of Chances. Philosophical Transactions 53, 370–418, mitgeteilt von Richard Price, https://doi.org/10.1098/rstl.1763.0053; Laplace, P.-S. (1774): Mémoire sur la probabilité des causes par les événements. Mémoires de l’Académie royale des sciences (savants étrangers) 6, 621–656; Laplace, P.-S. (1812): Théorie analytique des probabilités. Courcier, Paris. ↩︎

  23. Gigerenzer, G., Hoffrage, U. (1995): How to Improve Bayesian Reasoning Without Instruction: Frequency Formats. Psychological Review 102(4), 684–704, https://doi.org/10.1037/0033-295X.102.4.684 (Ärzte und Studenten lösen Bayes-Aufgaben mit Anzahlen weit häufiger richtig als mit Wahrscheinlichkeiten). ↩︎

  24. Graham, P. (2002): A Plan for Spam. August 2002, https://www.paulgraham.com/spam.html (Bayes-Filter aus Wortwahrscheinlichkeiten; Vorbild der Spam-Filter in Mailprogrammen seit 2003). ↩︎

  25. Kolmogoroff, A. (1933): Grundbegriffe der Wahrscheinlichkeitsrechnung. Springer, Berlin (Ergebnisse der Mathematik und ihrer Grenzgebiete 2(3)), 62 Seiten. ↩︎

  26. LibreOffice Calc, siehe oben; in Excel heißen die Funktionen ebenso, in der englischen Fassung RANDBETWEEN und COUNTIF. Die Taste F9 berechnet das Blatt neu und würfelt damit erneut. ↩︎

  27. Piazzi beobachtete Ceres vom 1. Januar bis zum 11. Februar 1801; Franz Xaver von Zach fand sie am 7. Dezember 1801 wieder, Heinrich Olbers in der Nacht zum 1. Januar 1802; Gauss, C. F. (1809): Theoria motus corporum coelestium in sectionibus conicis solem ambientium. Perthes und Besser, Hamburg; Teets, D., Whitehead, K. (1999): The Discovery of Ceres: How Gauss Became Famous. Mathematics Magazine 72(2), 83–93. ↩︎

  28. Legendre, A.-M. (1805): Nouvelles méthodes pour la détermination des orbites des comètes. Courcier, Paris, Anhang „Sur la méthode des moindres quarrés“, 72–80; Gauss 1809, siehe oben, § 186 („principium nostrum, quo iam inde ab anno 1795 usi sumus“); Stigler, S. M. (1981): Gauss and the Invention of Least Squares. Annals of Statistics 9(3), 465–474, https://doi.org/10.1214/aos/1176345451. ↩︎

  29. Galton, F. (1886): Regression Towards Mediocrity in Hereditary Stature. Journal of the Anthropological Institute of Great Britain and Ireland 15, 246–263, https://doi.org/10.2307/2841583. ↩︎

  30. Pearson, K. (1896): Mathematical Contributions to the Theory of Evolution. III. Regression, Heredity, and Panmixia. Philosophical Transactions A 187, 253–318, https://doi.org/10.1098/rsta.1896.0007; Galton, F. (1888): Co-relations and Their Measurement, Chiefly from Anthropometric Data. Proceedings of the Royal Society 45, 135–145. ↩︎

  31. Gauss 1809, siehe oben, Buch II, Abschnitt 3, §§ 175–186 (Herleitung der kleinsten Quadrate aus der Normalverteilung der Fehler). ↩︎

  32. Fisher, R. A. (1922): On the Mathematical Foundations of Theoretical Statistics. Philosophical Transactions A 222, 309–368, https://doi.org/10.1098/rsta.1922.0009; das Wort Likelihood in Fisher, R. A. (1921): On the „Probable Error“ of a Coefficient of Correlation Deduced from a Small Sample. Metron 1(4), 3–32. ↩︎

  33. LibreOffice Calc, siehe oben: Trendlinie über das Kontextmenü der Datenreihe; NumPy, https://numpy.org/, wird mit pip install numpy nachinstalliert. Die Kurve vierten Grades durch die fünf Punkte lautet y = −(13/24)·x⁴ + (79/12)·x³ − (659/24)·x² + (557/12)·x − 22 und liefert bei x = 6 den Wert −12. ↩︎

  34. Cauchy, A.-L. (1847): Méthode générale pour la résolution des systèmes d’équations simultanées. Comptes rendus hebdomadaires des séances de l’Académie des sciences 25, 536–538 (Sitzung vom 18. Oktober 1847); Lemaréchal, C. (2012): Cauchy and the Gradient Method. Documenta Mathematica, Extra Volume ISMP, 251–254. ↩︎

  35. Hadamard, J. (1908): Mémoire sur le problème d’analyse relatif à l’équilibre des plaques élastiques encastrées. Mémoires présentés par divers savants à l’Académie des sciences 33(4), 1–128; Curry, H. B. (1944): The Method of Steepest Descent for Non-linear Minimization Problems. Quarterly of Applied Mathematics 2(3), 258–261, https://doi.org/10.1090/qam/10667. ↩︎

  36. Robbins, H., Monro, S. (1951): A Stochastic Approximation Method. Annals of Mathematical Statistics 22(3), 400–407, https://doi.org/10.1214/aoms/1177729586; Kiefer, J., Wolfowitz, J. (1952): Stochastic Estimation of the Maximum of a Regression Function. Annals of Mathematical Statistics 23(3), 462–466. ↩︎

  37. Kingma, D. P., Ba, J. (2014): Adam: A Method for Stochastic Optimization. arXiv:1412.6980, 22. Dezember 2014 (ICLR 2015), https://arxiv.org/abs/1412.6980; Polyak, B. T. (1964): Some Methods of Speeding up the Convergence of Iteration Methods. USSR Computational Mathematics and Mathematical Physics 4(5), 1–17 (Momentum). ↩︎

  38. LibreOffice Calc, siehe oben. Für L = (w − 3)⁴ lautet die Formel in A2 =A1-0,25*4*(A1-3)^3; mit dem Startwert 0 ist der erste Schritt 27, also die Lernrate auf 0,01 senken. ↩︎

  39. Hamilton, W. R. (1844): On Quaternions; or on a New System of Imaginaries in Algebra. Philosophical Magazine 25, 10–13 (Entdeckung am 16. Oktober 1843); das Wort „vector“ in Hamilton, W. R. (1846): On Quaternions. Philosophical Magazine 29, 26–31; Grassmann, H. (1844): Die lineale Ausdehnungslehre, ein neuer Zweig der Mathematik. Wigand, Leipzig; Crowe, M. J. (1967): A History of Vector Analysis. University of Notre Dame Press, Notre Dame. ↩︎

  40. Cayley, A. (1858): A Memoir on the Theory of Matrices. Philosophical Transactions 148, 17–37, https://doi.org/10.1098/rstl.1858.0002; das Wort „matrix“ in Sylvester, J. J. (1850): Additions to the Articles „On a New Class of Theorems“ and „On Pascal’s Theorem“. Philosophical Magazine 37, 363–370. ↩︎

  41. Brown, T. B. u. a. (2020): Language Models are Few-Shot Learners. arXiv:2005.14165, 28. Mai 2020, https://arxiv.org/abs/2005.14165 (GPT-3: 175 Milliarden Parameter, 96 Schichten, 96 Köpfe, d = 12.288, Wortschatz 50.257 Tokens, 300 Milliarden Tokens Training). ↩︎ ↩︎

  42. von Neumann, J., Goldstine, H. H. (1947): Numerical Inverting of Matrices of High Order. Bulletin of the American Mathematical Society 53(11), 1021–1099; Lawson, C. L., Hanson, R. J., Kincaid, D. R., Krogh, F. T. (1979): Basic Linear Algebra Subprograms for Fortran Usage. ACM Transactions on Mathematical Software 5(3), 308–323; Anderson, E. u. a. (1992): LAPACK Users’ Guide. SIAM, Philadelphia. ↩︎

  43. Nvidia: GeForce 256, Pressemitteilung vom 31. August 1999 („the world’s first GPU“); Nvidia: CUDA 1.0, Juni 2007; Raina, R., Madhavan, A., Ng, A. Y. (2009): Large-scale Deep Unsupervised Learning using Graphics Processors. Proceedings of the 26th International Conference on Machine Learning, 873–880; Krizhevsky, A., Sutskever, I., Hinton, G. E. (2012): ImageNet Classification with Deep Convolutional Neural Networks. Advances in Neural Information Processing Systems 25, 1097–1105 (zwei GTX 580); Abadi, M. u. a. (2016): TensorFlow: A System for Large-Scale Machine Learning. 12th USENIX Symposium on Operating Systems Design and Implementation, 265–283 (freigegeben im November 2015). ↩︎

  44. NumPy, siehe oben. Auf einem Telefon dauert das Produkt zweier Matrizen mit tausend Zeilen und Spalten rund eine Zehntelsekunde, auf einer Grafikkarte für Rechenzentren weniger als eine Millisekunde. ↩︎

  45. Boole, G. (1847): The Mathematical Analysis of Logic. Macmillan, Barclay & Macmillan, Cambridge; Boole, G. (1854): An Investigation of the Laws of Thought, on Which are Founded the Mathematical Theories of Logic and Probabilities. Walton and Maberly, London, https://www.gutenberg.org/ebooks/15114; Leibniz’ „calculemus“ in Schriften um 1685 zur characteristica universalis; Davis, M. (2000): The Universal Computer. The Road from Leibniz to Turing. Norton, New York. ↩︎

  46. Shannon, C. E. (1937): A Symbolic Analysis of Relay and Switching Circuits. Masterarbeit, Massachusetts Institute of Technology, https://dspace.mit.edu/handle/1721.1/11173; gedruckt in: Transactions of the American Institute of Electrical Engineers 57(12), 1938, 713–723; Gardner, H. (1987): The Mind’s New Science. Basic Books, New York („possibly the most important, and also the most famous, master’s thesis of the century“). ↩︎

  47. Turing, A. M. (1936): On Computable Numbers, with an Application to the Entscheidungsproblem. Proceedings of the London Mathematical Society s2-42(1), 230–265, https://doi.org/10.1112/plms/s2-42.1.230. ↩︎

  48. McCulloch, W. S., Pitts, W. (1943): A Logical Calculus of the Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics 5, 115–133, https://doi.org/10.1007/BF02478259; von Neumann, J. (1945): First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania, 30. Juni 1945 (zitiert McCulloch und Pitts als einzige Literatur). ↩︎

  49. Hebb, D. O. (1949): The Organization of Behavior. A Neuropsychological Theory. Wiley, New York; Shatz, C. J. (1992): The Developing Brain. Scientific American 267(3), 60–67 („cells that fire together wire together“). ↩︎

  50. LibreOffice Calc, siehe oben; in der englischen Fassung heißt die Funktion IF, und das Semikolon wird zum Komma. ↩︎

  51. Rosenblatt, F. (1957): The Perceptron. A Perceiving and Recognizing Automaton. Report 85-460-1, Cornell Aeronautical Laboratory, Buffalo; Rosenblatt, F. (1958): The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review 65(6), 386–408, https://doi.org/10.1037/h0042519; Rosenblatt, F. (1962): Principles of Neurodynamics. Spartan Books, Washington; Hay, J. C., Lynch, B. E., Smith, D. R. (1960): Mark I Perceptron Operators’ Manual. Cornell Aeronautical Laboratory, Buffalo (400 Fotozellen, Gewichte als motorgetriebene Potentiometer). ↩︎

  52. New Navy Device Learns by Doing. Psychologist Shows Embryo of Computer Designed to Read and Grow Wiser. The New York Times, 8. Juli 1958, 25. ↩︎

  53. Widrow, B., Hoff, M. E. (1960): Adaptive Switching Circuits. IRE WESCON Convention Record 4, 96–104 (Adaline und die Delta-Regel, auch LMS-Verfahren). ↩︎

  54. Novikoff, A. B. J. (1962): On Convergence Proofs on Perceptrons. Proceedings of the Symposium on the Mathematical Theory of Automata 12, Polytechnic Institute of Brooklyn, 615–622. ↩︎

  55. Minsky, M., Papert, S. (1969): Perceptrons. An Introduction to Computational Geometry. MIT Press, Cambridge, MA; Olazaran, M. (1996): A Sociological Study of the Official History of the Perceptrons Controversy. Social Studies of Science 26(3), 611–659. ↩︎

  56. Python, siehe oben. Das Programm gibt je Durchgang die drei Gewichte aus; mit print innerhalb der inneren Schleife sieht man jede einzelne Korrektur wie im Text. ↩︎

  57. Kelley, H. J. (1960): Gradient Theory of Optimal Flight Paths. ARS Journal 30(10), 947–954, https://doi.org/10.2514/8.5282; Bryson, A. E. (1961): A Gradient Method for Optimizing Multi-Stage Allocation Processes. Proceedings of the Harvard University Symposium on Digital Computers and Their Applications, 125–135; Dreyfus, S. (1962): The Numerical Solution of Variational Problems. Journal of Mathematical Analysis and Applications 5(1), 30–45. ↩︎

  58. Linnainmaa, S. (1970): Algoritmin kumulatiivinen pyöristysvirhe yksittäisten pyöristysvirheiden Taylor-kehitelmänä. Masterarbeit, Universität Helsinki; Linnainmaa, S. (1976): Taylor Expansion of the Accumulated Rounding Error. BIT Numerical Mathematics 16, 146–160, https://doi.org/10.1007/BF01931367; Griewank, A. (2012): Who Invented the Reverse Mode of Differentiation? Documenta Mathematica, Extra Volume ISMP, 389–400. ↩︎

  59. Werbos, P. J. (1974): Beyond Regression. New Tools for Prediction and Analysis in the Behavioral Sciences. Dissertation, Harvard University, Cambridge, MA; Werbos, P. J. (1982): Applications of Advances in Nonlinear Sensitivity Analysis. In: Drenick, R. F., Kozin, F. (Hg.): System Modeling and Optimization. Springer, Berlin, 762–770. ↩︎

  60. Rumelhart, D. E., Hinton, G. E., Williams, R. J. (1986): Learning Representations by Back-propagating Errors. Nature 323, 533–536, 9. Oktober 1986, https://doi.org/10.1038/323533a0; LeCun, Y. (1985): Une procédure d’apprentissage pour réseau à seuil asymétrique. Proceedings of Cognitiva 85, Paris, 599–604; Parker, D. B. (1985): Learning-Logic. Technical Report TR-47, Center for Computational Research in Economics and Management Science, MIT. ↩︎

  61. Fukushima, K. (1980): Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position. Biological Cybernetics 36, 193–202, https://doi.org/10.1007/BF00344251; LeCun, Y. u. a. (1989): Backpropagation Applied to Handwritten Zip Code Recognition. Neural Computation 1(4), 541–551, https://doi.org/10.1162/neco.1989.1.4.541; LeCun, Y., Bottou, L., Bengio, Y., Haffner, P. (1998): Gradient-Based Learning Applied to Document Recognition. Proceedings of the IEEE 86(11), 2278–2324 (Scheckerkennung). ↩︎

  62. Cybenko, G. (1989): Approximation by Superpositions of a Sigmoidal Function. Mathematics of Control, Signals, and Systems 2, 303–314, https://doi.org/10.1007/BF02551274; Hornik, K., Stinchcombe, M., White, H. (1989): Multilayer Feedforward Networks are Universal Approximators. Neural Networks 2(5), 359–366, https://doi.org/10.1016/0893-6080%2889%2990020-8. ↩︎

  63. Hochreiter, S. (1991): Untersuchungen zu dynamischen neuronalen Netzen. Diplomarbeit, Technische Universität München (Betreuer Jürgen Schmidhuber). ↩︎

  64. Nair, V., Hinton, G. E. (2010): Rectified Linear Units Improve Restricted Boltzmann Machines. Proceedings of the 27th International Conference on Machine Learning, 807–814; Glorot, X., Bordes, A., Bengio, Y. (2011): Deep Sparse Rectifier Neural Networks. Proceedings of the 14th International Conference on Artificial Intelligence and Statistics, PMLR 15, 315–323, https://proceedings.mlr.press/v15/glorot11a.html; Krizhevsky u. a. 2012, siehe oben. ↩︎

  65. He, K., Zhang, X., Ren, S., Sun, J. (2015): Deep Residual Learning for Image Recognition. arXiv:1512.03385, 10. Dezember 2015, https://arxiv.org/abs/1512.03385; Ioffe, S., Szegedy, C. (2015): Batch Normalization. arXiv:1502.03167, https://arxiv.org/abs/1502.03167; Ba, J. L., Kiros, J. R., Hinton, G. E. (2016): Layer Normalization. arXiv:1607.06450, https://arxiv.org/abs/1607.06450. ↩︎

  66. Königlich Schwedische Akademie der Wissenschaften: Nobelpreis für Physik 2024 an John J. Hopfield und Geoffrey E. Hinton, 8. Oktober 2024, https://www.nobelprize.org/prizes/physics/2024/summary/; Nobelpreis für Chemie 2024 an David Baker, Demis Hassabis und John M. Jumper, 9. Oktober 2024, https://www.nobelprize.org/prizes/chemistry/2024/summary/. ↩︎ ↩︎

  67. Karpathy, A. (2020): micrograd, https://github.com/karpathy/micrograd; Karpathy, A. (2022): The spelled-out intro to neural networks and backpropagation: building micrograd. Video, August 2022, erste Folge der Reihe Neural Networks: Zero to Hero; PyTorch, https://pytorch.org/ (dort heißen die drei Zeilen loss = …, loss.backward() und optimizer.step()). ↩︎

  68. Hartley, R. V. L. (1928): Transmission of Information. Bell System Technical Journal 7(3), 535–563, https://doi.org/10.1002/j.1538-7305.1928.tb01236.x; Shannon, C. E. (1948): A Mathematical Theory of Communication. Bell System Technical Journal 27(3), 379–423 und 27(4), 623–656, https://doi.org/10.1002/j.1538-7305.1948.tb01338.x (das Wort Bit, nach Shannon ein Vorschlag von John Tukey; die Textbeispiele in Abschnitt 3 des ersten Teils). ↩︎

  69. Shannon, C. E. (1951): Prediction and Entropy of Printed English. Bell System Technical Journal 30(1), 50–64, https://doi.org/10.1002/j.1538-7305.1951.tb01366.x (Schätzung zwischen 0,6 und 1,3 Bit je Buchstabe). ↩︎

  70. Kullback, S., Leibler, R. A. (1951): On Information and Sufficiency. Annals of Mathematical Statistics 22(1), 79–86, https://doi.org/10.1214/aoms/1177729694; die Perplexität als Maß: Jelinek, F., Mercer, R. L., Bahl, L. R., Baker, J. K. (1977): Perplexity, a Measure of the Difficulty of Speech Recognition Tasks. Journal of the Acoustical Society of America 62(S1), S63. ↩︎

  71. Küpfmüller, K. (1954): Die Entropie der deutschen Sprache. Fernmeldetechnische Zeitschrift 7(6), 265–272 (4,1 Bit je Buchstabe bei Einzelbuchstaben, etwa 1,6 Bit bei langen Zusammenhängen); Zip-Programme gibt es in jedem Betriebssystem, in Python als Modul zipfile. ↩︎

  72. Markov, A. A. (1913): Primer statističeskogo issledovanija nad tekstom „Evgenija Onegina“, illjustrirujuščij svjaz’ ispytanij v cep’. Izvestija Imperatorskoj Akademii Nauk VI(7), 153–162; englisch: An Example of Statistical Investigation of the Text Eugene Onegin Concerning the Connection of Samples in Chains. Science in Context 19(4), 2006, 591–600, https://doi.org/10.1017/S0269889706001074; Hayes, B. (2013): First Links in the Markov Chain. American Scientist 101(2), 92–97 (die Zahlen: 8.638 Vokale unter 20.000 Buchstaben; Vokal nach Vokal 0,128, Vokal nach Konsonant 0,663). ↩︎

  73. Jelinek, F. (1976): Continuous Speech Recognition by Statistical Methods. Proceedings of the IEEE 64(4), 532–556; das Wort vom entlassenen Linguisten fiel nach Jelineks eigener Erinnerung im Dezember 1988 bei einem Workshop, nach anderer Überlieferung 1985, und ist in mehreren Wortlauten überliefert: Jelinek, F. (2005): Some of My Best Friends Are Linguists. Language Resources and Evaluation 39(1), 25–34, https://doi.org/10.1007/s10579-005-2693-4; Jurafsky, D., Martin, J. H. (2009): Speech and Language Processing, 2. Aufl. Pearson, Upper Saddle River, Kapitel 4. ↩︎

  74. Bellman, R. (1957): Dynamic Programming. Princeton University Press, Princeton, Vorwort („curse of dimensionality“). ↩︎

  75. Harris, Z. S. (1954): Distributional Structure. Word 10(2–3), 146–162, https://doi.org/10.1080/00437956.1954.11659520; Firth, J. R. (1957): A Synopsis of Linguistic Theory 1930–1955. In: Studies in Linguistic Analysis. Blackwell, Oxford, 1–32 („You shall know a word by the company it keeps“); Salton, G., Wong, A., Yang, C. S. (1975): A Vector Space Model for Automatic Indexing. Communications of the ACM 18(11), 613–620. ↩︎

  76. Bengio, Y., Ducharme, R., Vincent, P., Jauvin, C. (2003): A Neural Probabilistic Language Model. Journal of Machine Learning Research 3, 1137–1155, https://jmlr.org/papers/v3/bengio03a.html (Vorfassung auf der NIPS 2000). ↩︎

  77. Mikolov, T., Chen, K., Corrado, G., Dean, J. (2013): Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781, 16. Januar 2013, https://arxiv.org/abs/1301.3781 (1,6 Milliarden Wörter, Vektoren mit 300 Zahlen); Mikolov, T., Yih, W., Zweig, G. (2013): Linguistic Regularities in Continuous Space Word Representations. Proceedings of NAACL-HLT 2013, 746–751 (König − Mann + Frau). ↩︎

  78. Gage, P. (1994): A New Algorithm for Data Compression. The C Users Journal 12(2), 23–38; Sennrich, R., Haddow, B., Birch, A. (2016): Neural Machine Translation of Rare Words with Subword Units. Proceedings of the 54th Annual Meeting of the ACL, 1715–1725, https://arxiv.org/abs/1508.07909; Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., Sutskever, I. (2019): Language Models are Unsupervised Multitask Learners. OpenAI (GPT-2: Wortschatz 50.257 Tokens, kleinstes Modell 124 Millionen Parameter). ↩︎

  79. Project Gutenberg, https://www.gutenberg.org/ (Texte als „Plain Text UTF-8“); OpenAI: Tokenizer, https://platform.openai.com/tokenizer. ↩︎

  80. Elman, J. L. (1990): Finding Structure in Time. Cognitive Science 14(2), 179–211; Hochreiter, S., Schmidhuber, J. (1997): Long Short-Term Memory. Neural Computation 9(8), 1735–1780, https://doi.org/10.1162/neco.1997.9.8.1735; Sutskever, I., Vinyals, O., Le, Q. V. (2014): Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215, https://arxiv.org/abs/1409.3215. ↩︎

  81. Bahdanau, D., Cho, K., Bengio, Y. (2014): Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473, 1. September 2014 (ICLR 2015), https://arxiv.org/abs/1409.0473. ↩︎

  82. Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, Ł., Polosukhin, I. (2017): Attention Is All You Need. arXiv:1706.03762, 12. Juni 2017 (NeurIPS 2017), https://arxiv.org/abs/1706.03762; Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018): Improving Language Understanding by Generative Pre-Training. OpenAI, Juni 2018 (GPT-1: 12 Schichten); Devlin, J., Chang, M.-W., Lee, K., Toutanova, K. (2018): BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805, https://arxiv.org/abs/1810.04805. ↩︎

  83. Christiano, P. F., Leike, J., Brown, T. B., Martic, M., Legg, S., Amodei, D. (2017): Deep Reinforcement Learning from Human Preferences. arXiv:1706.03741, https://arxiv.org/abs/1706.03741; Ouyang, L. u. a. (2022): Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155, 4. März 2022, https://arxiv.org/abs/2203.02155 (InstructGPT, Grundlage von ChatGPT). ↩︎

  84. Cho, A. u. a. (2024): Transformer Explainer: Interactive Learning of Text-Generative Models. Polo Club of Data Science, Georgia Institute of Technology, https://poloclub.github.io/transformer-explainer/ (arXiv:2408.12152); Sanderson, G. (2024): But what is a GPT?, Attention in transformers, How might LLMs store facts. Kapitel 5 bis 7 der Reihe Neural networks, 3Blue1Brown, https://www.3blue1brown.com/topics/neural-networks; Radford u. a. 2019, siehe oben. ↩︎

  85. Belkin, M., Hsu, D., Ma, S., Mandal, S. (2019): Reconciling Modern Machine-Learning Practice and the Classical Bias–Variance Trade-off. Proceedings of the National Academy of Sciences 116(32), 15849–15854, https://doi.org/10.1073/pnas.1903070116; Nakkiran, P. u. a. (2019): Deep Double Descent: Where Bigger Models and More Data Hurt. arXiv:1912.02292, https://arxiv.org/abs/1912.02292. ↩︎

  86. Power, A., Burda, Y., Edwards, H., Babuschkin, I., Misra, V. (2022): Grokking: Generalization Beyond Overfitting on Small Algorithmic Datasets. arXiv:2201.02177, https://arxiv.org/abs/2201.02177. ↩︎

  87. Kaplan, J. u. a. (2020): Scaling Laws for Neural Language Models. arXiv:2001.08361, 23. Januar 2020, https://arxiv.org/abs/2001.08361; Hoffmann, J. u. a. (2022): Training Compute-Optimal Large Language Models. arXiv:2203.15556, https://arxiv.org/abs/2203.15556 (Chinchilla, rund zwanzig Tokens je Parameter). ↩︎

  88. Sutton, R. S. (2019): The Bitter Lesson. 13. März 2019, http://www.incompleteideas.net/IncIdeas/BitterLesson.html. ↩︎

  89. Templeton, A. u. a. (2024): Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet. Anthropic, 21. Mai 2024, https://transformer-circuits.pub/2024/scaling-monosemanticity/; Elhage, N. u. a. (2021): A Mathematical Framework for Transformer Circuits. Anthropic, https://transformer-circuits.pub/2021/framework/index.html. ↩︎

Zuletzt aktualisiert am