Mam podstawową wiedzę na temat działania RNN (a zwłaszcza jednostek LSTM). Mam obrazowe wyobrażenie o architekturze jednostki LSTM, czyli komórki i kilku bramek, które regulują przepływ wartości.
Jednak najwyraźniej nie do końca zrozumiałem, w jaki sposób LSTM rozwiązuje problem „znikania i eksplodowania gradientów”, który pojawia się podczas treningu, z wykorzystaniem propagacji wstecznej w czasie, konwencjonalnego RNN. Nie miałem okazji czytać gazet, aby w pełni zrozumieć matematykę.
Ta odpowiedź zawiera krótkie wyjaśnienie, w jaki sposób RNN z jednostkami LSTM rozwiązują problem „zanikających gradientów”. Matematycznie przyczyną wydaje się być nieistnienie pochodnej, która nie znika, tzn. Nie dąży do zera. W związku z tym autor stwierdza: „istnieje co najmniej jedna ścieżka, na której gradient nie zanika”. IMHO, to wyjaśnienie jest trochę niejasne.
W międzyczasie czytałem artykuł „ Sekwencja do uczenia się za pomocą sekwencji z sieciami neuronowymi” (autor: Ilya Sutskever, Oriol Vinyals, Quoc V. Le) oraz, w tym artykule, rozdział „3.4 Szczegóły treningu”
Chociaż LSTM zwykle nie cierpią z powodu znikającego gradientu gradientu, mogą mieć wybuchające gradienty.
Zawsze uważałem, że RNN z jednostkami LSTM rozwiązują zarówno problemy „znikania”, jak i „eksplodujących gradientów”, ale najwyraźniej RNN z jednostkami LSTM również cierpią z powodu „eksplodujących gradientów”.
Intuicyjnie, dlaczego tak jest? Matematycznie, jakie są przyczyny?