W jaki sposób LSTM zapobiega problemowi zanikania gradientu?

35

LSTM został opracowany specjalnie w celu uniknięcia problemu zanikania gradientu. Ma to zrobić za pomocą karuzeli Constant Error (CEC), która na poniższym schemacie ( Greff i in. ) Odpowiada pętli wokół komórki .

LSTM
(źródło: deeplearning4j.org )

Rozumiem, że ta część może być postrzegana jako rodzaj funkcji tożsamości, więc pochodna jest jedna, a gradient pozostaje stały.

Nie rozumiem tylko, jak nie znika z powodu innych funkcji aktywacyjnych? Bramki wejściowe, wyjściowe i zapomniane używają sigmoidu, którego pochodna wynosi co najwyżej 0,25, a g i h były tradycyjnie tanh . W jaki sposób propagacja wsteczna przez te nie powoduje zniknięcia gradientu?

TheWalkingCube
źródło
2
LSTM to cykliczny model sieci neuronowej, który jest bardzo wydajny w zapamiętywaniu długoterminowych zależności i który nie jest podatny na znikający problem gradientu. Nie jestem pewien, jakiego rodzaju wyjaśnienia szukasz
TheWalkingCube
LSTM: Długa pamięć krótkotrwała. (Patrz: Hochreiter, S. and Schmidhuber, J. (1997). Long Short-Term Memory. Neural Computation 9 (8): 1735-80 · December 1997)
horaceT
Gradienty w LSTM znikają, tylko wolniej niż w waniliowych RNN, umożliwiając im wychwycenie bardziej odległych zależności. Unikanie problemu znikania gradientów jest nadal obszarem aktywnych badań.
Artem Sobolev
1
Chcesz wesprzeć wolniejszego znikanie referencją?
bayerj
powiązane: quora.com/…
Pinocchio

Odpowiedzi:

22

Znikający gradient najlepiej wyjaśnić w przypadku jednowymiarowym. Wielowymiarowość jest bardziej skomplikowana, ale zasadniczo analogiczna. Możesz to przejrzeć w tym doskonałym artykule [1].

Załóżmy, że mamy stanie ukrytym w momencie kroku t . Jeśli upraszczamy rzeczy i usuwamy błędy i dane wejściowe, otrzymujemy h t = σ ( w h t - 1 ) . Następnie możesz to pokazaćhtt

ht=σ(wht1).

Faktoring oznaczony !!! jest kluczowy. Jeśli waga nie jest równa 1, to albo spadnie do zera gwałtownie wt-t, albo wzrośnie wykładniczo szybko.

htht=k=1ttwσ(whtk)=wtt!!!k=1ttσ(whtk)
tt

W LSTMs masz stan komórki . Pochodna ma postać s t st Tutajvtjest wejściem do bramki zapomnienia. Jak widać, nie ma w tym przypadku wykładniczo szybkiego rozkładu. W związku z tym istnieje co najmniej jedna ścieżka, w której gradient nie znika. Aby uzyskać pełne wyprowadzenie, patrz [2].

stst=k=1ttσ(vt+k).
vt

[1] Pascanu, Razvan, Tomas Mikolov i Yoshua Bengio. „Trudność szkolenia nawracających sieci neuronowych”. ICML (3) 28 (2013): 1310–1318.

[2] Bayer, Justin Simon. Reprezentacje sekwencji uczenia się. Diss. München, Technische Universität München, Diss., 2015, 2015.

bayerj
źródło
3
Czy dla lstm h_t również nie zależy od h_ {t-1}? Co masz na myśli mówiąc, że ds_t / d_s {t-1} „jest jedyną częścią, w której gradienty przepływają w czasie”?
user3243135,
@ user3243135 h_t zależy od h_ {t-1}. Załóżmy jednak, że ds_t / d_s {t-1} jest zachowane, nawet jeśli inne przepływy gradientu znikną, cały przepływ gradientu nie zniknie. To rozwiązuje zanikanie gradientu.
piątek
Zawsze myślałem, że głównym problemem był termin ponieważ jeśli σ ( z ) jest zwykle pochodną sigmoidu (lub czegoś o pochodnej mniejszej niż 1), która spowodował na pewno gradient zanikania (np. sigmoidy mają wielkość <1, a ich pochodną jest σ ( x ) = σ ( z ) ( 1 - σ ( z ) )
ttσ(whtk)
σ(z)σ(x)=σ(z)(1σ(z))czyli na pewno <1). Czy nie dlatego ReLU zostały zaakceptowane w CNN? Jest to jedna rzecz, która zawsze myliła mnie co do różnicy w sposobie eliminowania gradientu zanikania w modelach przekazywania z wyprzedzeniem w porównaniu z modelami powtarzającymi się. Wszelkie wyjaśnienia na ten temat?
Pinokio
Gradient sigmoidu może również stać się problemem, zakładając rozkład danych wejściowych o dużej wariancji i / lub średniej od 0. Jednak nawet jeśli używasz ReLU, główny problem utrzymuje się: wielokrotne mnożenie przez macierz wag (zwykle małe ) powoduje zanikanie gradientów, aw niektórych przypadkach, gdy regularyzacja nie była odpowiednia, eksplodowanie gradientów.
Ataxias
3

