Mengapa inisialisasi bobot dan bias dipilih sekitar 0?

13

Saya membaca ini:

Untuk melatih jaringan saraf kita, kita akan menginisialisasi setiap parameter W (l) ijWij (l) dan setiap b (l) ibi (l) ke nilai acak kecil mendekati nol (katakan menurut Normal (0, ϵ2) Normal (0 , ϵ2) distribusi untuk beberapa ϵϵ kecil, katakan 0,01)

dari Stanford Deep, tutorial pembelajaran di paragraf ke-7 dalam Algoritma Backpropagation

Yang tidak saya mengerti adalah mengapa inisialisasi bobot atau bias harus sekitar 0 ?

CinqS
sumber

Jawaban:

11

Dengan asumsi normalisasi data yang cukup masuk akal, harapan bobot harus nol atau dekat dengannya. Maka mungkin masuk akal untuk mengatur semua bobot awal menjadi nol karena bobot awal positif akan semakin jauh jika bobot sebenarnya dan sebaliknya visa. Namun, ini tidak berhasil. Jika semua bobotnya sama, mereka semua akan memiliki kesalahan yang sama dan model tidak akan belajar apa pun - tidak ada sumber asimetri antara neuron.

Apa yang bisa kita lakukan, sebaliknya, adalah menjaga bobotnya sangat dekat dengan nol tetapi membuatnya berbeda dengan menginisialisasi mereka ke angka kecil, bukan nol. Inilah yang disarankan dalam tutorial yang Anda tautkan. Ini memiliki keuntungan yang sama dari inisialisasi semua-nol dalam hal itu dekat dengan nilai harapan 'tebakan terbaik' tetapi simetri juga telah cukup rusak untuk algoritma untuk bekerja.

Pendekatan ini memiliki masalah tambahan. Belum tentu benar bahwa angka yang lebih kecil akan bekerja lebih baik, terutama jika jaringan sarafnya dalam. Gradien yang dihitung dalam backpropagation sebanding dengan bobot; bobot yang sangat kecil menyebabkan gradien yang sangat kecil dan dapat menyebabkan jaringan membutuhkan banyak, lebih lama untuk dilatih atau tidak pernah selesai.

sqrt(d)d[1d,1d]

Eumenedies
sumber
3

Jika Anda menetapkannya sebagai 0, mereka semua akan memiliki kesalahan yang sama sehingga backprop akan membuat semuanya sama; oleh karena itu, Anda harus memiliki inisialisasi acak.

Kenapa sekitar 0? Saya pikir posting ini dapat menjawabnya dengan baik: /stats/47590/what-are-good-initial-weights-in-a-neural-network

Tuan tanah
sumber