Apakah ada pedoman umum tentang di mana menempatkan lapisan dropout di jaringan saraf?
neural-networks
dropout
Franck Dernoncourt
sumber
sumber
Jawaban:
Dalam makalah asli yang mengusulkan lapisan dropout, oleh Hinton (2012) , dropout (dengan p = 0,5) digunakan pada masing-masing lapisan (padat) yang terhubung sepenuhnya sebelum output; itu tidak digunakan pada lapisan konvolusional. Ini menjadi konfigurasi yang paling umum digunakan.
Penelitian yang lebih baru telah menunjukkan beberapa nilai dalam menerapkan dropout juga ke lapisan konvolusional, meskipun pada tingkat yang jauh lebih rendah: p = 0,1 atau 0,2. Dropout digunakan setelah fungsi aktivasi setiap lapisan konvolusional: CONV-> RELU-> DROP.
sumber
relu
aktivasi diikuti oleh lapisan penggabungan maks, haruskah lapisan putus (2D) langsung pergi setelah konvolusi, atau setelah lapisan penyatuan maks, atau keduanya, atau apakah itu tidak masalah?RELU
pada setiap lapisan CONV. Saya tidak percaya mereka menyelidiki efek penambahan dropout berikut lapisan penyatuan maks.Di depan setiap proyeksi linier. Lihat Srivastava et al. (2014) .
sumber
Makalah asli mengusulkan lapisan putus sekolah yang digunakan pada masing-masing lapisan (padat) yang terhubung sepenuhnya sebelum output; itu tidak digunakan pada lapisan konvolusional.
Kita tidak boleh menggunakan lapisan putus sekolah setelah lapisan konvolusional karena kita menggeser filter di atas lebar dan tinggi gambar input, kita menghasilkan peta aktivasi 2 dimensi yang memberikan respons dari filter itu di setiap posisi spasial. Jadi ketika lapisan dropout menetralkan (menjadikannya nol) neuron acak ada kemungkinan kehilangan fitur yang sangat penting dalam gambar dalam proses pelatihan kami.
sumber
Jika saya tidak salah, Anda dapat menambahkannya setelah non-linearitas setiap sel:
Baris pertama adalah fungsi aktivasi, dan yang terakhir adalah menambahkan dropout ke hasilnya. Silakan merujuk ke blog ini . Semoga ini membantu.
Atau Anda dapat menempatkannya di penyisipan input seperti dalam cuplikan ini:
Sumber: https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb
Secara teknis Anda dapat menambahkan lapisan putus sekolah di akhir blok, misalnya setelah konvolusi atau setelah pengkodean RNN.
sumber