Sinir ağındaki ağırlıkların başlatılmasında kesik normal dağılımın yararı nedir?


13

Bir ileri beslemeli sinir ağında bağlantı ağırlıkları başlatılırken, öğrenme algoritmasının kırılamayacağı simetrilerden kaçınmak için bunları rastgele başlatmak önemlidir.

Çeşitli yerlerde gördüğüm öneri (örneğin, TensorFlow'un MNIST eğitiminde ), kesik normal dağılımı, standart sapması kullanarak kullanmaktır ; burada , nöron tabakası verildi.1NN

Standart sapma formülünün geri çoğaltılmış gradyanların çok hızlı çözülmemesini veya çoğaltılmamasını sağladığına inanıyorum. Ama neden normal normal dağılımın aksine kesilmiş normal dağılım kullandığımızı bilmiyorum. Nadir aykırı ağırlıklardan kaçınmak mı?


Bu önerinin ve / veya doğrudan teklifin kaynağını sağlayabilir misiniz?
Tim

+ Tim Good point, bir örneğe link ekledim. Bu öneriyi sinir ağı iyi uygulamaları hakkında bir makalede de gördüğüme inanıyorum (yine de bulamıyorum).
MiniQuark

Yanıtlar:


13

Sanırım nöronların doygunluğu hakkında. Sigmoid gibi bir aktivasyon fonksiyonunuz olduğunu düşünün.

resim açıklamasını buraya girin

Eğer kilo val değeriniz> = 2 veya <= - 2 değerini alırsa, nöronunuz öğrenmez. Dolayısıyla, normal dağılımınızı keserseniz, varyansınıza bağlı olarak bu sorunu (en azından başlatmadan itibaren) almayacaksınız. Bence bu yüzden, genel olarak kesilmiş normal kullanmak daha iyidir.


Evet, bu mantıklı, teşekkürler. Sanırım 1 değil, "değer> = 2" demek
istediniz

evet değer olarak varsayılır> = 2
Güngör Basa

4

Kesik normal dağılımı kullanmanın yararı, burada açıklanan relu_logitlerin kullanılmasından dolayı "ölü nöronların" üretilmesini önlemektir .

Kişi genellikle simetri kırmak ve 0 degradeleri önlemek için ağırlıkları az miktarda gürültü ile başlatmalıdır. ReLU nöronları kullandığımız için, "ölü nöronlar" dan kaçınmak için onları biraz pozitif başlangıç ​​yanlılığıyla başlatmak iyi bir uygulamadır.


Truncated_normal kullanmanın ölü nöronları nasıl önleyeceğinden emin değilim: "hafif pozitif başlangıç ​​yanlılığı" eklemez. Lütfen biraz açıklayabilir misiniz?
MiniQuark

1
çünkü backpropagation sadece 'canlı' nöronları güncelleyecek, yayılmaya sıfır olmayan bir katkı sağlayacak
Jason
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.