Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
Der ganze Weg des maschinellen Lernens an der Schätzung eines Wohnungspreises: Daten und ihre Aufteilung, ein Modell mit Parametern, Training per Gradientenabstieg, Hyperparameter und die Lernrate, Auswertung, Inferenz und ein Glossar der Begriffe mit Links zu den Teilen der Serie.
Serie KI-Grundlagen Teil 3 von 52
- Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
- Eine kurze Geschichte der künstlichen Intelligenz: von Turing bis zu Sprachmodellen
- Daten, Modell, Training, Inferenz: die Grundbegriffe an einem einzigen Beispiel
- Mathematische Notation lesen: Symbole, Indizes, Summen und Quantoren
- Mengen und Relationen: der Baukasten, aus dem Definitionen in der KI bestehen
- Funktionen und Abbildungen: warum jedes KI-Modell eine Funktion ist
- Logik und Beweise: die Regeln, nach denen KI schließt
- Graphen und Bäume: die Struktur, auf der Suche und neuronale Netze stehen
- Lineare Algebra für maschinelles Lernen: Vektoren, Matrizen und warum KI vor allem multipliziert
- Ableitungen, Gradient und Kettenregel: wie ein Modell herausfindet, in welche Richtung es lernen soll
- Gradientenabstieg: wie ein Modell lernt
- Was ist Wahrscheinlichkeit: vom Würfelwurf zu den Kolmogorow-Axiomen
- Bedingte Wahrscheinlichkeit und der Satz von Bayes: wie du deine Einschätzung änderst, wenn du etwas Neues erfährst
- Zufallsvariable und Verteilungsfunktion: eine Funktion, die alles über eine Verteilung verrät
- Dichtefunktion und Wahrscheinlichkeitsfunktion: warum eine stetige Zufallsvariable in einem Punkt die Wahrscheinlichkeit null hat
- Erwartungswert, Varianz und Kovarianz: wo eine Verteilung liegt, wie breit sie ist und was womit zusammenhängt
- Überblick über Wahrscheinlichkeitsverteilungen: Bernoulli-, Binomial-, Poisson-, Gleich-, Normal- und Exponentialverteilung
- Gesetz der großen Zahlen und zentraler Grenzwertsatz: Warum sich Durchschnitte so vorhersagbar verhalten
- Statistik und Parameterschätzung: Maximum Likelihood, MAP und Konfidenzintervalle
- Informationstheorie: Entropie, Kreuzentropie und KL-Divergenz — woher Verlustfunktionen kommen
- Zustandsraumsuche: BFS, DFS, UCS und A* mit Animationen
- Spiele und Gegner: Minimax, Alpha-Beta-Suche und Monte Carlo Tree Search
- Constraint Satisfaction: Backtracking, Constraint-Propagierung und AC-3 an Sudoku und einer Karte tschechischer Regionen
- Logik und wissensbasierte Systeme: Vorwärts- und Rückwärtsverkettung, Resolution und Expertensysteme
- Planung: STRIPS, die Blockwelt, Heuristiken aus Relaxierung und Planung in KI-Agenten
- Lokale Suche und simulierte Abkühlung: ein Handlungsreisender durch die tschechischen Regionalhauptstädte
- Genetische Algorithmen: Population, Kreuzung, Mutation und Selektion am Rucksack für die Wanderung
- Evolutionsstrategien und genetische Programmierung: von der 1/5-Erfolgsregel zum Keplerschen Gesetz
- Ameisenkolonieoptimierung: wie eine Pheromonspur einen kurzen Weg findet
- Partikelschwarmoptimierung: Trägheit, eigene Erfahrung und die Erfahrung des Schwarms
- Neuroevolution: Evolution der Gewichte und der Gestalt neuronaler Netze und der Algorithmus NEAT
- Fuzzy-Mengen und Zugehörigkeitsfunktionen: wie man „etwas warm“ aufschreibt
- Fuzzy-Logik und Wahrscheinlichkeit: warum „etwas warm“ nicht „wahrscheinlich warm“ bedeutet
- Fuzzy-Logik: t-Normen, Implikationen und WENN–DANN-Regeln
- Fuzzy-Regelung: Mamdani und Sugeno vom Ventilator bis zum Pendel auf dem Wagen
- Fuzzy-Clustering: der Algorithmus fuzzy c-means und Punkte zwischen den Clustern
- Neuro-Fuzzy-Systeme (ANFIS): Fuzzy-Regeln, die aus Daten lernen
- Markow-Ketten: Übergangsmatrix, stationäre Verteilung und PageRank
- Hidden-Markov-Modelle: der Viterbi-Algorithmus und das unehrliche Kasino
- Bayessche Netze: warum das Gras nass ist und was das für den Rasensprenger bedeutet
- Der Kalman-Filter: wie man aus ungenauen Messungen schätzt, wo ein Auto ist und wie schnell es fährt
- Arten des maschinellen Lernens: überwacht, unüberwacht, halbüberwacht und mehr
- Prompts, Kontext und RAG: wie man einem Modell die richtigen Informationen gibt
- Variational Autoencoder (VAE): neue Bilder aus einem stetigen latenten Raum
- Generative Adversarial Networks (GAN): der Fälscher gegen den Detektiv
- Diffusionsmodelle: wie aus reinem Rauschen ein Bild wird
- Markow-Entscheidungsprozesse: Zustände, Aktionen, Belohnungen und Bellman-Gleichungen
- Q-Learning und DQN: den Wert von Aktionen lernen, von der Tabelle bis zum neuronalen Netz
- Policy Gradient und PPO: die Strategie direkt lernen
- Wie ein KI-Agent funktioniert: ein Sprachmodell in einer Schleife mit Werkzeugen
- Programmieren mit KI-Agenten: Auftrag, Tests und Kontrolle
- Bewertung und Sicherheit von KI-Systemen: wie man misst und wie man überwacht
Der ganze Lehrplan der Serie 52 von 83 Themen fertig
- Was Daten, Modell, Training und Inferenz bedeuten und wie sie zusammenhängen.
- Den Unterschied zwischen Parametern und Hyperparametern und warum es auf die Lernrate ankommt.
- Warum Training einmal teuer ist und Inferenz billig, aber häufig.
Vorher gut zu wissen: Landkarte der künstlichen Intelligenz: was was ist und wie alles zusammenpasst
In der ganzen Serie kehren vier Wörter immer wieder: Daten, Modell, Training und Inferenz. Ob Ziffernerkennung, Spamfilter oder großes Sprachmodell, der Weg ist immer derselbe: Aus Beispielen wird eine Funktion gelernt, die dann auf neue Fragen antwortet. In diesem Teil gehen wir diesen Weg vollständig am kleinstmöglichen Beispiel durch — der Schätzung eines Wohnungspreises anhand der Fläche — und sagen bei jedem Schritt, wie er bei großen Modellen aussieht. Am Ende steht ein Glossar der Begriffe mit Links zu den Teilen, in denen du mehr über sie erfährst.
Er baut auf den Teilen Landkarte der künstlichen Intelligenz und Eine kurze Geschichte der KI auf.
1. Daten: Beispiele mit richtigen Antworten
Definition — Daten, Merkmale und Labels
Daten sind die Beispiele, aus denen das Modell lernt. Jedes Beispiel besteht aus
- Merkmalen — Eingaben, die wir darüber kennen (bei uns die Fläche der Wohnung),
- und beim überwachten Lernen auch aus einem Label — der richtigen Antwort (bei uns der Preis der Wohnung).
Die Daten werden in drei paarweise disjunkte Teile aufgeteilt, jeder mit einem anderen Zweck:
- Trainingsdaten — aus ihnen lernt das Modell (nach ihnen werden die Parameter gesucht);
- Validierungsdaten — nach ihnen stimmen wir die Einstellungen des Lernens ab und wählen zwischen Modellen;
- Testdaten — sie werden nur einmal verwendet, am Ende, um ehrlich zu schätzen, wie das Modell auf neuen Daten abschneidet.
Die genaue Schreibweise steht in der Definition „ein Datensatz formal“ unten.
Ein Lehrbuch mit Aufgaben und den Lösungen hinten. An den Übungsaufgaben lernst du, eine Probeklausur zeigt dir, ob du es kannst, und die echte Klausur (die du vorher nie gesehen hast) zeigt, wo du wirklich stehst.
Unsere Daten sind erfunden: 60 Wohnungen, jede mit ihrer Fläche (Merkmal) und ihrem Preis in Millionen tschechischer Kronen (Label). Der Preis steigt mit der Fläche, aber nicht genau — zwei gleich große Wohnungen unterscheiden sich in Lage, Zustand und Stockwerk. Wir teilen sie auf in 40 Trainings-, 10 Validierungs- und 10 Testwohnungen.
Definition — ein Datensatz formal
Seien d, n ∈ ℕ, d, n ≥ 1, und sei Y die Menge möglicher Labels (Y = ℝ bei der Regression, eine endliche Menge von Klassen bei der Klassifikation). Ein Datensatz ist eine endliche Folge von Paaren
D = ((x(1), y(1)), …, (x(n), y(n))), wobei x(i) ∈ ℝd und y(i) ∈ Y für i = 1, …, n.
Der Vektor x(i) enthält die d Merkmale des i-ten Beispiels, und y(i) ist sein Label. Man nimmt an, dass es eine (unbekannte) Wahrscheinlichkeitsverteilung auf ℝd × Y gibt, aus der die Paare unabhängig voneinander gezogen werden und aus der auch künftige Anfragen stammen.
Eine Aufteilung der Daten ist durch eine Zerlegung der Indexmenge in drei paarweise disjunkte Mengen gegeben,
{1, …, n} = Itr ∪ Ival ∪ Itest, Itr ∩ Ival = Itr ∩ Itest = Ival ∩ Itest = ∅;
die Teile der Daten sind Dtr = ((x(i), y(i)))i ∈ Itr und analog Dval, Dtest. Jedes Beispiel gehört also zu genau einem Teil. Bei uns ist d = 1 (Fläche), Y = ℝ (Preis in Millionen CZK), n = 60, und die Teile haben 40, 10 und 10 Beispiele.
Eine Tabelle, in der jede Zeile eine Wohnung ist: Spalten mit den Merkmalen und eine letzte Spalte mit dem Preis. Disjunkt heißt, dass keine Wohnung in zwei Teilen zugleich ist — sonst enthielte die „echte Klausur“ Beispiele, die das Modell schon gesehen hat. Und die Annahme derselben Verteilung besagt, dass die Testwohnungen vom selben Markt stammen wie die, nach denen wir später fragen; ohne sie würde der Fehler im Test nichts über die Zukunft aussagen.
Bei großen Sprachmodellen sind die Daten Billionen von Tokens Text aus dem Web, aus Büchern und Code; das Merkmal ist der bisherige Text und das Label das nächste Token (der Teil über das Vortraining). Das Prinzip ist dasselbe.
2. Modell: eine Funktion mit Parametern
Definition — Modell und Parameter
Sei X die Menge der Eingaben, Y die Menge der Ausgaben und Θ ⊆ ℝp, p ≥ 1, die Menge der zulässigen Parameterwerte. Ein Modell ist eine Familie von Funktionen
{fθ : X → Y | θ ∈ Θ},
d. h. für jede Wahl von θ = (θ1, …, θp) ∈ Θ eine Funktion, die aus der Eingabe x ∈ X die Ausgabe fθ(x) ∈ Y berechnet. Die Zahlen θ1, …, θp sind die Parameter des Modells (bei neuronalen Netzen Gewichte). Die Form der Funktion (und damit X, Y, Θ) wählen wir; die Werte der Parameter findet das Lernen.
Unser Modell ist eine Gerade: X = Y = ℝ, Θ = ℝ2, θ = (w, b) und fw,b(x) = w · x + b, wobei x die Fläche ist, w sagt, um wie viel der Preis mit jeder Flächeneinheit steigt, und b, wo die Gerade beginnt.
Ein Modell ist eine Maschine mit Drehknöpfen. Unsere hat zwei Knöpfe. Ein Sprachmodell hat Milliarden davon — aber es ist immer noch eine Maschine, die aus einer Eingabe eine Ausgabe berechnet, und sein „Wissen“ ist nichts anderes als die Stellung der Knöpfe.
ŷ = w · x + b
- ŷ
- der vorhergesagte Preis; das Dach unterscheidet ihn vom tatsächlichen Preis y, mit dem wir ihn dann vergleichen
- w
- Steigung — wie viele Millionen jeder zusätzliche Quadratmeter hinzufügt; ohne sie hinge der Preis gar nicht von der Fläche ab
- x
- Fläche in m², das einzige Merkmal; das Einzige, was das Modell über die Wohnung weiß
- b
- Achsenabschnitt — „der Preis einer Wohnung mit null Fläche“; ohne ihn müsste die Gerade durch den Ursprung gehen, und Wohnungspreise streben nicht gegen null
3. Training: die Parameter abstimmen
Definition — Verlustfunktion und Training
Sei {fθ : θ ∈ Θ}, Θ ⊆ ℝp, ein Modell und Dtr = ((x1, y1), …, (xn, yn)), n ≥ 1, die Trainingsdaten. Eine Verlustfunktion ist eine Funktion
J : Θ → [0, ∞),
die jeder Wahl der Parameter θ eine Zahl J(θ) zuordnet, die angibt, wie sehr sich das Modell fθ auf Dtr irrt — bei uns der Mittelwert der quadrierten Fehler (MSE), vollständig ausgeschrieben in der Aufschlüsselung unten. Das Training ist die Suche nach Parametern mit möglichst kleinem Verlust, idealerweise θ* ∈ argminθ ∈ Θ J(θ).
Ist J differenzierbar und Θ = ℝp, bezeichne ∇J(θ) = (∂J/∂θ1, …, ∂J/∂θp) ihren Gradienten. Der Gradientenabstieg ist der Algorithmus:
- Eingabe: Anfangsparameter θ0 ∈ ℝp, Lernrate η > 0, Anzahl der Schritte T ∈ ℕ.
- Ausgabe: die Parameter θT ∈ ℝp.
- Für t = 0, 1, …, T − 1 setze θt+1 = θt − η · ∇J(θt).
- Nach T Schritten beende und gib θT zurück.
Der Abstieg berechnet also in jedem Schritt, in welche Richtung der Verlust am schnellsten wächst, und verschiebt die Parameter um einen kleinen Schritt in die Gegenrichtung. Eine Epoche ist ein Durchlauf durch alle Trainingsdaten; bei unserem Abstieg, bei dem jeder Schritt den Gradienten aus allen n Beispielen berechnet, ist eine Epoche genau ein Schritt.
Nebel auf einem Berg und das Ziel, ins Tal zu kommen. Du siehst nur den Hang unter deinen Füßen, also machst du einen Schritt bergab, schaust wieder, nächster Schritt. Jeder Schritt ist eine Anpassung der Knöpfe; das Tal ist die Knopfstellung, mit der sich das Modell am wenigsten irrt.
Unsere Verlustfunktion, die mittlere quadratische Abweichung (MSE), vollständig ausgeschrieben:
J(w, b) = 1/n ∑i=1n ( w xi + b − yi )2
- J(w, b)
- der Verlust als Funktion der Parameter — die Daten sind fest, ändern dürfen wir nur w und b, deshalb stehen nur sie in der Klammer
- 1/n ∑
- der Mittelwert über alle n = 40 Trainingswohnungen — damit der Verlust für unterschiedlich große Daten vergleichbar ist und keine Wohnung Vorrang hat
- w xi + b − yi
- der Fehler bei der i-ten Wohnung: die Vorhersage ŷi minus der tatsächliche Preis; positiv, wenn das Modell zu hoch schätzt, negativ, wenn es zu niedrig schätzt
- 2
- das Quadrat — damit sich positive und negative Fehler nicht aufheben, große Fehler stärker zählen als kleine und sich der Verlust glatt ableiten lässt
Satz — der Gradient der MSE für eine Gerade
Seien n ≥ 1, (x1, y1), …, (xn, yn) ∈ ℝ2 die Trainingsdaten und J : ℝ2 → ℝ die MSE der Geraden,
J(w, b) = 1/n ∑i=1n (w xi + b − yi)2.
Wir bezeichnen ŷi = w xi + b für i = 1, …, n. Dann gilt für alle (w, b) ∈ ℝ2
∂J/∂w = 2/n ∑i=1n (ŷi − yi) · xi, ∂J/∂b = 2/n ∑i=1n (ŷi − yi).
Beweis. Die Ableitung einer Summe ist die Summe der Ableitungen, und der konstante Faktor 1/n bleibt beim Ableiten erhalten. Für einen einzelnen Term nach der Kettenregel: ∂/∂w (w xi + b − yi)2 = 2 (w xi + b − yi) · xi, weil das Innere der Klammer nach w die Ableitung xi hat; nach b hat es die Ableitung 1. ∎
Jede Wohnung „zieht“ an den Parametern, und zwar umso stärker, je mehr sich das Modell bei ihr geirrt hat. Bei w wird der Zug noch mit der Fläche multipliziert: Ein Fehler bei einer großen Wohnung sagt mehr über die Steigung aus als ein Fehler bei einem Einzimmerapartment.
Ein Schritt des Gradientenabstiegs verschiebt dann beide Parameter gegen den Gradienten:
w ← w − η · ∂J/∂w
- w
- der Parameter vor und nach dem Schritt — der Pfeil ← bedeutet „mit dem neuen Wert überschreiben“, nicht Gleichheit
- −
- wir gehen entgegen dem Gradienten, also bergab: Wir wollen den Verlust verkleinern, nicht vergrößern
- η
- Lernrate — wie lang der Schritt ist; der Gradient gilt nur in der Nähe des Punktes, also muss der Schritt klein sein (siehe nächstes Kapitel)
- ∂J/∂w
- der Gradient — in welche Richtung und wie steil der Verlust wächst, wenn wir w vergrößern
Das ganze Training als Algorithmus (genau so rechnet es die Abbildung unten):
w, b = 0, 0 # Anfangsparameter
for epocha in range(200): # Hyperparameter: Anzahl der Epochen
gw = gb = 0
for plocha, cena in trenovaci_data: # eine Epoche = alle Daten
x = plocha / 100 # Fläche in Hunderten von m²
chyba = (w * x + b) - cena # ŷ − y
gw += 2 * chyba * x / n # ∂J/∂w
gb += 2 * chyba / n # ∂J/∂b
w, b = w - eta * gw, b - eta * gb # Schritt bergab, eta = Lernrate
Die Fläche setzen wir in Hunderten von m² ein (52 m² → 0,52). In Metern käme der Gradient nach w Dutzende Male größer heraus als nach b, und eine einzige Lernrate würde nicht zu beiden Parametern gleichzeitig passen. Eine solche Merkmalsskalierung ist in der Praxis üblich. Deshalb ist w unten in Millionen pro 100 m² angegeben.
Beispiel — der erste Schritt des Abstiegs
Im Punkt w = b = 0 sagt das Modell überall 0 voraus, also ist der Fehler bei jeder Wohnung −yi. Der Gradient ist daher
∂J/∂w = −2 · 1/n ∑i=1n xi yi = −2 · 5,678 = −11,36, ∂J/∂b = −2 · ȳ = −2 · 6,88 = −13,76,
wobei 5,678 der Mittelwert der Produkte aus Fläche (in Hunderten von m²) und Preis ist und ȳ = 6,88 der mittlere Preis in Millionen. Mit der Lernrate η = 0,5 (die Farben entsprechen den Gliedern der Schrittformel oben):
w ← 0 − 0,5 · (−11,36) = 5,68, b ← 0 − 0,5 · (−13,76) = 6,88.
(w ist hier in Millionen pro 100 m².) Der Verlust sinkt von 54,2 auf 17,7. Beide Gradienten waren negativ (das Modell hat überall zu niedrig geschätzt), also sind beide Parameter gestiegen.
Wir beginnen mit w = 0 und b = 0 (das Modell sagt „alles kostet nichts“, Verlust 54,2) und führen 200 Epochen Gradientenabstieg aus. Das Ergebnis: w = 0,0910 Millionen pro m², also rund 91 000 CZK für jeden zusätzlichen Meter, und b = 0,35 Millionen. Die exakte Lösung nach der Methode der kleinsten Quadrate (für eine Gerade lässt sie sich mit einer Formel berechnen, siehe den Teil über lineare Regression) unterscheidet sich erst in der vierten Nachkommastelle. Der Abstieg ist dort angekommen, wo er hinsollte.
4. Hyperparameter: was wir selbst einstellen
Definition — Hyperparameter
Das Training ist ein Verfahren, das aus den Trainingsdaten Dtr und einer Einstellung h die Parameter θ* berechnet (z. B. der Gradientenabstieg oben). Hyperparameter sind die Bestandteile der Einstellung h: Größen, die die Form des Modells oder den Verlauf des Lernens beeinflussen, nicht Teil von θ sind, vom Training nicht verändert werden und von uns im Voraus gewählt werden. Dazu gehören:
- Form und Größe des Modells (die Form der Funktion fθ und die Menge Θ);
- die Lernrate η > 0 — wie groß ein Schritt des Gradientenabstiegs ist;
- die Anzahl der Epochen;
- die Größe eines Batches B ∈ {1, …, n} — wie viele Trainingsbeispiele für die Berechnung des Gradienten in einem Schritt verwendet werden.
Hyperparameter werden nach den Ergebnissen auf den Validierungsdaten Dval abgestimmt, nie auf den Testdaten.
Parameter sind das, was der Schüler lernt. Hyperparameter sind die Art, wie wir ihn unterrichten: wie schnell, wie lange, wie viele Beispiele auf einmal.
Mit einer Lernrate von 0,05 lernt das Modell langsam — nach 200 Epochen liegt sein Verlust bei 0,48, und es ist noch nicht am Ziel. Mit 0,5 erreicht es nach einigen Dutzend Epochen 0,165. Mit 1,6 sind die Schritte so groß, dass das Modell immer weiter über das Tal hinausspringt und der Verlust explodiert — nach fünf Epochen beträgt er 46 310 590. Die richtige Lernrate zu finden ist eine der häufigsten Abstimmungen im gesamten maschinellen Lernen.
Für eine Gerade und die MSE lässt sich genau berechnen, wo die Grenze zwischen „langsam“ und „explodiert“ liegt. Der Verlust ist eine quadratische Funktion der Parameter, also ist seine Krümmung überall gleich und wird durch zwei Zahlen beschrieben — die Krümmung in der steilen und in der flachen Richtung des Tals (die Eigenwerte λ der Hesse-Matrix, der Tabelle der zweiten Ableitungen).
et+1 = (1 − η λ) · et
- et+1
- der Abstand der Parameter von den besten Werten nach der nächsten Epoche (in einer der beiden Richtungen) — den wollen wir auf null bringen
- 1
- ohne Schritt bliebe der Abstand, wie er war; der Schritt nimmt ihm den Anteil η λ weg. Ist |1 − η λ| < 1, schrumpft der Abstand; ist es größer als 1, wächst er wie eine geometrische Folge
- η
- Lernrate — das Einzige, was wir hier wählen
- λ
- die Krümmung des Verlusts in der jeweiligen Richtung — durch die Daten gegeben, nicht durch uns; in der steilen Richtung ist der Gradient groß und der Schritt deshalb lang
- et
- der Abstand vor der Epoche; die Formel wiederholt sich, also gilt nach t Epochen et = (1 − η λ)t e0
Satz — wann der Gradientenabstieg konvergiert
Seien p ≥ 1, H ∈ ℝp×p eine symmetrische Matrix mit den Eigenwerten λ1, …, λp, wobei λmin = minj λj > 0 und λmax = maxj λj, θ* ∈ ℝp, c ∈ ℝ, und der Verlust sei die quadratische Funktion
J(θ) = c + 1/2 (θ − θ*)T H (θ − θ*), θ ∈ ℝp,
mit der Hesse-Matrix H und dem Minimum in θ*. Seien η ∈ ℝ und θt+1 = θt − η ∇J(θt) für t = 0, 1, 2, … Dann gilt θt → θ* für jeden Startpunkt θ0 ∈ ℝp genau dann, wenn
0 < η < 2/λmax.
Beweis. Es gilt ∇J(θ) = H(θ − θ*), also erfüllt die Abweichung et = θt − θ* die Gleichung et+1 = (I − ηH) et. In der Orthonormalbasis aus Eigenvektoren von H entwickelt sich die j-te Komponente et(j) als et+1(j) = (1 − η λj) et(j), also et(j) = (1 − η λj)t e0(j). Alle Komponenten gehen für jedes e0 genau dann gegen null, wenn |1 − η λj| < 1 für alle j gilt, d. h. 0 < η λj < 2; weil λj > 0, ist die Bedingung für λmax am strengsten. ∎
Beispiel — die Grenze für unsere Wohnungen
Für die MSE einer Geraden ist H = 2/n · [[∑xi2, ∑xi], [∑xi, n]] = [[1,193, 1,435], [1,435, 2]] (Fläche in Hunderten von m²). Die Eigenwerte ergeben sich zu λmax = 3,087 und λmin = 0,106, also konvergiert der Abstieg für η < 2/3,087 = 0,648. Die Farben entsprechen den Gliedern der Formel et+1 = (1 − η λ) · et oben.
η = 0,05: Der Faktor in der flachen Richtung ist 1 − 0,05 · 0,106 =0,9947; nach 200 Epochen bleiben 0,9947200 ≈ 35 % der ursprünglichen Abweichung — deshalb ist das Modell nicht am Ziel.
η = 0,5: Die Faktoren sind |1 − 0,5 · 3,087| = 0,544 und 1 − 0,5 · 0,106 = 0,947; nach 200 Epochen bleiben 0,947200 ≈ 2 · 10−5 der Abweichung — praktisch nichts.
η = 1,6 > 0,648: In der steilen Richtung ist |1 − 1,6 · 3,087| =3,94. Die Abweichung vervierfacht sich ungefähr mit jeder Epoche, und der Verlust, der mit ihrem Quadrat wächst, um das 15,5-Fache — im Diagramm von 801 auf 12 395.
Das Tal ist eine schmale Rinne: quer steil, längs fast eben. Die Lernrate muss klein genug für die steilen Wände sein, sonst springst du auf den gegenüberliegenden Hang, höher als du vorher warst. Doch dann kommst du längs der Rinne nur ganz langsam voran. Dieser Konflikt zwischen der steilen und der flachen Richtung ist der Grund, warum man bei großen Modellen klügere Varianten des Abstiegs verwendet.
5. Wie gut das Modell ist
Sei D′ ein beliebiger Teil der Daten mit m ≥ 1 Beispielen (x, y) und ŷ(x) = fθ*(x) die Vorhersage des trainierten Modells. Den Fehler auf D′ messen wir mit der Wurzel der mittleren quadratischen Abweichung (RMSE):
RMSE = √1/m ∑(x, y) ∈ D′ (ŷ(x) − y)2
- √
- die Wurzel bringt das Ergebnis von (Mio. CZK)² zurück in Millionen Kronen — die Zahl lässt sich als „typischer Fehler“ lesen
- 1/m ∑D′
- der Mittelwert über den gewählten Teil — Trainings-, Validierungs- oder Testdaten; jeder beantwortet eine andere Frage
- (ŷ(x) − y)2
- das Quadrat des Fehlers bei einer Wohnung, genau wie im Verlust — wir messen mit dem, was wir minimiert haben
Der durchschnittliche Fehler (die Wurzel der MSE) beträgt auf den Trainingsdaten 0,41 Millionen, auf den Validierungsdaten 0,60 und auf den Testdaten 0,51 Millionen, also rund eine halbe Million Kronen. Besser geht es mit einem einzigen Merkmal nicht: Das Rauschen, das wir den Preisen hinzugefügt haben (Lage, Zustand), ist genau so groß und lässt sich aus der Fläche nicht erraten. Wer eine genauere Schätzung will, braucht mehr Merkmale — keine klügere Gerade. Würden wir das Modell dagegen zu flexibel machen, lernte es das Rauschen der Trainingsdaten auswendig (Überanpassung) und läge bei neuen Wohnungen öfter daneben.
6. Inferenz: das Modell im Einsatz
Definition — Inferenz
Sei {fθ : θ ∈ Θ} ein Modell und θ* ∈ Θ die Parameter, die das Training gefunden hat. Inferenz ist die Berechnung der Vorhersage
ŷ = fθ*(x)
für eine neue Eingabe x ∈ X, wobei die Parameter θ* fest bleiben. Bei der Inferenz lernt das Modell nicht (sofern wir es nicht ausdrücklich neu trainieren). Bei Sprachmodellen ist jede Antwort Inferenz — das Modell erzeugt Token für Token und macht für jedes Token einen Durchlauf durch das Netz.
Training ist das Studium, Inferenz die Prüfung — oder die Arbeit. Studiert wird einmal und lange, gearbeitet dann täglich und schnell. Wenn du mit einem Chatbot schreibst, bringst du ihm nichts bei (das passiert zu einer anderen Zeit und auf andere Weise), du benutzt ihn nur.
Für eine Wohnung mit 65 m² schätzt unser Modell 6,27 Millionen. Das kostet 3 Rechenoperationen. Das Training hat rund 72 000 Operationen gekostet. Bei großen Modellen ist das Verhältnis ähnlich, nur in einem anderen Maßstab: Das Training dauert Monate auf Tausenden von Grafikkarten, eine Antwort Sekunden. Aber es gibt Milliarden von Antworten, sodass bei den meistgenutzten Modellen die Inferenz insgesamt mehr Rechenaufwand kosten kann als ihr Training — und deshalb wird so viel daran gearbeitet, Modelle kleiner und schneller zu machen.
Beispiel — Inferenz und die Anzahl der Operationen
Wir setzen die gelernten Parameter w = 9,0957 Millionen pro 100 m² (d. h. 0,0910 pro m²) und b = 0,3538 ein; die Fläche in Hunderten von m², x = 0,65:
ŷ = 9,0957 · 0,65 + 0,3538 = 5,9122 + 0,3538 = 6,2660 ≈ 6,27 Millionen
(die Farben entsprechen den Gliedern der Formel ŷ = w · x + b im Kapitel über das Modell).
Das sind 3 Operationen: eine Einheitenumrechnung (Division durch hundert), eine Multiplikation und eine Addition. Eine Trainingsepoche macht für jede der 40 Wohnungen eine Vorhersage, einen Fehler und beide Beiträge zum Gradienten — wir zählen rund 9 Operationen pro Wohnung (die genaue Zahl hängt davon ab, was wir als eine Operation betrachten), also 40 · 9 · 200 = 72 000 Operationen für das ganze Training. Das Verhältnis Training : eine Vorhersage beträgt 24 000 : 1.
7. Glossar
Die Begriffe aus diesem Teil und wo du in der Serie mehr über sie erfährst:
- Daten
- Beispiele, aus denen das Modell lernt — bei uns 60 Wohnungen mit Fläche und Preis — ausführlich
- Merkmal
- eine Eingabegröße eines Beispiels (die Fläche); ein Bild hat Tausende Merkmale — seine Pixel — ausführlich
- Label
- die richtige Antwort, die wir vorhersagen wollen (der Preis) — ausführlich
- Trainings-, Validierungs- und Testdaten
- auf den ersten lernt das Modell, auf den zweiten werden die Einstellungen abgestimmt, die dritten werden einmal am Ende verwendet — ausführlich
- Modell
- eine Funktion mit einstellbaren Parametern, die aus einer Eingabe eine Ausgabe berechnet — ausführlich
- Parameter (Gewicht)
- eine Zahl im Modell, die gelernt wird; Sprachmodelle haben Milliarden davon — ausführlich
- Verlustfunktion
- eine Zahl, die misst, wie sehr sich das Modell irrt; das Lernen macht sie kleiner — ausführlich
- Training (Lernen)
- die Suche nach Parametern, bei denen der Verlust auf den Trainingsdaten klein ist — ausführlich
- Gradient
- die Richtung, in der der Verlust am schnellsten wächst; das Training geht in die Gegenrichtung — ausführlich
- Epoche
- ein Durchlauf durch alle Trainingsdaten — ausführlich
- Batch
- wie viele Beispiele für einen Lernschritt verwendet werden — ausführlich
- Hyperparameter
- eine Einstellung, die wir selbst wählen und die das Modell nicht lernt (Lernrate, Anzahl der Epochen, Modellgröße) — ausführlich
- Überanpassung (Overfitting)
- das Modell lernt die Trainingsdaten auswendig und versagt bei neuen Daten — ausführlich
- Inferenz
- die Anwendung eines trainierten Modells auf eine neue Eingabe — das, was passiert, wenn du einen Chatbot fragst — ausführlich
- Token
- ein Stück Text, mit dem ein Sprachmodell arbeitet — ausführlich
- Embedding
- ein Vektor aus Zahlen, der ein Wort, ein Bild oder ein anderes Objekt darstellt — ausführlich
- Kontext und Prompt
- der gesamte Text, den das Modell bei der Inferenz bekommt — ausführlich
8. Zusammenfassung
- Daten = Beispiele mit Merkmalen und Labels, aufgeteilt in einen Trainings-, einen Validierungs- und einen Testteil.
- Modell = eine Funktion mit Parametern; das Training sucht die Parameter mit dem kleinsten Verlust, typischerweise per Gradientenabstieg.
- Unser Modell hat 91 000 CZK pro m² gelernt — genau wie die exakte Berechnung.
- Die Hyperparameter wählen wir: Mit einer kleinen Lernrate ist das Training langsam, mit einer großen fällt es auseinander.
- Der Testfehler (0,51 Mio.) entspricht dem Rauschen in den Daten; ein besseres Modell braucht mehr Merkmale.
- Inferenz = Anwendung eines trainierten Modells; sie ist pro Anfrage billig, aber es gibt eine riesige Menge an Anfragen.
Willst du es selbst ausprobieren? Bitte einen KI-Agenten, echte Daten zu Wohnungspreisen in deiner Stadt herunterzuladen, sie in drei Teile aufzuteilen und dieselbe Gerade zu trainieren — und dann ein zweites Merkmal hinzuzufügen (etwa die Entfernung zum Zentrum) und den Testfehler zu vergleichen.
Siehst du das anders? Schreib an support@coden-app.com.