Bu sayfadaki yazılar
Sayfanın metni
Sayfa 10
Sinirsel Ağ Sistemleri 2
Çev.: Sinan VURAL
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 11
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 biliyordu ancak onun da sınırları vardı. Sadece bazı giriş modellerini öğrenebiliyordu. LA'nın öğrenebileceği modellerin sayısı, ağ sisteminin ilk katmanındaki işlem elemanlarının (PE) sayısına eşittir. Örneğin ilk katmanında 10 tane PE içeren bir ağ sistemini ele alalım. Bu sistemin birinci katmanına 1024 (2^10) tane değişik giriş modeli verebilirsiniz, ancak sistem bunlardan ancak 10 tanesini tam olarak öğrenebilecektir. Eğer daha fazla model öğrenmesi için sistemi zorlarsanız, daha önce öğrenilen modeller unutulacaktır. Bu sınırlama back propagation (BP) - geri yayılma sinirsel ağını pratik uygulamalar için daha iyi bir sistem 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 verilmiştir. BP adlı program geri yayılma algoritmasına dayanır. Aynı zamanda programın işlevini göstermek için iki de BASIC program verilmiştir. Çizgisel ortaklık sisteminin sınırlamalarını yenebilmek için BP, ortaya üçüncü bir katman daha ekler (şekil-1). Orta katman, sistemin kendi içinde, problemin bir örneğinin yaratılmasını sağlar. Bu örnek problem tamamen sistemin içinde gelişir. Şekil-1'de görüldüğü gibi, ikinci katman girişlerini birinci katmandan alır ve çıkışlarını da üçüncü katmana verir. Bu, ikinci katmanın dış ortamla direkt olarak bağlantısı olmadığını gösterir ve bu yüzden de bu dahili örneği oluşturacak bir öğrenme algoritması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ıksal işlemlerden olup, ancak ve ancak olarak Türkçe'ye çevrilebilir. Bundan sonra, bu işlemden XOR olarak bahsedeceğiz. Örnek programlar üç katmanlı BP ağı kullanarak yapılmışlardır, böyle isimlendirilmesinin nedeni ise sistemde üç katman PE bulunmasıdır. BP işlem ağı en az üç katman PE gerektirir, 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ı özelliklerini anlatmak amacıyla açıklanmıştı. BP sinirsel ağ sistemleri de LA'ya benzer ancak bazı farklar vardır: katman sayısı, çıkış fonksiyonu ve öğretici algoritma. Katmanların sayısı, matris düzenini çok az bir düzeyde etkiler. LA'da, birinci ve ikinci katmanlardaki PE'ler arasındaki bağlantıları kapsayan bir tane matris vardı. BP'de ise üç katman PE ve iki katman bağlantı mevcut. Bu iki katman bağlantılarla uğraşabilmek için bizim de iki tane 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ü katman ise çıktılarını dış ortama verir. BP sistemine, üstüste oturtulmuş iki LA sistemi gibi bakabilirsiniz, ancak BP'de her katman için ayrı bir çıkış fonksiyonu 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ıyla çarptıktan sonra toplayarak bulunuyordu. BP'de de etkinleşme düzeyi benzer şekilde hesaplanır, ama burada 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ükemmelleştirdiğini bilirsiniz. Bu, BP sistemi için de geçerlidir. Bu sistemlerde öğrenmenin hatasız olması için giriş modellerini ve öğretici maddeleri bir çok defa girmelisiniz. Giriş ve öğretici modelleri ne kadar çok sayıda girerseniz sistem de bunları eşlemeyi o kadar iyi öğrenir. Toplam hata miktarı size programın öğrenmede katettiği mesafeleri gösterir. Siz bilgiyi vermeye devam ettikçe sistemin yaptığı toplam hata sayısı giderek azalır ve sonunda minimum bir değere ulaşır. Eğer toplam hatanın deneme sayısına karşı grafiğini çizecek olursanız, hatanın yüksek bir düzeyden başlayıp yavaş yavaş azaldığını ve sonuçta minimuma ulaştığını görürsünüz (şekil-2).
Hata Çıkış O O 3 Katman 2 katman ağ De Katman
Şekil 1. Geri besleme sisteminin şeması.
Toplam Hata
Deneme Sayısı
Şekil 2. Hata yüksekten başlar, giderek azalır ve sonuçta bir eşiği geçer.
Bunu canlandırabilmenizin en iyi yöntemi 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 vadiyi 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 sistemlerinizi yaratmanıza yardımcı olacak bir geri yayılma simülatörüdür. Program, ağ sisteminin tüm işlerini yapar; sizin tek yapmanız gereken sistemin karakteristiğini belirlemek, öğrenmesi gereken modelleri girmek ve sistemi kaydetmektir. Sistemin bu modelleri tekrar hatırlamasını istediğinizde tek yapmanız gereken sistemi yüklemek ve giriş modellerini girmektir; bu sefer sistem size doğru çıkış modelleri ile cevap verir. Başlamanız için geri yayılma prensibine dayanan iki tane örnek BASIC program verilmiştir. BP, bu programlardaki problemleri çözebilir ama LA sistemi çözemez.
Hata .5
Deneme Sayısı
Şekil 3. Sinirsel Ağ Sistemi'ndeki hatalar tepeden yuvarlanan top hareketine uyar.