Die Backpropagation ist der gängigste Trainingsalgorithmus für neuronale Netze. Sie macht den Gradientenabstieg für mehrschichtige neuronale Netze möglich. Viele Codebibliotheken für maschinelles Lernen (z. B. Keras) übernehmen die Backpropagation automatisch. Sie müssen also keine der zugrunde liegenden Berechnungen selbst ausführen. Im folgenden Video erhalten Sie einen konzeptionellen Überblick über die Funktionsweise der Backpropagation:
Best Practices für das Training von neuronalen Netzwerken
In diesem Abschnitt werden die Fehlerfälle der Backpropagation und die gängigste Methode zur Regularisierung eines neuronalen Netzes erläutert.
Verschwindende Farbverläufe
Die Gradienten für die unteren Schichten des neuronalen Netzes (die näher an der Eingabeschicht liegen) können sehr klein werden. In tiefen Netzwerken (Netzwerken mit mehr als einer verborgenen Schicht) kann die Berechnung dieser Gradienten das Produkt vieler kleiner Terme erfordern.
Wenn die Farbverlaufswerte für die unteren Ebenen gegen 0 gehen, werden die Farbverläufe als „verschwindend“ bezeichnet. Ebenen mit verschwindenden Gradienten werden sehr langsam oder gar nicht trainiert.
Die ReLU-Aktivierungsfunktion kann dazu beitragen, das Verschwinden von Farbverläufen zu verhindern.
Explodierende Farbverläufe
Wenn die Gewichtungen in einem Netzwerk sehr groß sind, umfassen die Gradienten für die unteren Schichten Produkte mit vielen großen Termen. In diesem Fall kann es zu explodierenden Gradienten kommen, die zu groß werden, um zu konvergieren.
Die Batchnormalisierung kann dazu beitragen, explodierende Gradienten zu verhindern, ebenso wie eine niedrigere Lernrate.
Totgesagte ReLU-Einheiten
Sobald die gewichtete Summe für eine ReLU-Einheit unter 0 fällt, kann die ReLU-Einheit stecken bleiben. Es gibt den Wert 0 aus, trägt also nicht zur Ausgabe des Netzwerks bei, und während der Backpropagation können keine Gradienten mehr durch das Netzwerk fließen. Wenn eine Gradientenquelle abgeschnitten wird, ändert sich die Eingabe für die ReLU möglicherweise nie so weit, dass die gewichtete Summe wieder über 0 liegt.
Durch eine niedrigere Lernrate kann verhindert werden, dass ReLU-Einheiten verschwinden.
Dropout-Regularisierung
Eine weitere Form der Regularisierung, die sogenannte Dropout-Regularisierung, ist für neuronale Netze nützlich. Dabei werden Aktivierungen von Einheiten in einem Netzwerk für einen einzelnen Gradientenschritt nach dem Zufallsprinzip „entfernt“. Je mehr Sie auslassen, desto stärker ist die Regularisierung:
- 0.0 = Keine Dropout-Regelierung.
- 1,0 = Alle Knoten werden entfernt. Das Modell lernt nichts.
- Werte zwischen 0,0 und 1,0 = Nützlicher