Geri yayılım teknikleri arasındaki farklar


17

Sadece eğlence için, sinir ağı geliştirmeye çalışıyorum.

Şimdi, geri yayılım için iki teknik gördüm.

İlki burada ve diğer birçok yerde de kullanılıyor.

Yaptığı şey:

  • Her çıkış nöronu için hatayı hesaplar.
  • Ağa geri çoğaltır (her bir iç nöron için bir hata hesaplar).
  • Ağırlıkları aşağıdaki formüle göre günceller: ( ağırlıktaki değişiklik , öğrenme hızı, sinapstan girdi alan ve sinapstan gönderilen çıktı olan nöronun hatası ).
  • Veri kümesinin her girişi için gerektiği kadar tekrarlanır.

Bununla birlikte, bu derste önerilen sinir ağı (GitHub'da da mevcuttur) farklı bir teknik kullanır:

  • Bir hata işlevi kullanır (diğer yöntemin bir hata işlevi vardır, ancak eğitim için kullanmaz).
  • Ağırlıklardan başlayarak son hatayı hesaplayabilen başka bir işlevi vardır.
  • Bu işlevi en aza indirir (gradyan iniş yoluyla).

Şimdi hangi yöntem kullanılmalı?

İlki en çok kullanılanı olduğunu düşünüyorum (çünkü bunu kullanarak farklı örnekler gördüm), ama aynı zamanda işe yarıyor mu?

Özellikle bilmiyorum:

  • Daha çok yerel minimumlara tabi değil mi (ikinci dereceden işlevleri kullanmadığından)?
  • Her bir ağırlığın varyasyonu, çıkış nöronunun çıkış değerinden etkilendiğinden, sadece nöronlarda daha yüksek değerler üreten veri kümesinin girişleri (sadece çıkış değerlerini değil) diğer girişlerden daha ağırlıkları etkilemez mi?

Şimdi, ilk tekniği tercih ediyorum, çünkü uygulamayı daha basit ve düşünmeyi daha kolay buluyorum.

Yine de, bahsettiğim problemler varsa (ki umarım öyle olmaz), ikinci yöntem üzerinde kullanmak için gerçek bir neden var mı?

Yanıtlar:


6

İki örnek aslında aynı işlemi göstermektedir:

  • Her iki durumda da ağ, çıktıda hesaplanan geri çoğaltılmış kare hata kullanılarak eğim inişi ile eğitilir.
  • Her iki örnek de düğüm aktivasyonu için lojistik fonksiyonunu kullanır (lojistik fonksiyonun türevi sbudur s(1 - s). Bu türevin hesaplanması çok kolaydır ve bu, bu kadar yaygın olarak kullanılmasının nedeninin bir parçasıdır (bu günlerde ReLU aktivasyon fonksiyonu daha popüler , özellikle evrişim ağları ile).
  • İlk yöntem momentumu da kullanır .

Görebildiğim temel fark, ilk örnekte geri çoğaltma işleminin yinelemeli olması, ikinci örnekte ise toplu modda gerçekleştirilmesidir.

Welch Labs'ın serinin son videosu, Hessian'ı (ağırlıklara göre hatanın ikinci dereceden türevlerinin matrisi) hesaplayarak maliyet fonksiyonunun minimumunu bulma avantajı sunan yarı Newton yöntemi sunuyor . Bununla birlikte, bu elma ve portakalları karşılaştırmak gibi geliyor - vanilya gradyanı iniş ikinci dereceden bilgi kullanmıyor.

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.