Definition: Vanishing Gradient Problem

Beim Training Neuronaler Netze, werden die Gewichte der Layer auf Basis des Gradientenabstiegsverfahrens (nämlich ) aktualisiert.

Beim Vanishing Gradient Problem geht der Gradient gegen . Dadurch gilt - das Gradientenabstiegsverfahren kommt also gar nicht voran.

Ursachen für das Problem können vielfältig sein, lassen sich jedoch oft zurückführen auf

  • die verwendete Aktivierungsfunktion
    • der Gradient der Schwellenwert-Aktivierungsfunktion ist immer ,
    • der Gradient der Sigmoid/tanh-Aktivierungsfunktion geht für große und kleine Werte gegen ,
  • schlechte Initialisierung der Gewichte
    • der Gradient der ReLU-Funktion ist , wenn die Gewichte nicht positiv initialisiert werden.
    • Sigmoid- und tanh-Aktivierungsfunktionen gehen für zu kleine und zu große Gewichte gegen .
  • oder auf die Tiefe des Netzwerks.

Anmerkung

Tiefe des Netzes als Ursache des Vanishing Gradient Problems

Bei tiefen neuronalen Netzen treten gleich zwei Probleme auf:

Problem 1:

Der Informationsgehalt, der noch bei den letzten Layern ankommt ist sehr gering:

Initial besteht das Neuronale Netz aus vielen zufällig initialisierten (bspw. mit Xavier) Schichten.

Je mehr Schichten, desto weniger sinnvolles “Signal” und desto mehr nutzloses “Rauschen”, das mit dem Input nicht mehr sonderlich viel zu tun hat, kommt bei den letzten Layern des Netzes an.

Bei der Berechnung des Gradienten haben wir dasselbe Problem: Weil der Gradient über die Kettenregeln von all den späten Layern im Netzwerk beinflusst wird, ist der Informationsgehalt des Gradienten, der bei den frühen Layern ankommt ebenfalls sehr gering.

Lösung: Dieses Problem wird primär durch Residual-Blöcke angegangen.

Problem 2:

Bei der Backpropagation müssen sehr viele Multiplikationen mit möglicherweise niedrigen Werten durchgeführt werden:

Das ist das klassische Vanishing Gradient Problem viele Multiplikationen niedriger Werte miteinander ergeben einen umso niedrigeren Wert - je mehr Layer also, desto schlimmer.