Dalam beberapa tutorial saya menemukan dinyatakan bahwa "Xavier" inisialisasi berat (kertas: Memahami kesulitan pelatihan deep feedforward neural networks ) adalah cara yang efisien untuk menginisialisasi bobot jaringan saraf.
Untuk lapisan yang sepenuhnya terhubung ada aturan praktis dalam tutorial tersebut:
di mana adalah varians dari bobot untuk sebuah layer, diinisialisasi dengan distribusi normal dan , adalah jumlah neuron di induk dan di layer saat ini.
Apakah ada aturan praktis yang sama untuk lapisan konvolusional?
Saya berjuang untuk mencari tahu apa yang terbaik untuk menginisialisasi bobot lapisan konvolusional. Misal dalam lapisan di mana bentuk bobotnya (5, 5, 3, 8)
, jadi ukuran kernelnya adalah 5x5
, menyaring tiga saluran input (input RGB) dan membuat 8
peta fitur ... akan 3
dianggap jumlah neuron input? Atau lebih tepatnya 75 = 5*5*3
, karena inputnya adalah 5x5
tambalan untuk setiap saluran warna?
Saya akan menerima keduanya, jawaban spesifik yang menjelaskan masalah atau jawaban yang lebih "umum" yang menjelaskan proses umum untuk menemukan inisialisasi bobot yang tepat dan lebih baik menghubungkan sumber.
Saya kedua jawaban Eric di sini. Saya juga mengambil "sqrt" dari istilah dan bukan hanya istilah itu. Terlepas dari itu, ketika Anda menghubungkan sigmoid jauh di internet Anda ke "RelU" output .... itu dapat menyebabkan pelatihan terhenti. Ini karena output "Relu" tanpa batas yang dapat membuat gradien pada sigmoid turun menjadi 0 dan tidak ada pembelajaran yang terjadi. Jadi, dalam kasus ini, saya memiliki faktor "scaleDown" untuk jaring saya yang akan mengurangi penyimpangan inisialisasi oleh faktor itu. Saya terus mengatur bobot secara empiris sampai pembelajaran terjadi. Cara mudah untuk menemukannya adalah dengan menyimpan model segera setelah 1 iterasi dan melihat output RELU (yang terhubung ke sigmoid). Terus tuning bobot sampai output RELU ini masuk akal. Dan kemudian gunakan bobot itu untuk pelatihan. Ini awal yang bagus. Jika masih runtuh setelah beberapa iterasi, timbang mereka sedikit lebih banyak sampai Anda mencapai stabilitas. Ini hanya hack yang saya gunakan. Ini bekerja untuk saya untuk pengaturan saya. Jadi bagikan pengalaman saya. Berbagai hal bekerja untuk pengaturan yang berbeda.
Jadi ... Semoga Sukses!
sumber