Putus sekolah di lapisan LSTM mana?

11

Menggunakan multi-layer LSTMdengan dropout, apakah disarankan untuk meletakkan dropout pada semua layer yang tersembunyi serta output layer padat? Dalam makalah Hinton (yang mengusulkan Dropout) ia hanya menempatkan Dropout pada layer Dense, tapi itu karena lapisan dalam yang tersembunyi bersifat convolutional.

Jelas, saya dapat menguji untuk model spesifik saya, tetapi saya bertanya-tanya apakah ada konsensus tentang ini?

BigBadMe
sumber
3
beberapa diskusi bagus tentang putus sekolah di jaringan berulang dalam makalah ini jika Anda tertarik: arxiv.org/abs/1512.05287 Gal, Yarin, dan Zoubin Ghahramani. "Aplikasi putus sekolah yang secara teoritis didasarkan pada jaringan saraf berulang." Kemajuan dalam sistem pemrosesan informasi saraf. 2016.
redhqs
2
Tampaknya untuk mengkonfirmasi apa yang @Media katakan di bawah ini
BigBadMe

Jawaban:

12

Saya lebih suka tidak menambahkan drop out di LSTMsel untuk satu alasan spesifik dan jelas. LSTMsbagus untuk jangka panjang tetapi hal penting tentang mereka adalah bahwa mereka tidak begitu baik dalam menghafal banyak hal secara bersamaan. Logika putus adalah untuk menambahkan suara ke neuron agar tidak bergantung pada neuron tertentu. Dengan menambahkan drop out untuk LSTMsel, ada peluang untuk melupakan sesuatu yang tidak boleh dilupakan. Akibatnya, seperti CNNssaya selalu lebih suka menggunakan drop out di lapisan padat setelah LSTMlapisan.

Media
sumber
1
Saya mengerti apa yang Anda katakan, dan itu masuk akal, tetapi kemudian, mengapa implementasi sel LSTM di Keras atau Tensorflow memberikan kemampuan untuk menentukan dropout (dan dropout berulang) jika itu akan, pada dasarnya, melemahkan bagaimana LSTM seharusnya fungsi?
BigBadMe
3
Di CNNsdalamnya benar-benar dapat diterima untuk tidak menggunakannya di lapisan konv karena sejumlah kecil bobot di lapisan konvolusional. Di LSTMssisi lain, jumlah bobotnya tidak sedikit. Seperti yang telah saya sebutkan dalam tugas bahwa ada banyak hal yang harus dihafal, saya mencoba untuk tidak menggunakan dropout tetapi kasus-kasus seperti tegang kata kerja yang Anda tidak memiliki banyak dependensi, saya kira itu tidak terlalu buruk. Ngomong-ngomong, itu adalah pengalaman saya. Mungkin ada jawaban lain untuk domain aplikasi yang berbeda.
Media
1
Penjelasan Hebat dengan kedua jawaban! (+ 1)
Aditya
5

Tidak ada konsensus yang dapat dibuktikan di semua jenis model.

Memikirkan dropout sebagai bentuk regularisasi, seberapa banyak penerapannya (dan di mana), secara inheren akan tergantung pada jenis dan ukuran dataset, serta pada kompleksitas model yang Anda bangun (seberapa besar itu).

n1k31t4
sumber