Ağırlıkları aynı değeri başlattığınızda neden backpagagation çalışmıyor?


20

Tüm ağırlığı aynı değere (0.5 diyelim) başlattığınızda neden backpagagation çalışmıyor, ancak rasgele sayılar verildiğinde iyi çalışıyor?

Ağırlıkların başlangıçta aynı olmasına rağmen algoritma hatayı hesaplamamalı ve oradan çalışmamalı mı?

Yanıtlar:


26

Simetri kırılması.

Tüm ağırlıklar eşit değerlerle başlarsa ve çözüm eşit olmayan ağırlıkların geliştirilmesini gerektiriyorsa, sistem asla öğrenemez.

Bunun nedeni, hatanın ağırlıkların değerleri ile orantılı olarak ağırlıklara geri yayılmasıdır. Bu, doğrudan çıkış birimlerine bağlı tüm gizli birimlerin aynı hata sinyallerini alacağı ve ağırlık değişiklikleri hata sinyallerine bağlı olduğu için, bu birimlerden çıkış birimlerine olan ağırlıkların her zaman aynı olması gerektiği anlamına gelir. Sistem, ağırlıkları eşit tutan bir tür dengesiz denge noktasında başlıyor, ancak hata yüzeyindeki bazı komşu noktalardan daha yüksek ve bu noktalardan birine taşındığında, asla geri dönmeyecek. Sistemi küçük rastgele ağırlıklarla başlatarak bu sorunu ortadan kaldırıyoruz. Bu koşullar altında bu tür simetri problemleri ortaya çıkmaz.


Yani bir NN'nin başlangıç ​​ağırlıkları sadece antrenman hızını belirlemekle kalmaz, aynı zamanda öğrenme ya da öğrenmemenin nedeni de olabilir mi?
user1724140

2
Evet, bazen sadece bir ağırlık seti üzerinde eğitim vermiyoruz (örneğin bir Sinir Ağı). Yapmamız gereken ortak bir şey, zamanımız varsa, birkaç farklı başlangıç ​​ağırlığı yapılandırması oluşturmak ve ağı eğitmek. Bazı zamanlarda, bir konfigürasyonun yerel bir optima ile sonuçlanacağı veya ağırlığın ne yazık ki gerçekten rastgele olmadığı ortaya çıkabilir.
ThiS

Bu yanlış değil, çünkü farklı girişler hala simetriyi kırabilir. bkz. open.wolframcloud.com/env/…
user3180

12

Thierry'nin cevabına eklemek için, hatayı ağırlık vektörünün bir fonksiyonu, yani R,nR,en aza indirmek istediğiniz Geri yayılma algoritması, bir noktanın yerel bir mahallesine bakarak ve hangi yönün daha küçük bir hataya yol açacağını görerek çalışır. Bu size yerel bir minimum verecektir.

İstediğiniz şey küresel bir minimumdur, ancak onu bulmanın garantili bir yolu yoktur. Ve yüzeyinizde birkaç yerel minima varsa o zaman başınız belada olabilir.

Ancak sadece birkaç tane varsa, Thierry'nin stratejisi işe yaramalıdır - rastgele seçilen noktalarda başlayarak yerel minima için birden fazla arama yapmak, küresel minimumu bulma şansınızı artırmalıdır.

Ve sadece bir minimumun olduğu mutlu durumda - herhangi bir başlangıç ​​ağırlığı vektörü sizi buna götürecektir.

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.