Bu sayfadaki yazılar
Sayfanın metni
Sayfa 12
BP adlı program tamamen makine diliyle yazılmıştır, bu yüzden hata yapmamak için MDE'yi kullanın. Aynı şekilde BASIC programlar, XOR ve ENCODE için de BDE'yi kullanın. Programları yazdıktan sonra, çalıştırmadan önce birer kopyalarını kaydedin. Programların nasıl çalıştığını görmek için XOR adlı programı çalıştırın. Program BP.ML adlı programı diskten yükleyecektir, bu yüzden makine dilindeki programı bu adla kaydetmeniz gerekir. Programı çalıştırınca ağ sistemi kurulur ve sistem modelleri öğrenmeye koyulur. Öğrendikten sonra ise, program bildiği her model girişi sisteme sunar ve uygun çıktıyı yazar.
ARAÇ GEREÇLER
BP programının, basit geri yayılma işlemini yürütebilmek ve çalıştırabilmek için altı tane komutu vardır. Bunu takip eden paragraflarda bu komutların ne işe yaradıkları ve nasıl kullanılacakları açıklanmıştır. Komutları en başta anlamazsanız üzülmeyin, XOR örneğini inceledikçe anlayacaksınız. — SYS 49152, bpe, ipe, üpe, ms, öh, mom, hata: BP ağ sistemini çalıştır. Bu komutla basit bir geri yayılma ağı kurulur. Komut 8 tane BA-SIC değişken ve 11 tane de dizi oluşturur (tablo-1). Bu değişkenler ve diziler sisteminin verdiği çıkışları saklayacaktır. Bunlar BASIC değişkenleri olduğu için NEW veya CLR komutu kullanıldığında, başka bir program yüklendiğinde veya hafızadaki program değiştirildiğinde silinirler; bu yüzden dikkatli olmalısınız. Komuttaki *bpe', “ipe” ve “üpe', birinci, ikinci ve üçüncü katmanlarda ka-
Tablo-1. BP Tarafından Yaratılan Değişken ve Diziler Değişken Anlamı pl 1. katmandaki PE sayısı p2 2. katmandaki PE sayısı p3 3. katmandaki PE sayısı np sistemin öğreneceği model sayısı rate öğrenme hızı momentum — öğrenmenin momentumu epsilon izin verilen en yüksek hata oranı te öğrenmeden sonraki toplam hata Dizi (Boyut) Anlamı 02 (p2) 2. katmanın çıktısı 03 (p3) 3. katmanın çıktısı e2 (p2) 2. katmandaki hata €3 (p2) 3. katmandaki hata wi (p2, pl) 1. ve 2. katmanlar arasındaki bağlantıların ağırlıkları w2 (p3, p2) 2. ve 3. katmanlar arasındaki bağlantıların ağırlıkları mi (p2, pl) 1. ve 2. katmanlar arasındaki bağlantıların momentumu m2 (p3, p2) 2. ve 3. katmanlar arasındaki bağlantıların momentumu t (p2, np) öğretici modeller in (pl, np) — giriş modelleri e (np) her modeldeki hata miktarı çar tane PE olduğunu belirler. Teorik olarak bu sayılar 1'den, hafızanın izin verdiği maksimum sayıya kadar çıkabilir. Ama pratikte, büyük sistemler için öğrenme süresi çok fazla olur. Dördüncü eleman olan 'ms', ağ sisteminin öğrenmesi gereken model sayısını belirler. Bu değer ve ikinci katmandaki PE'lerin sayısı birbirine bağlıdır. Eğer ağ sisteminin ikinci katmanında, daha önce bahsettiğimiz dahili örneği oluşturacak sayıda PE yoksa, program kısır döngüye girer. *Lr”' elemanı, sistemin öğrenme hızını, *mom' elemanı da sistemin, bir modeli öğrenirken sahip olduğu momentumu belirler. Bu iki eleman daha sonra açıklanacaktır. Son elaman olan “hata' ise, izin verilecek maksimum hata miktarını belirler. Program bu değeri kullanarak modelleri ne zaman öğrendiğine karar verir.
— SYS 49155, mod: modeli tanı. Bu komutu, sistem girdiğiniz modelleri öğrendikten sonra, sistemin hatırlamasını istediğiniz bir modeli girmek için kullanın. “Mod' elemanı, bir dizi O ve 1'lerden oluşur. Bu O ve sayısı, ilk katmandaki PE'lerin sayısına eşit olmalıdır. — SYS 49164, hg: Modelleri öğrenmeye başlar. Bu komutu BP'nin model öğrenmeye başlaması için kullanın. Bu komutu kullanmadan önce, ağ sistemini SYS 49152 komutuyla çalıştırmanız ve SYS 49167 komutuyla eğitim çiftlerini vermeniz gerekir. Hatta gösterme elemanı “hg', her öğrenme bittikten sonra toplam hatanın gösterilip gösterilmeyeceğini ayarlar. Eğer değeri | verilirse hatalar gösterilir, O verilirse hatalar gösterilmez. — SYS 49167, mn, gm, em: Eğitim çiftlerini ayarla. Ağ sistemini çalıştırdıktan sonra bu komutu sistemin öğreneceği modelleri ayarlamak için kullanın. Bu modeller, çiftle- Ti” denen çiftler halinde verilir. Bu çiftler giriş ve eğitim modellerini içerirler. Komuttaki *mn' model numa- Tasını temsil eder. Modelleri istediğiniz sıra ile girebilirsiniz ancak sayıları BP'nin çalıştırma komutundaki model sayısını (ms) geçmemelidir.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 13
Sisteme verilecek olan eğitim çiftlerinin tümüne 'eğitim seti' denir. “Gm' giriş modelini temsil eder ve sistemin öğreneceği giriş tipidir. Eğitim modeli *em', giriş modellerine karşılık gelecek olan çıkış modelllerini hesaplamada kullanılacaktır. İki model de tırnak içine alınmış O ve 1'lerden oluşmalıdır. Giriş modelindeki toplam karakter sayısı, sistemin birinci katmanındaki PE'lerin sayısına eşit olmalıdır. Öğretici modeldeki toplam karakter sayısı ise, sistemin ü katmanındaki PE'lerin sayısına eşit olmalıdır. — SYS 49172, “dosya ismi”': Sistemi kaydet. Bu komutla BP'nin yarattığı değişkenler ve diziler kaydedilir. Sistemi kaydetmek için komutu, tırnak içine de dosyanın ismini yazın. — SYS 49173, “dosya ismi”': Sistemi yükle. Bu komutla daha önce kaydedilen sistemlerin tekrar çalıştırılmadan geri çağrılması sağlanır.
XOR
XOR (mantıksal komut olarak ve ancak” diye Türkçe'ye çevrilebilir) fonksiyonu, geri yayılma tü- Tü ağ sistemlerinin çözmeyi öğrenebileceği klasik bir tür problemdir. XOR programını BP'nin fonksiyonunu anlatabilmek için size kendi sistemlerinizi yapmada yardımcı olabilmek için biraz inceleyeceğiz.
Tablo-2. XOR Fonksiyonu
0 XOR 0-0 1 XOR 0-1 0 XOR 1-1 1 XOR 1-0
XOR fonksiyonu iki giriş değeri alır ve bunları kullanarak bir çıkış değeri verir (tablo-2). En alt seviyede, fonksiyon iki giriş bitinden bir çıkış biti üretir. Sistem XOR'u, birinci katmanında iki ve üçüncü katmanında bir tane PE yaratarak taklit eder (şekil-4). Orta katmandaki PE sayısı sistemin kaç tane model öğrenmesini istediğimize bağlıdır. Bu örnekte bu sayı ikidir, çünkü iki, dört model öğrenmek için gereken en düşük sayıdır.
3. Katman
2. Katman
1. Katman
Şekil 4.XD2 problemini çözen sistemin ana şeması.
50. satırda SYS 49152 komutuyla sistemi çalıştırıyoruz. Bu komutu takip eden ilk üç sayı birinci, ikinci ve üçüncü katmanlarda kaçar tane PE olacağını belirler (söz konusu durumda bu sayılar 2, 2 ve 1'dir). Dördüncü değer sisteme dört tane model öğretmek istediğimizi gösterir. Sistem, modelleri, öğrenme denemeleri yaparak öğrenir. Her denemede, dahili örnek üzerinde yapılan işlemlerle doğru sonuca biraz daha yaklaşılır. Her deneme sonunda sistemin bulduğu sonuç ve gerçek sonuç
13 arasındaki fark yazılır. SYS komutunu takip eden beşince sayı öğrenme hızını belirler, bu her denemede hatadan azalacak olan miktardır. Altıncı değer yani sistemin momentumu da sistemin bir modeli ne kadar hızlı öğreneceğini ayarlar. Pratikte öğrenme hızı maksimum tutulurken, momentum da en aza indirilmeli; Eğer öğrenme hızı çok büyükse, sistem her modeli çok hızlı öğrenir ancak, daha önce öğrenmiş olduğu modelleri unutur. Öte yandan momentum çok yüksek bir değer alırsa, sistem her modeli çok hızlı öğrenir ama başka bir model öğrenmeye kalktığında hemen unutur. Amacımız sisteme tek bir model değil, bir grup model öğretmektir. en iyi sonucu almak için de öğrenme hızı en yüksek, momentum da en düşük değerini almalıdır. SYS komutundan sonraki son değer ise, sistemin yapmasına izin verilen toplam hata miktarıdır. Toplam hata, her öğrenme denemesinden sonra eğitim çiftlerindeki hataların toplamıdır. Toplam hata, izin verilen sınırın altına düşünce, sistem modelleri öğrendiğine karar verir. Eğer bu değer 0'a çok yakın bir değer verilirse BP, sonsuza kadar öğrenmeye devam eder, çünkü yaptığı hata hiç bir zaman sıfır olmayacaktır.