Sıfır merkezli olmayan aktivasyon neden geri yayılmada bir sorun?


26

Burada aşağıdakileri okudum :

  • Sigmoid çıkışları sıfır merkezli değildir . Bu istenmeyen bir durumdur, çünkü bir Sinir Ağında daha sonraki işlem katmanlarındaki nöronlar (bu konuda daha fazlası) sıfır merkezli olmayan veriler alacaktır. Bunun gradyan iniş sırasındaki dinamikleri üzerinde etkileri vardır, çünkü eğer bir nörona giren veriler her zaman pozitif ise (örneğin , tx ise ), geri yayılma sırasında ağırlıkları üzerindeki gradyan ya hepsi pozitif veya tümü negatif olabilir (tüm ifadenin gradyanına bağlı olarak x>0f=wTx+bwf). Bu, gradient güncellemelerinde ağırlıklar için istenmeyen zig-zagging dinamikleri getirebilir. Bununla birlikte, bu gradyanlar bir veri grubuna eklendikten sonra, ağırlıklar için son güncellemenin bu sorunu hafifleten değişken işaretleri olabileceğini unutmayın. Bu nedenle, bu bir rahatsızlıktır, ancak yukarıdaki doymuş aktivasyon problemine kıyasla daha az ciddi sonuçları vardır.

Neden değerinin (elementwise) olması üzerinde tüm-pozitif veya tüm-negatif gradyanlara neden olur ?x>0w



2
Ayrıca CS231n videoları izlerken de aynı soruyu vardı.
metroyla

Yanıtlar:


28

f=wixi+b
dfdwi=xi
dLdwi=dLdfdfdwi=dLdfxi

çünkü , gradyan zaman işaretine (olumlu mu olumsuz).xi>0dLdwidLdf

Güncelleme
Say ve iki parametresi vardır , eğer iki boyutun gradyanları her zaman aynı işarete , parametre sadece kuzeydoğu veya güneybatı yönünde kabaca hareket edebileceğimiz anlamına gelir.w1w2

Amacımız kuzeydoğudaysa, sadece dar bir alanda paralel park etme gibi oraya ulaşmak için sadece zikzak bir şekilde hareket edebiliriz. (çizimimi bağışla)

görüntü tanımını buraya girin

Bu nedenle, tamamen pozitif veya tamamen negatif aktivasyon fonksiyonları (relu, sigmoid), gradyan bazlı optimizasyon için zor olabilir. Bu sorunu çözmek için, toplu iş / katman normalizasyonunda olduğu gibi verileri sıfır merkezli olacak şekilde önceden normalleştirebiliriz.

Ayrıca düşünebildiğim başka bir çözüm, her giriş için bir önyargı terimi eklemek, böylece katman Gradyanlar daha sonra sadece bağımlı olmaz işareti .

f=wi(xi+bi).
dLdwi=dLdf(xibi)
xi


Lütfen hatalıysam düzeltin ancak dL / df'nin değeri x yani xT'ye çevrilmemeli, çünkü burada Jacobin fikrini kullanıyor olacağız.
chinam

@ geç cevap için üzgünüm, sanırım burada sonucudur, bu yüzden dL / df değeri x'e bağlı değildir ve genellikle skalerdir, ve 1d vektörlerdir, yani dL / df ayrıca skaler olmalı, değil mi? w T x + b L w xfwTx+bLwx
dontloo

Evet, benim açımdan büyük bir yazım hatası. Df / dw'yi kastetmiştim ... ama bence daha çok x vektörüne bağlı ve eğer bir satır vektörü veya bir sütun vektörü ise
chinmay

@ dontloo geç cevap için üzgünüm ama aynı işarete sahip gradyanlar ile sorun nedir? Neden bu kötü bir şey? dL/df
floyd

1
@floyd hi Ben sadece sorunuz için bazı güncellemeler ekledi
dontloo
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.