Geçen ay sinirsel ağ sistemlerine bir giriş yapmış ve bunların bir örneği olan linear associator (LA) - çizgisel ortaklık sistemini incelemiştik. LA farklı giriş çıkış modellerini öğrene- biliyordu ancak onun da sınırları var- dı. Sadece bazı giriş modellerini öğ- renebiliyordu. LA'nın öğrenebileceği giriş model- lerinin sayısı, ağ sisteminin ilk katma- nındakı işlem elemanlarının (PE) sa- yısına eşittir. Örneğin ilk katmanın- da 10 tane PE içeren bir ağ sistemini ele alalım. Bu sistemin birimci katma- nına 1024 (2 — 10) tane değişik giriş modeli verebilirsiniz, ancak sistem bunlardan ancak 10 tanesini tam ola- rak öğrenebilecektir. Eğer daha faz- la model öğrenmesi için sistemi zor- larsanız, daha önce öğrenilen model- ler unutulacaktır. Bu sınırlama back propagation (BP) - geri yayılma sinirsel ağını pra- tik uygulamalar için daha iyi bir sis- tem haline getirir. Zaten BP bugün dünyada en yaygın olarak kullanılan sinirsel ağ sistemidir. Bu konunun daha iyi anlaşılması için program dö- küm ekinde, BASIC'ten de kullanı- labilen makine dili bir program veril- miştir. BP adlı program geri yayılma algoritmasına dayanır. Aynı zaman- da programın işlevini göstermek için iki de BASIC program verilmiştir. Çizgisel ortaklık sisteminin sınırla- malarını yenebilmek için BP, ortaya üçüncü bir katman daha ekler (şekil- 1). orta katman, sistemin kendi için- de, problemin bir örneğinin yaratıl- masını sağlar. Bu örnek problem ta- memen sistemin içinde gelişir. Şekil- 1'de görüldüğü gibi, ikinci katman Hata Çıkış ÖL O O O 3. Katman l ASA / 2Se< Ağırlık S Avagıarı;ıasa Ot İ % 2. Katman Ağırlık XA 1 S ah Ayarlaması O Ö o O1 Katman Giriş Şekil 1.Geri besleme sisteminin şeması. girişlerini birinci katmandan alır ve çıkışlarını da üçüncü katmana verir. Bu, ikinci katmanın dış ortamla di- rekt olarak bağlantısı olmadığını gös- terir ve bu yüzden de bu dahili örne- ği oluşturacak bir öğrenme algorit- masına ihtiyaç vardır. Dahili olarak oluşturulan örnek girişleri bir çok de- ğişik biçimde kodlar. Bu özellikler daha sonra verilecek olan exclusive- OR (XOR) adlı örnek programda ele alınacaktır. XOR işlemi ise mantık- sal işlemlerden olup, ancak ve ancak olarak Türkçe'ye çevrilebilir. Bundan sonra, bu işlemden XOR olarak bah- sedeceğiz. Örnek programlar üç katmanlı BP ağı kullanarak yapılmışlardır, böyle isimlendirilmesinin nedeni ise sistem- de üç katman PE bulunmasıdır. BP işlem ağı en az üç katman PE gerek- tirir, ancak karmaşık problemlerin çözümü için çok daha fazla sayıda katman gerekebilir. LA, geçen ayki sayıda sinirsel ağ sistemlerinin önemli bazı özellikleri- ni anlatmak amacıyla açıklanmıştı. BP sinirsel ağ sistemleri de LA'ya benzer ancak bazı farklar vardır: kat- man sayısı, çıkış fonksiyonu ve öğ- retici algoritma. Katmanların sayısı, matris düzeni- ni çok az bir düzeyde etkiler. LA'da, birinci ve ikinci katmanlardaki PE'- ler arasındaki bağlantıları kapsayan bir tane matrisimiz vardı. BP'de ise üç katman PE ve iki katman bağlan- tı mevcut. Bu iki katman bağlantılar- la uğraşabilmek için bizim de iki ta- ne bağlantı matrisine ihtiyacımız var, 1. ve 2. katman PE'ler arasındaki bağlantılar için ve 2. ve 3, katman PE'ler arasındaki bağlantılar için bağlantı matrisi. Birinci katman dış ortamdan girdilerini alır, üçüncü kat- man ise çıktılarını dış ortama verir. BP sistemine, üstüste oturtulmuş iki LA sistemi gibi bakabilirsiniz, an- cak BP'de her katman için ayrı bir çı- kış fonksiyonu vardır. LA'da her katman için ayrı bir çıkış fonksiyo- nu vardır. LA'da her PE'nin çıkışı, o PE'nin etkinlik düzeyiydi, bu da bir önceki katmandaki girdileri alıp, bunları bağlantı matrisinin yardımıy- la çarptıktan sonra toplayarak bulu- nuyordu. BP'de de etkinleşme düze- yi benzer şekilde hesaplanır, ama bu- rada etkinleşme düzeyi çıkış değeri olarak aynen kullanılmaz ancak o PE'nin gerçek çıkışını yaratacak olan çıkış fonksiyonunun bir parametresi olarak kullanılır. Pratik yapmanın, sonucu mükem- melleştirdiğini bilirsiniz. Bu, BP sis- temi için de geçerlidir. Bu sistemler- de öğrenmenin hatasız olması için gi- riş modellerini ve öğretici maddeleri bir çok defa girmelisiniz. Giriş ve öğretici modelleri ne ka- dar cok sayıda girerseniz sistem de bunları eşlemeyi o kadar iyi öğrenir. Toplam hata miktarı size programın öğrenmede katettiği mesafeleri gös- terir. Siz bilgiyi vermeye devam ettik- çe sistemin yaptığı toplam hata sayı- sı giderek azalır ve sonunda mini- mum bir değere ulaşır. Eğer toplam hatanın deneme sayısına karşı grafi- Bini çizecek olursanız, hatanın yük- sek bir düzeyden başlayıp yavaş ya- vaş azaldığını ve sonuçta minimuma ulaştığını görürsünüz (şekil-2). Toplam Hata Deneme Sayısı Şekil 2. Hata yüksekten başlar, gide rek azalır ve sonuçta bir eşiği geçer. Bunu canlandırabilmenizin en iyi yönetimi tepeden aşağı yuvarlanan top örneğini kullanmaktır. Tepeler genelde düzgün olarak alçalır ama aralarda vadiler de vardır, işte top bu vadilere geldikçe yavaşlar ama vadi- yi geçecek kadar hızı vardır. Böylece aşağıya kadar devam eder ve dibe ulaşır (şekil-1). BİLGİSAYAR BAŞINA BP.ML adlı program kendi sistem- lerinizi yaratmanıza yardımcı olacak bir geri yayılma simulatörüdür. Prog- ram, ağ sisteminin tüm işlerini yapar; sizin tek yapmanız gereken sistemin karakteristiğini belirlemek, öğrenme- si gereken modelleri girmek ve siste- mi kaydetmektir. Sistemin bu model- leri tekrar hatırlamasını istediğinizde tek yapmanız gereken sistemi yükle- mek ve giriş modellerini girmektir; bu sefer sistem size doğru çıkış model- leri ile cevap verir. Başlamanız için geri yayılma prensibine dayanan iki tane örnek BASIC program verilmiş- tir. BP, bu programlardaki problem- leri çözebilir ama LA sistemi çöze- mez. 1 |e Hata .5 Deneme Sayısı Şekil 3. Sinirsel Ağ Sistemi'ndeki hatalar tepeden yuvarlanan bir topun hareketine uyar. ll