Antwort 1:

Wenn Sie den mathematischen Ausdruck für ein RNN oder ein grundlegendes künstliches neuronales Netzwerk im Allgemeinen sehen würden, werden Sie feststellen, dass der Ausdruck für den Gradienten die Multiplikation der Gewichte für eine bestimmte Ebene einschließt. Und die Gewichte in den äußersten Schichten müssen die konstante Matrixmultiplikation auf der Grundlage des abgeleiteten Ausdrucks durchlaufen.

Wenn daher der Gradientenwert kleiner als 1 wird, würde die nachfolgende Multiplikation eine Zahl ergeben, deren Größe noch geringer ist. Stellen Sie sich intuitiv vor, Sie hätten 0,9 als Gewicht, wenn Sie die Multiplikation berechnen, und es wird 0,81, was kleiner ist. Schließlich wird der Gradient so klein, dass er verschwindet, und an dieser Stelle sagen wir, dass es sich um ein verschwindendes Gradientenproblem handelt. Das Endergebnis stoppt je nach anfänglichem Zeitstempel vollständig.

Wenn andererseits die Werte von Verläufen größer als 1 werden, nimmt der Wert der fortgesetzten Matrixmultiplikation exponentiell zu (es ist leicht zu erkennen, dass a ^ x für a> 1 exponentiell ist) NaN-Werte oder Werte mit solch hohen Größen, dass das Modell explodiert oder abstürzt. Das würde man als explodierendes Gradientenproblem bezeichnen.

Vor allem aufgrund dieser beiden Hauptprobleme haben wir GRUs, LSTMs und andere Arten von Gated-Modellen entwickelt, um letztendlich an Robustheit zu gewinnen.

Vielleicht möchten Sie einen Blick auf diesen mittelgroßen Blog werfen, der dieses Zeug ziemlich gut erklärt:

https://link.medium.com/J6yjXw2xCS

Ich hoffe das hilft :)

Prost !