Girdileri ile tek katmanlı bir sinir ağının gradyanını türetmek, zincir kuralında operatör nedir?


9

Problem şu:

Çapraz entropi kaybı ile giriş -> gizli, gizli -> çıkış için sigmoid kullanarak tek bir gizli katman sinir ağı için giriş katmanına göre degradeyi türetin.

Zincir kuralını kullanarak türetmenin çoğunu geçebilirim ama onları nasıl "zincirleyeceğimiz" konusunda emin değilim.

Bazı gösterimleri tanımlayın

r=xW1+b1

h=σ(r) , sigmoid işlevidirσ

θ=hW2+b2 ,

y^=S(θ) , softmax işlevidirS

J(y^)=iylogy^i , gerçek etiket bir sıcak vektöry

Sonra zincir kuralı ile,

Jx=Jθθhhrrx

Bireysel degradeler:

Jθ=(y^y)
θh=h[hW2+b2]=W2T
hr=h(1h)
rx=x[xW1+b1]=W1T

Şimdi tanımları birbirine zincirlemeliyiz. Tek değişkenli olarak bu kolaydır, her şeyi birlikte çarparız. Vektörlerde eleman-bilge çarpma veya matris çarpma kullanıp kullanmadığından emin değilim.

Jx=(y^y)W2T[h(1h)]W1T

Burada vektörlerinin öğeye çoğalmasıdır ve bir matris çoklu olup. Bu işlem kombinasyonu, olması gerektiğini bildiğim boyut vektörü elde etmek için bunları bir araya getirmenin tek yolu .1DxJx

Sorum şu: hangi operatörü kullanacağımı anlamanın ilk yolu nedir? Özellikle ve arasında element-bilge bir ihtiyaç ile karıştırılır .W2Th

Teşekkürler!


Girdiler için gradyan wrt bulmak sık sık yapılmaz. Ben bu "giriş" kelime vektörleri optimize etmek için seçeneğiniz var, kelime düğün hesaplama için bir yol olduğuna inanıyorum.
amatsukawa

nasıl didi seni dervie dj / dTheta
raaj

Yanıtlar:


4

Bu soruya cevap vermenin anahtarının, elemanlar arası çarpımın aslında kısaca olduğunu ve bu nedenle denklemleri türettiğinizde asla kullanmadığınızı belirtmek olduğuna inanıyorum .

Gerçek çalışma öğeye çarpma bunun yerine sahip bir gradyan standart bir matris çarpım değildir Jacobi , her zaman .

Doğrusal olmama durumunda, doğrusal olmamanın vektör girdisine göre doğrusal olmama vektör çıktısının Jacobian'ı çapraz bir matris olur. Bu nedenle, bu matrisle çarpılan eğimin, doğrusal olmayanlığın girdisine göre doğrusal olmayanlığın tüm kısmi türevlerini içeren bir vektör ile çarpılan kayıp elemanına göre doğrusal olmayanlığın çıktısının gradyanına eşdeğer olduğu doğrudur, ama bu izler Jakobyan varlık Diagonal'a. Karışıklıklarınızı açıklayabilecek öğeye dayalı çarpmaya ulaşmak için Jacobian adımından geçmelisiniz.

Matematik olarak, bazı doğrusal olmayan var , kayıp ve doğrusal olmama bir giriş (herhangi bir tensör olabilir). Doğrusalsızlığın çıktısı --- aynı boyuta sahiptir --- @Logan'ın dediği gibi, aktivasyon fonksiyonu element-wise olarak tanımlanır.sLxRn×1s(x)Rn×1

İstediğimiz

xL=(s(x)x)Ts(x)L

Burada , . Bu Jacobian'ı genişleterek s(x)xs

[s(x1)x1s(x1)xns(xn)x1s(xn)xn]

Köşegen hariç her yerde sıfır olduğunu görüyoruz. diyagonal öğelerinin bir vektörünü yapabiliriz

Diag(s(x)x)

Ve sonra element-bilge operatörünü kullanın.

xL=(s(x)x)Ts(x)L=Diag(s(x)x)s(x)L

0

Bir etkinleştirme işlevine geri orantılı olduğunda, işlemler öğe bazında olur. Özellikle, örneğinizi kullanarak bir geri yayılım türevi ve bir aktivasyon türevidir ve ürünleri elementli bir üründür, . Bunun nedeni, aktivasyon fonksiyonlarının sinir ağında eleman bazında işlemler olarak tanımlanmasıdır.δ2=(y^y)W2Ta=h(1h)δ2a

Bkz. Cs224d ders slaytları sayfa 30, ayrıca yardımcı olabilir.

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.