Menggunakan multi-layer LSTM
dengan 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?
neural-network
lstm
rnn
dropout
stacked-lstm
BigBadMe
sumber
sumber
Jawaban:
Saya lebih suka tidak menambahkan drop out di
LSTM
sel untuk satu alasan spesifik dan jelas.LSTMs
bagus 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 untukLSTM
sel, ada peluang untuk melupakan sesuatu yang tidak boleh dilupakan. Akibatnya, sepertiCNNs
saya selalu lebih suka menggunakan drop out di lapisan padat setelahLSTM
lapisan.sumber
CNNs
dalamnya benar-benar dapat diterima untuk tidak menggunakannya di lapisan konv karena sejumlah kecil bobot di lapisan konvolusional. DiLSTMs
sisi 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.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).
sumber