Maksimum havuzlama katmanları aracılığıyla geri yayılım


14

Bu soruya küçük bir alt sorum var .

Maksimum havuzlama katmanı boyunca geri yayılırken, gradyanın, max olarak seçilen bir önceki katmandaki nöronun tüm gradyanı alacağı şekilde geri yönlendirildiğini anlıyorum. % 100 emin olmadığım bir sonraki katmandaki degrade havuz katmanına nasıl yönlendirilir.

İlk soru, aşağıdaki görüntü gibi, tamamen bağlı bir katmana bağlı bir havuz katmanım olup olmadığıdır.

örnek 1

Havuzlama katmanının camgöbeği "nöron" için gradyanı hesaplarken FC katman nöronlarının tüm gradyanlarını toplayabilir miyim? Bu doğruysa, havuzlama katmanının her "nöronu" aynı gradyana sahiptir?

Örneğin, FC katmanının ilk nöronunun eğimi 2, ikincisinin eğimi 3, üçüncüsü eğimi 6 olur. Havuzlama katmanındaki mavi ve mor "nöronların" gradyanları nedir ve neden?

İkinci soru, havuzlama katmanının başka bir evrişim katmanına bağlanmasıdır. Degradeyi nasıl hesaplayabilirim? Aşağıdaki örneğe bakın.

example2

Havuzlama katmanının en sağdaki en "nöronu" (ana hatlarıyla yeşil olan) için, bir sonraki dönme katmanındaki mor nöronun gradyanını alıp geri yönlendiriyorum, değil mi?

Dolu yeşil olana ne dersin? Zincir kuralı nedeniyle bir sonraki katmandaki nöronların ilk sütununu çoğaltmam gerekiyor mu? Yoksa eklemem gerekiyor mu?

Lütfen bir grup denklem yayınlamayın ve cevabımın orada olduğunu söyleyin çünkü kafamı denklemlerin etrafına sarmaya çalışıyorum ve hala tam olarak anlamıyorum, bu yüzden bu soruyu basit bir şekilde soruyorum yol.


İlk sorunuzla ilgili olarak, geri yayılım, hangi ağırlıkların ve girdilerin kaybınızı ne şekilde etkilediğini görmektir. Maksimum havuzlama durumunda, sadece nöronların maksimumu çıkışı etkiler (bir kravat olduğu zamanlar hariç). Bu yüzden hatayı sadece maksimum aktivasyon değerine sahip nörona iletin.
Jan van der Vegt

Evet, bunu anlıyorum ve bunu yazımın başlangıcında özet olarak da söyledim. Fakat bir sonraki katman nöronlarının gradyanını geri yaymak için nasıl "birleştirdiğimi" anlamıyorum. Umarım ne demek istediğimi biliyorsun.
Majster

Yanıtlar:


5

Bu doğruysa, havuzlama katmanının her "nöronu" aynı gradyana sahiptir?

Hayır . Ağırlıklara ve aktivasyon fonksiyonuna bağlıdır. Ve en tipik olarak ağırlıklar, havuzlama tabakasının birinci nöronundan FC tabakasına, havuzlama tabakasının ikinci tabakasından FC tabakasına farklıdır.

Yani tipik olarak aşağıdaki gibi bir durumunuz olacaktır:

FCi=f(jWijPj)

FCiPjfW

Bu, P_j'ye göre eğimin

grad(Pj)=igrad(FCi)fWij

W farklı olduğu için j = 0 veya j = 1 için farklıdır.

İkinci soru, havuzlama katmanının başka bir evrişim katmanına bağlanmasıdır. Degradeyi nasıl hesaplayabilirim?

Ne tür bir tabakaya bağlandığı fark etmez. Her zaman aynı denklemdir. Bir sonraki katmandaki tüm gradyanların toplamı, bu nöronların çıktısının bir önceki katmandaki nörondan nasıl etkilendiğiyle çarpılır. FC ve Convolution arasındaki fark, FC'de bir sonraki katmandaki tüm nöronların bir katkı sağlayacağı (belki de küçük olsa bile), ancak Convolution'da bir sonraki katmandaki çoğu nöronun bir önceki katmandaki nörondan hiç etkilenmediği için katkıları tam olarak sıfırdır.

Havuzlama katmanının en sağdaki en "nöronu" (ana hatlarıyla yeşil olan) için, bir sonraki dönme katmanındaki mor nöronun gradyanını alıp geri yönlendiriyorum, değil mi?

Sağ. Ayrıca bu katlama katmanındaki diğer nöronların gradyanı, havuzlama katmanının en sağdaki en nöronunu girdi olarak alır.

Dolu yeşil olana ne dersin? Zincir kuralı nedeniyle bir sonraki katmandaki nöronların ilk sütununu çoğaltmam gerekiyor mu? Yoksa eklemem gerekiyor mu?

Onları ekle. Zincir kuralı yüzünden.

maxgrad(PRj)

grad(PRj)=igrad(Pi)fWij

f=idf=0f=1f=0

grad(PRmaxneuron)=igrad(Pi)Wi max neuron

grad(PRothers)=0.

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.