1. Çok Katmanlı Yapay Sinir Ağları
ve
Geri Yayılım Algoritması
Hazırlayan:Hülya SOYLU - 12060382
2. Giriş
➔ Çok Katmanlı Algılayıcı
➔ ÇKA Modelinin Yapısı
➔ ÇKA Ağının Öğrenme Modeli
➔ ÇKA Ağının Çalışma Prosedürü
➔ Ağın Eğitilmesi
➔ XOR Probleminin Çözülmesi
➔ ÇKA Ağının Performansının Ölçülmesi
➔ ÇKA Ağının Öğrenmek Yerine Ezberlenmesi
➔ Bir ÇKA Ağının Oluşturulmasında Dikkat Edilmesi Gereken
Bazı Önemli Noktalar
➔ Ağların Büyütülmesi ve Budanması
➔ ÇKA Ağının Uygulama Alanları
➔ ÇKA Örnek Uygulama
➔ Geri Yayılım Algoritması
3. Çok Katmanlı Algılayıcı
● Çok katmanlı algılayıcı ağları XOR problemini
çözebilmek için yapılan çalışmalar neticesinde
ortaya çıkmıştır.
● Bu problemin özelliği doğrusal olmayan bir
ilişkiyi göstermesidir.
● Yani çıktıların arasına bir doğru veya doğrular
çizerek onları onları iki veya daha fazla sınıfa
ayırmak mümkün değildir.
4. ● Rumelhart ve arkadaşları tarafından geliştirilen
bu modele hata yayma modeli veya geriye
yayım modeli(backpropogation network) de
denmektedir.
● Temel amacı ağın beklenen çıktı ile ürettiği çıktı
arasındaki hatayı en aza indirmektir.
● Bunu hatayı ağa yayarak gerçekleştirdiği için bu
ağa hata yayma ağı da denmektedir.
6. ● Girdi katmanı : Dış dünyadan bilgileri alır.Bu katmanda
herhangi bir bilgi işleme olmaz.
● Ara Katmanlar : Girdi katmanından gelen bilgileri
işleyerek bir sonraki katmana gönderir.Bir ÇKA ağında
birden fazla ara katman ve her katmanda birden fazla
proses elemanı olabilir.
● Çıktı katmanı: Ara katmandan gelen bilgileri işleyerek ağa
girdi katmanından sunulan girdi için ağın ürettiği çıktıyı
bulur.Bu çıktı dış dünyaya iletilir.
7. ÇKA Ağının Öğrenme Kuralı
● ÇKA ağı öğretmenli öğrenme stratejisini kullanır.
● Ağa hem örnekler hem de örneklerden elde
edilmesi gereken çıktılar(beklenen çıktılar) verilir.
● Ağ bu örneklerden genelleme yaparak problem
uzayını temsil eden bir çözüm uzayı üretir.
● Daha sonra gösterilen benzer örnekler için bu
çözüm uzayı sonuçlar ve çözümler üretir.
8. ● ÇKA ağının öğrenme kuralı en küçük kareler yöntemine
dayalı Delta Öğrenme Kuralının genelleştirilmiş halidir.
● Genelleştirilmiş “Delta Kuralı” iki safhadan oluşur:
● İleri doğru hesaplama (Feed Forward) : Ağın çıktısını
hesaplama safhası.
● Geriye doğru hesaplama (Back Propogation) :
Ağırlıkları değiştirme safhası.
9. İleri doğru hesaplama
● Bu safhada bilgi işleme eğitim setindeki bir örneğin Girdi
Katmanından ağa gösterilmesi ile başlar.
● Gelen girdiler hiç bir değişiklik olmadan ara katmana gönderilir.
● Girdi katmanındaki k. Proses elemanının çıktısı Çki şu şekilde
belirlenir:
10. ● Ara katmandaki her proses elemanı girdi
katmanındaki bütün proses elemanlarından
gelen bilgileri bağlantı ağırlıklarının (A1,A2,....)
etkisi ile alır.
● Önce ara katmandaki proses elemanlarına
gelen net girdi(NET ja ) şu formül kullanılarak
hesaplanır:
11. ● Burada A kj k. girdi elemanını j. ara katman elemanına
bağlayan bağlantının ağırlık değerini göstermektedir.
● J. ara katman elemanının çıktısı ise bu net girdinin
aktivasyon fonksiyonundan geçirilmesiyle hesaplanır.
12. ● Sigmoid fonksiyonu:
● (Kullanılmasının en önemli özelliği sürekli ve
türevlenebilir olması.)
14. ● Sigmoid fonksiyonu
kullanılması halinde
çıktı:
● Burada β j , ara katmanda
bulunan j. elemana
bağlananeşik değer
elemanının ağırlığını
göstermektedir.
● Bu eşik değer ünitesinin
çıktısı sabit olup 1’e eşittir.
● Eğitim sırasında ağ bu değeri
kendisi belirlemektedir.
15. ● Ara katmanın bütün proses
elemanları ve çıktı katmanının
proses elemanlarının çıktıları aynı
şekilde kendilerine gelen NET
girdinin hesaplanması ve sigmoid
fonksiyonundan geçirilmesi
sonucu belirlenirler.
● Çıktı katmanından çıkan
değerler bulununca ağın ileri
doğru hesaplama
işlemi tamamlanmış olur.
16.
17. MATLAB’de İleri Beslemeli (Feed
Forward) ÇKP Ağların Tasarımı
● Öncelikle bu ağ yapısını kullanabilmek için bir ileri beslemeli ağ nesnesi
oluşturmamız gerekir.
● MATLAB’deki newff komutu bu işlemi gerçekleştirmektedir.
●
newff komutunun yazım biçimi aşağıda verilmiştir:
● net = newff(PR,[S1 S2…SNl],{TF1 TF2…TFNl},BTF,BLF,PF)
Burada;
● PR - R elemanlı giriş vektörünün minimum ve maksimum değerlerini içeren Rx2 ‘lik matris.
● Si - i’nci katmanda bulunan nöron sayısı.
● TFi - i’nci katmanın transfer fonksiyonu, varsayılan= 'tansig'.
● BTF - Geriye yayılım ağ eğitim fonksiyonu, varsayılan = 'trainlm'.
● BLF - Geriye yayılım ağırlık/bias öğrenme fonksiyonu, varsayılan = 'learngdm'.
● PF - Performans fonksiyonu, varsayılan = 'mse' dir.
18. Geriye doğru hesaplama
● Ağa sunulan girdi için ağın ürettiği çıktı ağın
beklenen çıktıları ile karşılaştırılır. Bunların
arasındaki fark hata olarak kabul edilir. Amaç bu
hatanın düşürülmesidir.
● Bu hata, ağın ağırlık değerlerine dağıtılarak bir
sonraki iterasyonda hatanın azaltılması sağlanır.
● Çıktı katmanındaki m. proses elemanı için oluşan
hata Em ;
19. ● Yukarıdaki hata, bir proses elemanı için oluşan
hatadır.
● Çıktı katmanı için oluşan toplam hatayı (TH) bulmak
için bütün hataların toplanması gerekir.
● Toplam hatayı en azlamak için bu hatanın kendisine
neden olan proses elemanlarına dağıtılması
gerekmektedir.
20. ● Ağın ağırlıklarını değiştirmek için 2 durum söz
konusudur:
I. Ara katman ile çıktı katmanı arasındaki
ağırlıkların değiştirilmesi
II.Ara katmanlar arası veya ara katman girdi
katmanı arasındaki ağırlıkların değiştirilmesi
21. Ara katman ile çıktı katmanı
arasındaki ağırlıkların değiştirilmesi
● Ara katmandaki j. Proses elemanı çıktı katmanındaki
m. Proses elemanına bağlayan bağlantının
ağırlığındaki değişim miktarına
∆A a denirse; herhangi bir t zamanında ağırlığın
değişim miktarı şöyle hesaplanır:
●
● Burada λ öğrenme katsayısını,α momentum
katsayısını göstermektedir.
22. ● Momentum katsayısı ağın öğrenmesi
esnasında yerel bir optimum noktaya takılıp
kalmaması için ağırlık değişim değerinin belirli
bir oranda bir sonraki değişime eklenmesini
sağlar.
● Yine yukarıdaki formül dikkate alındığında δ m
ise m. Çıktı ünitesinin hatasını göstermektedir
23.
24. ● f’(NET) aktivasyon fonksiyonunun türevidir.
Sigmoid fonksiyonun kullanılması durumunda
● Değişim miktarı hesaplandıktan sonra
ağırlıkların t.iterasyondaki yeni değerleri:
25. ● Benzer şekilde eşik değer ünitesinin de ağırlıklarını
değiştirmek gerekmektedir. Çıktı katmanında bulunan
proses elemanlarının eşik değer ağırlıkları β ç ile
gösterilirse; bu ünitenin çıktısı sabit ve1olması nedeni ile
değişim miktarı:
● olacaktır. Eşik değerin t. İterasyonundaki ağırlığının yeni
değeri ise ;
● şeklinde hesaplanacaktır.
26. Ara katmanlar arası veya ara katman girdi
katmanı arasındaki ağırlıkların değiştirilmesi
● Ara katman ile çıktı katman arasındaki ağırlıkların
değişiminde her ağırlık için sadece çıktı katmanındaki bir
proses elemanının hatası dikkate alınmıştır. Oysaki bu
hataların oluşmasında girdi katmanı ve ara katman
arasındaki ağırlıkların payı vardır.
● Girdi katmanı ile ara katman arasındaki ağırlıkların
değişimi ∆A i ile gösterilirse değişim miktarı:
27. ● Yine buradaki hata terimi δ a şöyle
hesaplanacaktır:
● Aktivasyon fonksiyonu olarak sigmoid
fonksiyonun kullanılması durumunda;
28. ● Ağırlıkların yeni değerleri;
● Benzer şekilde eşik değer ünitesinin de
ağırlıklarını değiştirmek gerekmektedir. Ara
katman eşik değer ağırlıkları β a ile gösterilirse
değişim miktarı;
29. ● Ağırlıkların yeni değerleri ise t. iterasyonda
şöyle hesaplanacaktır.
● Böylece ağın ağırlıklarının hepsi değiştirilmiş
olacaktır.
● Bir iterasyon hem ileri hem de geriye doğru
hesaplamaları yapılarak tamamlanmış olacaktır.
30.
31.
32.
33. Çok Katmanlı Ağın Çalışma
Şekli
● Örneklerin toplanması
● Ağın topolojik yapısının belirlenmesi
● Öğrenme parametrelerinin belirlenmesi
● Ağın başlangıç değerlerinin atanması
● Öğrenme setinden örneklerin seçilmesi ve ağa
gösterilmesi
● Öğrenme sırasında ileri hesaplamaların yapılması
● Gerçekleşen çıktının beklenen çıktı ile karşılaştırılması
● Ağırlıkların değiştirilmesi