Regularisierung
Alles, was ein Modell davon abhält, seine Trainingsdaten auswendig zu lernen: Weight Decay, Dropout, frühes Stoppen und mehr Daten.
Die Idee
Ein Schüler, der alle Prüfungsfragen der letzten Jahre auswendig lernt, besteht die Wiederholung glänzend und die neue Prüfung nicht. Regularisierung ist alles, was ihn zwingt, statt der Antworten das Prinzip zu lernen.
Die vier Hebel
| Hebel | Was er tut |
|---|---|
| Mehr Daten | Auswendiglernen wird schlicht zu aufwendig |
| Weight Decay | Große Gewichte werden bestraft, das Modell bleibt glatt |
| Dropout | Zufällig abgeschaltete Neuronen erzwingen Redundanz |
| Frühes Stoppen | Training endet, bevor die Validierung schlechter wird |
Wann was hilft
- 01
Erst prüfen, ob überhaupt Überanpassung vorliegt
Nur wenn der Validierungsverlust steigt, während der Trainingsverlust fällt. Sonst ist Regularisierung das falsche Mittel.
- 02
Datenaugmentierung vor Algorithmus
Bei Bildern Spiegeln, Zuschneiden, Farbjitter; bei Text Rückübersetzung und Paraphrasen. Das wirkt fast immer stärker als ein Hyperparameter.
- 03
Weight Decay einstellen
Über eine logarithmische Suche in drei Größenordnungen, gemessen an der Validierung.
- 04
Frühes Stoppen mit Geduld
Nicht beim ersten schlechteren Wert abbrechen, sondern nach einer festgelegten Anzahl von Epochen ohne Verbesserung.
# Fruehes Stoppen, wie es tatsaechlich aussieht
bester, geduld, wartet = float("inf"), 5, 0
for epoche in range(200):
val = trainiere_eine_epoche() # Platzhalter
if val < bester - 1e-4:
bester, wartet = val, 0
speichere_bestes_modell() # nicht das letzte, das beste
else:
wartet += 1
if wartet >= geduld:
breakDie Formeln
L1 erzeugt Sparsamkeit, weil der Gradient des Betrags konstant ±λ ist und
kleine Gewichte deshalb bis auf null gedrückt werden. Bei L2 ist der Gradient
2λθ und wird mit dem Gewicht selbst klein, sodass nichts exakt null wird.
Weight Decay ist nicht L2
Bei Adam sind die beiden nicht äquivalent. L2 addiert den Strafterm in den
Gradienten, wird also durch √v̂ mitskaliert und wirkt auf Parameter mit großem
Gradienten schwächer. AdamW zieht den Decay stattdessen direkt vom Gewicht ab:
Dieser Unterschied ist der Grund, warum AdamW bei Transformern durchweg besser abschneidet als Adam mit L2 im Verlust.
Dropout, korrekt skaliert
Bei Trainingszeit wird jede Aktivierung mit Wahrscheinlichkeit p auf null
gesetzt und der Rest mit 1/(1−p) hochskaliert. So bleibt der Erwartungswert
gleich, und zur Inferenz muss nichts angepasst werden. Wer diese Skalierung
vergisst, bekommt bei p = 0,5 ein Modell, dessen Ausgaben in der Anwendung
systematisch doppelt so groß sind wie im Training.
Passende Kurse und Quellen
Deep Learning
Das Standardwerk von Goodfellow, Bengio und Courville, frei lesbar. Mathematisch dicht, vollständig, und in den Grundlagenteilen zeitlos.
Für den systematischen Zugang. Als Nachschlagewerk stark, als Einstieg zu dicht.
Dropout
Zufälliges Abschalten von Neuronen als Regularisierung. Einfach, wirksam und bis heute im Einsatz.
Einfach, wirksam und bis heute im Einsatz; gut lesbar auch ohne tiefe Vorkenntnis.
MIT 6.036 Einführung in Machine Learning
Formaler als die meisten Onlinekurse, mit Herleitungen statt Rezepten. Passt gut nach einem praktischen Kurs, wenn die Frage nach dem Warum offen bleibt.
Für alle, denen nach einem Praxiskurs die Frage nach dem Warum offen geblieben ist.
The Elements of Statistical Learning
Die statistische Sicht auf maschinelles Lernen, seit zwanzig Jahren die Referenz für Bias, Varianz und Modellwahl. Anspruchsvoll, frei als PDF.
Für alle mit statistischem Vorwissen; ohne dieses ist der Einstieg mühsam.