Ağırlıkları sıfırlarla başlatmak neden tehlikelidir? Bunu gösteren basit bir örnek var mı?
Ağırlıkları sıfırlarla başlatmak neden tehlikelidir? Bunu gösteren basit bir örnek var mı?
Yanıtlar:
değiştir alfa adlı kullanıcının yorumuna bakınız. Sinir ağları konusunda uzman değilim, bu yüzden onu erteleyeceğim.
Benim anlayışım burada yayınlanan diğer cevaplardan farklı.
Geri yayılımın, mevcut ağırlıklara katlamayı değil, katmayı içerdiğinden eminim . Eklediğiniz miktar delta kuralına göre belirlenir . Wij'in denklemin sağ tarafında görünmediğine dikkat edin.
Anladığım kadarıyla ilk ağırlıkları sıfıra ayarlamamak için en az iki iyi neden var:
Birincisi, sinir ağları yerel minimumda sıkışıp kalmaya meyillidir, bu nedenle onlara birçok farklı başlangıç değeri vermek iyi bir fikirdir. Hepsi sıfırdan başlarsa bunu yapamazsınız.
İkincisi, eğer nöronlar aynı ağırlıklarla başlarlarsa, o zaman tüm nöronlar aynı gradyanı izleyecek ve daima aynı şeyi yapacaktır.
Bir Bayes ağında olduğu gibi ağırlıkları öncelikli olarak düşündüyseniz, bu girdilerin sistemi etkileyebileceği ihtimalini göz ardı ettiniz. Diğer bir açıklama, geri yayılmanın, hedef ve gözlenen değerler arasındaki ağırlıklı kare farkını en aza indiren ağırlık kümesini tanımlamasıdır (E). Peki herhangi bir degrade iniş algoritması sistemin yönünü belirleme açısından nasıl yönlendirilebilir? Kendinizi parametre alanının bir eyer noktasına yerleştiriyorsunuz.
Geri yayılma algoritmanızın her bir yinelemesinde, ağırlıkları, geri yayılma tarafından belirlenen bir delta ile çarparak güncelleyeceksiniz. İlk ağırlık değeri 0 ise, delta için herhangi bir değerle çarpmak ağırlığı değiştirmez, bu da her yinelemenin optimize etmeye çalıştığınız ağırlıklar üzerinde hiçbir etkisi olmadığı anlamına gelir.
Buna cevap tamamen "Yerel Minima / Maxima" değildir.
1'den fazla Gizli Katmanınız varsa ve her ağırlık 0 ise, Weight_i’deki bir değişikliğin Çıktıda bir değişikliğe neden olmayacağı önemli değildir.
Bunun nedeni, delta Weight_i'nin bir sonraki Gizli Katman tarafından emileceğidir.
Çıktıda bir değişiklik olmadığında, gradyan ve dolayısıyla yön olmaz.
Bu, Yerel Minima / Maxima ile aynı özellikleri paylaşıyor, ancak aslında teknik olarak farklı olan 0'lardan kaynaklanıyor.
Tüm ağırlıkların sıfıra başlatılmasıyla ilgili temel problem, nöron değerlerinin sıfır (çoklu katmanlar için) olmasına ya da deltanın sıfır olmasına yol açar. Yukarıdaki cevaplarda @ alfa tarafından yapılan yorumlardan birinde zaten bir ipucu verilmiştir, ağırlık ve delta ürününün sıfır olması gerektiği belirtilmiştir. Bu, temelde, gradyan iniş için bunun dorukta en üstte olduğu ve simetriyi kıramadığı anlamına gelecektir. Rastgele olma bu simetriyi kıracak ve biri yerel asgari seviyeye ulaşacaktır. Ağırlığı biraz düşürsek bile, yolda oluruz. Kaynak: Verilerden öğrenme Ders 10.
2 nedenden dolayı kötü bir fikir:
Bunu gösterelim (basitlik için 1 nöronun son bir çıktı katmanını kabul ediyorum):