Mengapa RNNs dengan unit LSTM juga menderita "meledak gradien"?

13

Saya memiliki pengetahuan dasar tentang bagaimana RNN (dan, khususnya, dengan unit LSTM) bekerja. Saya punya ide gambar arsitektur unit LSTM, yaitu sel dan beberapa gerbang, yang mengatur aliran nilai.

Namun, tampaknya, saya belum sepenuhnya memahami bagaimana LSTM memecahkan masalah "gradien menghilang dan meledak", yang terjadi saat pelatihan, menggunakan back-propagation melalui waktu, RNN konvensional. Saya belum berkesempatan membaca koran untuk memahami matematika sepenuhnya.

Jawaban ini memberikan penjelasan singkat tentang bagaimana RNN dengan unit LSTM memecahkan masalah "gradien hilang". Secara matematis, alasannya tampaknya adalah tidak adanya turunan yang tidak lenyap, yaitu tidak cenderung nol. Akibatnya, penulis menyatakan, "setidaknya ada satu jalur di mana gradien tidak hilang". IMHO, penjelasan ini agak kabur.

Sementara itu, saya membaca makalah Sequence to Sequence Learning dengan Neural Networks (oleh Ilya Sutskever, Oriol Vinyals, Quoc V. Le), dan, dalam makalah itu, bagian "3.4 detail pelatihan", dinyatakan

Meskipun LSTM cenderung tidak menderita masalah gradien hilang, mereka dapat memiliki gradien meledak.

Saya selalu berpikir bahwa RNN dengan unit LSTM memecahkan masalah "menghilang" dan "meledak gradien", tetapi, tampaknya, RNN dengan unit LSTM juga menderita "meledak gradien".

Secara intuitif, mengapa begitu? Secara matematis, apa alasannya?

nbro
sumber

Jawaban:

12

Jawaban yang sangat singkat:

LSTM decouples keadaan sel (biasanya dilambangkan dengan c) dan hidden layer / output (biasanya dilambangkan dengan h), dan hanya melakukan pembaruan aditif c, yang membuat memori clebih stabil. Dengan demikian gradien mengalir melalui cdijaga dan sulit untuk menghilang (oleh karena itu keseluruhan gradien sulit untuk dihilangkan). Namun, jalur lain dapat menyebabkan ledakan gradien.


Jawaban yang lebih terperinci dengan penjelasan matematis:

Mari kita tinjau mekanisme CEC (Constant Error Carousel) terlebih dahulu. CEC mengatakan, dari langkah waktu tke t+1, jika gerbang Lupa adalah 1 (Tidak ada gerbang lupa dalam kertas LSTM asli, dengan demikian ini selalu terjadi), gradien dapat mengalir tanpa perubahan. Mengikuti rumus BPTT di kertas LSTM: A Space Pencarian Odyssey Lampiran A.2 ( dalam makalah ini dalam literatur lain), aliran CEC sebenarnya sesuai dengan persamaan . Ketika mendekati 1, terakumulasi menjadi tanpa kehilangan.dl/dctyhδct=+δct+1ft+1ft+1δct+1δct

Namun, LSTM lebih dari CEC. Terlepas dari jalur CEC dari ke , jalur lain memang ada di antara dua langkah waktu yang berdekatan. Misalnya, . Berjalan melalui proses perambatan kembali melalui 2 langkah, kita memiliki: , kita melihat dikalikan dua kali di jalur ini sama seperti vanilla RNNs, yang dapat menyebabkan ledakan gradien. Demikian pula, jalur melalui gerbang input dan forget juga mampu menyebabkan ledakan gradien karena penggandaan sendiri matriks .ctct+1ytot+1yt+1δytRoTδot+1δyt+1RoTδot+2RoTRiT,RfT,RzT

Referensi:

K. Greff, RK Srivastava, J. Koutn'ik, BR Steunebrink, dan J.Schmidhuber. LSTM: Pengembaraan ruang pencarian. CoRR, abs / 1503.04069, 2015.

soloice
sumber
Bisakah Anda menyertakan kutipan lengkap untuk makalah itu? Tautan cenderung mati.
mkt - Reinstate Monica
2
@ mkt Terima kasih atas saran Anda. Sebenarnya ini adalah makalah yang sangat terkenal dan tautannya menuju ke arXiv, jadi kemungkinan tidak akan mati, lol ~ Tapi pastikan untuk memeriksa versi v1 (Karena versi saat ini v2 tidak termasuk lampiran).
soloice
Terima kasih sudah menambahkannya, dan detail tentang apendiks.
mkt - Pasang kembali Monica
Jawaban yang bagus, saya biasanya tidak berkomentar untuk memberi +1, tetapi ini layak untuk itu. Menampilkan contoh aktual dengan aljabar matriks jalur yang mungkin tidak stabil dalam sel LSTM menjawab OP dengan tepat.
DeltaIV
3

RNNs sebelum LSTM / GRU dulu tidak stabil karena apa yang mereka lakukan pada dasarnya adalah penggandaan keadaan tersembunyi dengan beberapa bobot untuk setiap catatan waktu, yang berarti ini merupakan operasi eksponensial. Dan seperti yang kita ketahui, eksponensial sangat tidak stabil: sel LSTM / GRU menyelesaikan masalah ini dengan mengubah penggandaan menjadi penambahan. Anda memiliki status sel, dan alih-alih mengalikan, Anda menambah atau menguranginya.1 200 = 1 1,01 20013

0.992000.134
1200=1
1.0120013

Namun masih ada beberapa jalur di mana gradien menjadi tidak stabil, dan semakin besar jaringnya, semakin besar kemungkinan Anda akan mengalami masalah ini.

Lugi
sumber
3
Mengapa ini menjawab pertanyaan saya? Saya ingin tahu detailnya.
1818