BACKPROPAGATION ALGORİTHM

Yukarıdaki gibi bir multilayer feedforward network kademeli yapıya sahiptir. Ağ yapısında en az bir gizli katman bulunmaktadır. Ve her kademe alt katmanlardan girişleri alıp bir sonraki ünite yollayan elemanlara sahiptir. Kademelerdeki nöronlar arası hiçbir bağlantı yoktur. Kademedeki nöron sayılarının belirlenmesi ayrı bir problemdir. Burada nöron sayısı arttıkça öğrenme artmasına rağmen süreç uzamaktadır.
Geri yayılım ağında hatalar, ileri besleme aktarım işlevinin türevi tarafından, ileri besleme mekanizması içinde kullanılan aynı bağlantılar aracılığıyla, geriye doğru yayılmaktadır. Öğrenme işlevi, bu ağda basit çift yönlü hafıza birleştirmeye dayanmaktadır.
Geri yayılımlı öğrenme yöntemi, türevi alınabilir etkinlik işlevlerini çok katmanlı herhangi bir ağa uygulayabilir. Delta kuralı gibi, buda sistem hatasını veya toplam hatayı azaltmaya dayalı bir optimizasyon işlevidir. Bu ağda girdi katmanlar üzerinde hesaplanarak ilerler ve çıkışta belli bir değer elde edilir ve bu değer beklenen değerle karşılaştırılarak belli bir hata bulunur ve bu hata geri besleme ile önceki nöronlar üzerinden başlangıca kadar taşınır. Toplam hata minimuma inene kadar bu işlem tekrarlanmaya devam eder. Bu işlemin nasıl gerçekleştiğini aşağıdan daha iyi anlayacağız. Örnekte aşağıdaki gibi üç girişli bir çıkışlı ve 1 tabaka gizli katmanı olan bir sinir ağı modelini kullanacağız.

Örnek bir sinir hücresinde verilen girişlere karşı ürettiği çıkışın nasıl olduğu gösterilmiştir. Yapay sinir ağlarını eğitmek için eğitim verilerine ihtiyaç vardır. Aşağıdaki şekilde x1 ve x2 eğitim verilerini oluşturmaktadır ve buna karşı bir z çıkışı beklenmektedir. Yapay sinir ağlarında girişlere karşı iteratif işlemler sonucu oluşturulan w değerlerinden burada tekrar bahsetmeyeceğim.
Giriş sinyallerinin çıktıları gizli katman nöronlarına gider burada gelen toplam sinyaller işlendikten sonra bir sonraki katmana aktarılır.
Son katmana aktarılır ve burada hata hesabı yapıldıktan sonra geri aktarım işlemi başlar.
Son katmanın çıkışı beklenen değerlerle karşılaştırılır ve elde edilen hata sisteme geri besleme olarak aktarılır.
Bu aşamada elde edilen hata değeri sistemde backpropagation metoduyla geri yollanır ve olası hatayı azaltmak için katsayılar güncellenir. Bunu yapmamızın sebebi gizli katman nöronların çıkışları ile ilgili verileri kullanamıyoruz. Bu sorunu gidermek üzere zaten geri yayılım metodu geliştirilmiştir.
Çıkış nöronunda ulaşılan hata gene ara katman ağırlık katsayıları kullanılarak bu kez tersi yönde ilerlemektedir böylece giriş nöronuna kadar işlem devam ettirilir ve buradan itibaren katsayılar güncellenmeye başlar.
Tüm nöronlarda hata fonksiyonu çalıştırıldığında başlangıç düğümlerinin ağırlıkları aşağıda belirtilen formülle güncellenir. Daha sonra bu güncellenmiş hali ile ağ üzerindeki tüm bağlantılar güncellenir.
NOT: Resimler yabancı bir kaynaktan alıntıdır. Ancak üzerinden uzun süre geçtiğinden kaynağı hayırlamıyorum