Gradientenbasierte Optimierung
Viele Lernverfahren formulieren Lernen als Optimierungsproblem. Eine Verlustfunktion misst, wie groß der Fehler des Modells auf den Trainingsdaten ist. Der Gradient zeigt dann an, in welche Richtung sich die Parameter besonders stark verändern müssen.
Gradientenbasierte Verfahren sind besonders wichtig für neuronale Netze. In diesem Unterkapitel sollen sie daher nicht in aller Allgemeinheit sondern mit der Zielrichtung des Trainings Neuronaler Feedforward-Netze (FNNs) eingeführt werden. Es wird aber auch auf Verfahren höherer Ordnung kurz eingegangen.
Im den weiteren Abschnitten des Kapitels diskutieren wir:
- Formulierung des FNN-Trainings als Optimierungsproblem, Definition der beteiligten Funktionen
- Das Gradientenabstiegsverfahren am Beispiel eines Neurons
- Verfahrensüberblick und Alternativen: Warum wird gerade das Gradientenabstiegsverfahren oft eingesetzt und welche Alternativen gibt es?
- Gradienten-Schätzung durch Minibatches und Verbesserungen durch verschiedene Optimizer
- Backpropagation: Wie können Gradienten effizient mit Dynamic Programming bestimmt werden?
1 Optimierungsproblem: Training von FNNs
Wie lassen sich die Parameter eines FNNs zur Vorhersage eines Trainingsdatensatzes anpassen?
2 Gradientenabstiegsverfahren
Ein grundlegendes Verfahren zum Minimieren einer Verlustfunktion
3 Verfahrensüberblick und Alternativen
Gegenüberstellung, Verfahren höherer Ordnung
4 Mini-Batch-Verfahren und Optimizer
Gradienten aus kleinen Gruppen von Trainingsbeispielen berechnen, Verschiedene Verwendungsansätze des Gradienten
5 Backpropagation
Gradienten in neuronalen Netzen effizient berechnen
6 Mathematischer Anhang: Differentialrechnung
Unterseite zu Mathematischer Anhang: Differentialrechnung
