Mengapa sqrt (6) digunakan untuk menghitung epsilon untuk inisialisasi acak jaringan saraf?

8

Dalam catatan kuliah 5 minggu untuk Andrew Ng's Coursera Machine Learning Class , rumus berikut diberikan untuk menghitung nilai digunakan untuk menginisialisasi dengan nilai acak:ϵΘ

Forumla untuk menghitung epsilon-init untuk inisialisasi acak

Dalam latihan , klarifikasi lebih lanjut diberikan:

Salah satu strategi efektif untuk memilih adalah mendasarkannya pada jumlah unit dalam jaringan. Pilihan adalah , di mana dan adalah jumlah unit dalam lapisan yang berdekatan dengan .ϵsayansayatϵsayansayatϵsayansayat=6L.sayan-L.HaikamutL.sayan=slL.Haikamut=sl+1Θ(l)

Mengapa konstanta digunakan di sini? Mengapa tidak , atau ?6576.1

Tom Hale
sumber

Jawaban:

4

Saya percaya ini adalah inisialisasi normalisasi Xavier (diimplementasikan dalam beberapa kerangka kerja pembelajaran dalam misalnya Keras, Cafe, ...) dari Memahami kesulitan pelatihan deep neuroforforward neural network oleh Xavier Glorot & Yoshua Bengio.

Lihat persamaan 12, 15 dan 16 di kertas yang ditautkan: mereka bertujuan untuk memenuhi persamaan 12:

Var[Wsaya]=2nsaya+nsaya+1

dan varian RV seragam di [-ϵ,ϵ] adalah ϵ2/3 (rata-rata nol, pdf = 1/(2ϵ) begitu varians =-ϵϵx212ϵdx

seanv507
sumber
Hmm, jadi kenapa gunakan 6 dari pada 2?
Tom Hale
Masukkan epsilon ke dalam rumus untuk varian variabel acak seragam di +/- x dan apa yang Anda dapatkan?
seanv507
Doh! Saya sekarang melihat dalam formula (16) itu[-ϵ,ϵ]digunakan. Di mana Anda dapatkanx2/3dari meskipun?
Tom Hale
1
menambahkan penjelasan untuk varian RV seragam ...
seanv507