Obraz bloku LSTM z Greffa i in. (2015) opisuje wariant, który autorzy nazywają waniliowym LSTM . Różni się nieco od oryginalnej definicji z Hochreiter i Schmidhuber (1997). Oryginalna definicja nie zawierała bramki „zapomnij” i połączeń wizjera.

Termin karuzela o stałym błędzie został użyty w oryginalnym artykule do oznaczenia powtarzającego się połączenia stanu komórki. Rozważ oryginalną definicję, w której stan komórki zmienia się tylko poprzez dodanie, gdy brama wejściowa zostanie otwarta. Gradient stanu komórki w stosunku do stanu komórki na wcześniejszym etapie czasowym wynosi zero.

Błąd może nadal wejść do CEC przez bramkę wyjściową i funkcję aktywacji. Funkcja aktywacji nieco zmniejsza wielkość błędu przed dodaniem go do CEC. CEC jest jedynym miejscem, w którym błąd może przepływać bez zmian. Ponownie, gdy brama wejściowa się otworzy, błąd wychodzi przez bramę wejściową, funkcję aktywacji i transformację afiniczną, zmniejszając wielkość błędu.

Zatem błąd jest redukowany, gdy jest on propagowany wstecz przez warstwę LSTM, ale tylko wtedy, gdy wchodzi i wychodzi z CEC. Ważne jest to, że nie zmienia się w CEC bez względu na to, jak długo przebywa dystans. Rozwiązuje to problem w podstawowej sieci RNN, że za każdym razem, gdy krok stosuje transformację afiniczną i nieliniowość, co oznacza, że ​​im większa odległość czasowa między wejściem a wyjściem, tym mniejszy błąd.

Seppo Enarvi
źródło
2

http://www.felixgers.de/papers/phd.pdf Proszę zapoznać się z sekcjami 2.2 i 3.2.2, w których wyjaśniono część skróconego błędu. Nie propagują błędu, jeśli wycieknie on z pamięci komórki (tj. Jeśli jest zamknięta / aktywowana bramka wejściowa), ale aktualizują wagi bramki na podstawie błędu tylko w tym momencie. Później jest zerowane podczas dalszej propagacji wstecznej. Jest to rodzaj włamania, ale powodem jest to, że błąd przepływu wzdłuż bram i tak zanika z czasem.

Suresh
źródło
7
Czy mógłbyś trochę rozszerzyć tę kwestię? W tej chwili odpowiedź nie będzie miała wartości, jeśli zmieni się lokalizacja łącza lub papier zostanie wyłączony. Przynajmniej pomogłoby to podać pełne cytowanie (odniesienie), które pozwoli na ponowne znalezienie papieru, jeśli link przestanie działać, ale najlepsze byłoby krótkie podsumowanie, które sprawia, że ​​ta odpowiedź jest samodzielna.
Silverfish
2

Chciałbym dodać trochę szczegółów do zaakceptowanej odpowiedzi, ponieważ uważam, że jest ona nieco bardziej szczegółowa, a niuans może nie być oczywisty dla kogoś, kto pierwszy pozna RNN.

htht=k=1ttwσ(whtk)

stst=k=1ttσ(vt+k)

  • tt
  • odpowiedź brzmi tak , dlatego LSTM będzie również cierpieć z powodu zanikania gradientów, ale nie tak bardzo, jak waniliowy RNN

wσ()σ()

σ()1
vt+k=wxwxw

x=1w=10 vt+k=10σ()=0.99995

(0.99995)tt

wσ(whtk)1

htk=1wσ(w1) osiąga maksimum 0,224 w w=1,5434. Oznacza to, że gradient zaniknie, ponieważ

(0,224)t-t

Kevin
źródło