Yanıtlar:
Geri yayılma algoritması, bir nöral ağ modelinin yerleştirilmesi için bir gradyan iniş algoritmasıdır. (@Dikran tarafından belirtildiği gibi) Nasıl olduğunu açıklayayım.
Biçimsel olarak: Bu yazının sonunda gradyanın hesaplanması aşağıdaki [1] denklemi içinde (gradyan inişinin tanımıdır) bir gradyan inişinin kullanımının özel bir durumu olarak geri yayılma algoritmasını verir.
Sinir ağı modeli Resmi olarak, basit bir tek katmanlı model ile fikirleri düzeltiriz:
burada g : R → R ve s : R, M → R M ile bilinen tüm m = 1 ... , K , s ( x ) [
Fikirleri düzeltmek için ikinci dereceden bir Kayıp fonksiyonu alınır. Dolayısıyla giriş vektörler gerçek çıkış takılabilir ( y 1 , ... , Y , n ) arasında R : Ampirik kaybını en aza indirerek (vektör olabilir) R , n ( A 1 , A 2 ) = n ∑ i = 1 ( y i - f ( x seçimi ile ilgili olarak , A 1 ve A 2 .
Gradyan iniş bir eğimi iniş en aza indirmek için bir algoritma olduğu yineleme: bir L + 1 = bir l - γ l ∇ R ( bir l ) , l ≥ 0 iyi seçilmiş adım boyutları için ( γ l ) l (aynı zamanda öğrenme oranı geri yayılma çerçevesinde). R gradyanının hesaplanmasını gerektirir. Dikkate alınan durumda bir l = ( A 1
gradyanı (basit kabul edilen nöral ağ modeli için) n ∑ i = 1 z i g ′ ( z i ) (
Geri-propogasyon, hata fonksiyonunun ağırlıklara göre türevini çıkarmanın bir yoludur, böylece model gradyan iniş optimizasyon yöntemleri ile eğitilebilir - temel olarak sadece "zincir kuralı" nın uygulanmasıdır. Bundan daha fazlası yok, bu yüzden temelde ona bakmak için en iyi yol olan kalkülüs ile rahatsanız.
Eğer analizden memnun değilseniz, çıktı birimlerinin ne kadar kötü performans gösterdiğini bildiğimizi söylemenin daha iyi bir yolu olacaktır, çünkü gerçek çıktıyı karşılaştırmak için istenen bir çıktıya sahibiz. Ancak gizli birimler için istenen bir çıktıya sahip değiliz, o zaman ne yapacağız? Geri yayılma kuralı temel olarak çıkış birimlerinin gizli birimlere hatası nedeniyle suçu ortadan kaldırmanın bir yoludur. Gizli bir birimin belirli bir çıktı birimi üzerinde etkisi ne kadar fazla olursa, hata için o kadar fazla suçlama olur. Gizli bir birimle ilişkili toplam suçlama, daha sonra, girişten gizli katman ağırlıklarının ne kadar değişmesi gerektiğine dair bir gösterge verir. Ne kadar suçun geri alınacağını yöneten iki şey, gizli ve çıktı katmanı ağırlıklarını (açıkça) bağlayan ağırlık ve gizli birimin çıktısıdır (fısıldamak yerine bağırıyorsa, daha büyük bir etkiye sahip olması muhtemeldir). Gerisi sadece bu sezgiyi eğitim kriterinin türevine dönüştüren matematiksel inceliklerdir.
Ayrıca uygun bir cevap için Bishops kitabı tavsiye ederim! ;Ö)
İleri beslemeli çok katmanlı sinir ağlarını (çok katmanlı algılayıcılar) eğitmek için bir algoritmadır. Web'de neler olduğunu gösteren birkaç güzel java uygulaması var, bunun gibi: http://neuron.eng.wayne.edu/bpFunctionApprox/bpFunctionApprox.html . Ayrıca, Bishop'un NN'lerle ilgili kitabı, NN'lerle ilgili her şey için standart masa referansıdır.