Saya bertanya-tanya dalam situasi apa menguntungkan menumpuk LSTM?
Saya bertanya-tanya dalam situasi apa menguntungkan menumpuk LSTM?
Jawaban:
Dari Apa keuntungan menumpuk banyak LSTM? (Saya hanya akan memperbarui jawabannya di sana):
Dari {1}:
Meskipun secara teori tidak jelas apa daya tambahan yang diperoleh oleh arsitektur yang lebih dalam, itu diamati secara empiris bahwa RNN yang dalam bekerja lebih baik daripada yang lebih dangkal pada beberapa tugas. Secara khusus, Sutskever et al (2014) melaporkan bahwa arsitektur 4-lapisan dalam sangat penting dalam mencapai kinerja terjemahan mesin yang baik dalam kerangka kerja encoder-decoder. Irsoy dan Cardie (2014) juga melaporkan hasil yang lebih baik dari pindah dari satu-layer BI-RNN ke arsitektur dengan beberapa lapisan. Banyak karya lain melaporkan hasil menggunakan arsitektur RNN berlapis, tetapi tidak secara eksplisit dibandingkan dengan RNN 1-lapisan.
Referensi:
- {1} Goldberg, Yoav. "Primer pada Model Jaringan Saraf Tiruan untuk Pemrosesan Bahasa Alami." J. Artif. Intell. Res. (JAIR) 57 (2016): 345-420. https://scholar.google.com/scholar?cluster=3704132192758179278&hl=id&as_sdt=0,5 ; http://u.cs.biu.ac.il/~yogo/nnlp.pdf
Satu situasi di mana menguntungkan untuk menumpuk LSTM adalah ketika kita ingin mempelajari representasi hierarkis dari data deret waktu kita. Dalam LSTM bertumpuk, setiap lapisan LSTM mengeluarkan urutan vektor yang akan digunakan sebagai input ke lapisan LSTM berikutnya. Hierarki lapisan tersembunyi ini memungkinkan representasi yang lebih kompleks dari data deret waktu kami, menangkap informasi pada skala yang berbeda.
Misalnya, LSTM yang ditumpuk dapat digunakan untuk meningkatkan akurasi dalam klasifikasi deret waktu, seperti prediksi aktivitas, di mana denyut jantung, jumlah langkah, GPS dan sinyal lainnya dapat digunakan untuk memprediksi aktivitas seperti berjalan, berlari, bersepeda, menaiki tangga atau beristirahat. Untuk contoh klasifikasi deret waktu dengan LSTM bertumpuk menggunakan data EEG, lihat notebook ipython berikut .
Dalam urutan ke urutan model: Pekerjaan jaringan encoder adalah membaca urutan input ke model Seq2Seq kami dan menghasilkan vektor konteks-dimensi tetap C untuk urutan. Untuk melakukannya, encoder akan menggunakan sel jaringan saraf berulang - biasanya LSTM - untuk membaca token input satu per satu. Keadaan akhir sel yang tersembunyi kemudian akan menjadi C. Namun, karena sangat sulit untuk mengompresi urutan panjang sewenang-wenang ke dalam vektor ukuran tetap tunggal (terutama untuk tugas-tugas sulit seperti terjemahan), pembuat enkode biasanya terdiri dari LSTM yang ditumpuk : serangkaian "lapisan" LSTM di mana output setiap lapisan adalah urutan input ke lapisan berikutnya. Status tersembunyi LSTM lapisan terakhir akan digunakan sebagai vektor Konteks.