Neuronale Netzwerke: Training mit Rückpropagierung

Backpropagation ist der gängigste Trainingsalgorithmus für neuronale Netze. Sie macht den Gradientenabstieg für mehrschichtige neuronale Netzwerke möglich. Viele Codebibliotheken für maschinelles Lernen (z. B. Keras) führen die Backpropagation automatisch aus, sodass Sie die zugrunde liegenden Berechnungen nicht selbst durchführen müssen. Im folgenden Video erhalten Sie einen konzeptionellen Überblick über die Funktionsweise der Backpropagation:

Best Practices für das Training neuronaler Netzwerke

In diesem Abschnitt werden die Fehlerfälle der Backpropagation und die gängigste Methode zur Regularisierung eines neuronalen Netzwerks erläutert.

Verschwindende Gradienten

Die Gradienten für die unteren neuronalen Netzwerkebenen (die näher an der Eingabeebene liegen) können sehr klein werden. In tiefen Netzwerken (Netzwerken mit mehr als einer verborgenen Ebene) kann die Berechnung dieser Gradienten die Multiplikation vieler kleiner Terme umfassen.

Wenn die Gradientenwerte für die unteren Ebenen gegen 0 gehen, spricht man von „verschwindenden“ Gradienten. Ebenen mit verschwindenden Gradienten werden sehr langsam oder gar nicht trainiert.

Die ReLU-Aktivierungsfunktion kann helfen, verschwindende Gradienten zu verhindern.

Explodierende Gradienten

Wenn die Gewichte in einem Netzwerk sehr groß sind, enthalten die Gradienten für die unteren Ebenen Produkte vieler großer Terme. In diesem Fall kann es zu explodierenden Gradienten kommen, die zu groß sind, um zu konvergieren.

Die Batch-Normalisierung kann dazu beitragen, explodierende Gradienten zu verhindern. Das gilt auch für eine niedrigere Lernrate.

Inaktive ReLU-Einheiten

Sobald die gewichtete Summe für eine ReLU-Einheit unter 0 fällt, kann die ReLU-Einheit hängen bleiben. Die Ausgabe ist 0, was nichts zur Ausgabe des Netzwerks beiträgt. Außerdem können während der Backpropagation keine Gradienten mehr durch sie fließen. Wenn die Quelle der abgeschnittenen Gradienten nicht mehr vorhanden ist, ändert sich die Eingabe für die ReLU möglicherweise nie so stark, dass die gewichtete Summe wieder über 0 liegt.

Durch Senken der Lernrate kann verhindert werden, dass ReLU-Einheiten sterben.

Dropout-Regularisierung

Eine weitere Form der Regularisierung, die als Dropout-Regularisierung bezeichnet wird, ist für neuronale Netze nützlich. Dabei werden für einen einzelnen Gradientenschritt zufällig Einheitenaktivierungen in einem Netzwerk „herausgelassen“. Je mehr Sie auslassen, desto stärker ist die Regularisierung:

  • 0,0 = Keine Dropout-Regularisierung.
  • 1,0 = Alle Knoten entfernen. Das Modell lernt nichts.
  • Werte zwischen 0,0 und 1,0 = nützlicher.