Ich habe Grundkenntnisse über die Funktionsweise von RNNs (und insbesondere von LSTMs). Ich habe eine bildliche Vorstellung von der Architektur einer LSTM-Einheit, dh einer Zelle und einiger Tore, die den Wertefluss regulieren.
Anscheinend habe ich jedoch nicht vollständig verstanden, wie LSTM das Problem des "Verschwindens und Explodierens von Gradienten" löst, das beim Trainieren eines herkömmlichen RNN unter Verwendung der Rückübertragung durch die Zeit auftritt. Ich hatte nicht die Gelegenheit, die Zeitungen zu lesen, um die Mathematik vollständig zu verstehen.
Diese Antwort gibt eine kurze Erklärung, wie RNNs mit LSTM-Einheiten das Problem der "verschwindenden Gradienten" lösen. Mathematisch scheint der Grund das Nichtvorhandensein eines Derivats zu sein, das nicht verschwindet, dh nicht gegen Null tendiert. Infolgedessen stellt der Autor fest, "dass es mindestens einen Pfad gibt, auf dem der Gradient nicht verschwindet". IMHO ist diese Erklärung ein bisschen vage.
In der Zwischenzeit las ich den Artikel Sequenz zu Sequenz Lernen mit neuronalen Netzen (von Ilya Sutskever, Oriol Vinyals, Quoc V. Le) und in diesem Artikel wird in Abschnitt "3.4 Trainingsdetails" darauf hingewiesen
Obwohl LSTMs dazu neigen, nicht unter dem Problem des verschwindenden Gradienten zu leiden, können sie explodierende Gradienten aufweisen.
Ich habe immer gedacht, dass RNNs mit LSTM-Einheiten sowohl das Problem des "Verschwindens" als auch des "Explodierens von Gradienten" lösen, aber anscheinend leiden RNNs mit LSTM-Einheiten auch unter "Explodieren von Gradienten".
Intuitiv, warum ist das so? Was sind mathematisch die Gründe?