Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

YAPAY SİNİR AĞLARI. ÇALIŞMA YAPISI YAPAY SİNİR AĞLARININ SINIFLANDIRILMASI Yapay sinir ağları işleyiş olarak benzer olmalarına rağmen herhangi bir tasarım.

Benzer bir sunumlar


... konulu sunumlar: "YAPAY SİNİR AĞLARI. ÇALIŞMA YAPISI YAPAY SİNİR AĞLARININ SINIFLANDIRILMASI Yapay sinir ağları işleyiş olarak benzer olmalarına rağmen herhangi bir tasarım."— Sunum transkripti:

1 YAPAY SİNİR AĞLARI

2 ÇALIŞMA YAPISI

3 YAPAY SİNİR AĞLARININ SINIFLANDIRILMASI Yapay sinir ağları işleyiş olarak benzer olmalarına rağmen herhangi bir tasarım ve işleyiş standardı bulunmamaktadır. Nöron dizilimlerine, nöronların ağırlıklarının düzenleme için yapılan hesaplamaların türüne ve zamanına göre yapay sinir ağlarını üç ayrı dalda inceleyebiliriz.

4 1.Yapılarına Göre Yapay Sinir Ağları İleri Beslemeli Ağlar  İleri beslemeli ağlarda nöronlar girişten çıkışa doğru düzenli katmanlar şeklindedir. Bir katmandan sadece kendinden sonraki katmanlara bağ bulunmaktadır. Yapay sinir ağına gelen bilgiler giriş katmanına daha sonra sırasıyla ara katmanlardan ve çıkış katmanından işlenerek geçer ve daha sonra dış dünyaya çıkar.

5 YAPAY SİNİR AĞLARI İleri Beslemeli Ağ için Blok Diyagram

6 Geri Beslemeli Yapay Sinir Ağları  Geri beslemeli yapay sinir ağlarında ileri beslemeli olanların aksine bir nöronun çıktısı sadece kendinden sonra gelen nöron katmanına girdi olarak verilmez. Kendinden önceki katmanda veya kendi katmanında bulunan herhangi bir nörona girdi olarak bağlanabilir.  Bu yapısı ile geri beslemeli yapay sinir ağları doğrusal olmayan dinamik bir davranış göstermektedir.  Geri besleme özelliğini kazandıran bağlantıların bağlanış şekline göre, aynı yapay sinir ağıyla farklı davranışta ve yapıda geri beslemeli yapay sinir ağları elde edilebilir.

7 YAPAY SİNİR AĞLARI Geri Beslemeli Ağ için Blok Diyagram

8 2.Öğrenme Stratejilerine Göre Yapay Sinir Ağları Yapay sinir ağlarının verilen girdilere göre çıktı üretebilmesinin yolu ağın öğrenebilmesidir. Bu öğrenme işleminin de birden fazla yöntemi vardır. Yapay sinir ağları öğrenme algoritmalarına göre danışmanlı, danışmansız ve destekleyici öğrenme olarak üçe ayrılır.

9 Danışmanlı Öğrenme (Supervised learning)  Danışmanlı öğrenme sırasında ağa verilen giriş değerleri için çıktı değerleri de verilir. Ağ verilen girdiler için istenen çıkışları oluşturabilmek için kendi ağırlıklarını günceller. Ağın çıktıları ile beklenen çıktılar arasındaki hata hesaplanarak ağın yeni ağırlıkları bu hata payına göre düzenlenir.  Hata payı hesaplanırken ağın bütün çıktıları ile beklenen çıktıları arasındaki fark hesaplanır ve bu farka göre her nörona düşen hata payı bulunur. Daha sonra her nöron kendine gelen ağırlıkları günceller.  Çok Katmanlı perceptron(algılayıcı) ağı bu tür öğrenmeyi kullanan ağlara örnek olarak verilebilir.

10 YAPAY SİNİR AĞLARI Danışmanlı Öğrenme Yapısı

11 Örneklendirme Bir örneklendirme yapılmak istenirse; İnsanı tarif ederken şu özellikler dikkate alınsın: boy, kilo, saç rengi, ayakkabı numarası. Bu kriterlere göre bir öğrencinin futbol oynayabilir ya da oynayamaz şeklinde ayrımı yapılmak istensin. Bir Öğretmenin verdiği bilgiler ışığında her öğrenciye “oynayabilir” yada “oynayamaz” bilgisi atansın. Eğer yapay sinir ağı, 100 kişilik böyle bir grubu öğrenseydi ve ardından 100 kişinin içinden herhangi biri yapay sinir ağına boyu, kilosu, saç rengi, ayakkabı numarası verilerek sorulsaydı, yapay sinir ağı o öğrencinin oynayıp oynayamayacağının cevabını verecekti. Çünkü yapay sinir ağı her bir özellik için (boy kilo vs…) ağırlık güncellemesini yapacak ve öğretmenin gösterdiği her öğrenci ve ona iliştirilen kararı arasındaki korelasyonu “w” ağırlıkları üzerinde güncelleye güncelleye öğretecekti. Ağ burada öğrenmesini bir öğretmenle yapmıştır. YAPAY SİNİR AĞLAI

12 Danışmansız Öğrenme (Kendi kendine öğrenme) (Self, Unsupervised learning)  Danışmansız öğrenmede ağa öğrenme sırasında sadece örnek girdiler verilmektedir. Herhangi bir beklenen çıktı bilgisi verilmez.  Örneklerdeki parametreler arasındaki ilişkileri sistemin kendi kendine öğrenmesi beklenir. Bu, daha çok sınıflandırma problemleri için kullanılan bir öğrenme şeklidir.  Girişte verilen bilgilere göre ağ her bir örneği kendi arasında sınıflandıracak şekilde kendi kurallarını oluşturur. Ağ bağlantı ağırlıklarını aynı özellikte olan dokuları ayırabilecek şekilde düzenleyerek öğrenme işlemini tamamlar.

13 YAPAY SİNİR AĞLARI Danışmansız öğrenme yapısı

14 Danışmansız Öğrenme (Unsupervised learning) Yalnız sistemin öğrenmesi bittikten sonra çıktıların ne anlama geldiğini gösteren etiketlendirmenin kullanıcı tarafından yapılması gerekir. Kohonen ağları ve Adaptive Resonance Theory (ART) ağları, bu stratejiyi kullanan sistemlere örnek olarak verilebilir. YAPAY SİNİR AĞLARI

15 Örneklendirme Örneğin, 100 kişilik bir sınıfın boy, kilo, saç rengi ve ayakkabı numarası yine girdi örüntülerinin değerlerini oluştursun. Yapay sinir ağı ilk gelen kişiyi bir sınıf olarak ilan edecek ve ardından sisteme beslenen tüm girdileri buna benziyor ya da benzemiyor diye ayırt edecektir. Bu ayrımı yapabilmesi için 100 kişilik grubun değerleri, sisteme tekrar tekrar beslendiği takdirde, YSA en sonunda öğrenmesini tamamlayacak ve 2 sınıf öğrenmiş olacaktır. 1.girdiye benzeyenler ve benzemeyenler. Adını koyamadığı bu sınıflar yardımıyla “hanımlar” ve “beyler” gibi olarak rahatlıkla sınıf ayrılmış daha doğrusu bu iki sınıf başarıyla öğrenilmiş olunacaktır. Böyle bir ağ modeline yabancı bir kişi değerleri verilirse, YSA bu kişiye doğru cinsiyetini söyleyecektir. YAPAY SİNİR AĞLARI

16 Destekleyici Öğrenme (Reinforcement learning)  Bu öğrenme yaklaşımında sisteme bir öğretici yardımcı olur. Fakat öğretici her girdi seti için olması gereken çıktı setini sisteme göstermek yerine sistemin kendisine gösterilen girdilere karşılık çıktısını üretmesini bekler ve üretilen çıktının doğru veya yanlış olduğunu gösteren bir sinyal üretir. Sistem, öğreticiden gelen bu sinyali dikkate alarak öğrenme sürecini devam ettirir.  LVQ (Linear Vektor Quantization) Ağı yani Doğrusal Vektör Parçalama ağı bu stratejiyi kullanan sistemlere örnek olarak verilebilir.  Örneğin, satranç oynayan bir yapay sinir ağı yaptığı hamlenin iyi veya kötü olduğunu anlık olarak ayırt edememesine rağmen yine de hamleyi yapar. Eğer oyun sonuna geldiğinde program oyunu kazandıysa yaptığı hamlelerin iyi olduğunu varsayacaktır ve bundan sonraki oyunlarında benzer hamleleri iyi olarak değerlendirerek oynayacaktır.

17 YAPAY SİNİR AĞLARI Destekleyici öğrenme yapısı

18 3. Öğrenme Zamanına Göre Yapay Sinir Ağları Yapay sinir ağları öğrenme zamanına göre de statik ve dinamik öğrenme olarak ikiye ayrılır. Statik Öğrenme  Statik öğrenme kuralıyla çalışan yapay sinir ağları kullanmadan önce eğitilmektedir. Eğitim tamamlandıktan sonra ağ istenilen şekilde kullanılabilir. Ancak bu kullanım sırasında ağın üzerindeki ağırlıklarda herhangi bir değişiklik olmaz.

19 Dinamik Öğrenme  Dinamik öğrenme kuralı ise yapay sinir ağlarının çalıştığı süre boyunca öğrenmesini öngörerek tasarlanmıştır. Yapay sinir eğitim aşaması bittikten sonra daha sonraki kullanımlarında çıkışların onaylanmasına göre ağırlıklarını değiştirerek çalışmaya devam eder.

20 YSA Öğrenme Algoritmaları YAPAY SİNİR AĞLARI Yapay sinir ağının geliştirilmesinde kullanılacak çok sayıda öğrenme algoritması bulunmaktadır. Bunlar içinde bazı algoritmaların bazı tip uygulamalar için daha uygun olduğu bilinmektedir.

21 Temel Öğrenme Kuralları Literatürde kullanılan çok sayıda öğrenme algoritması bulunmaktadır. Bu algoritmaların çoğunluğu matematik tabanlı olup ağırlıkların güncelleştirilmesi için kullanılırlar. Yapay sinir ağının mimarisine, karşılaşılan sorunun niteliğine göre farklılık gösteren bu öğrenme algoritmalarının yüzden fazla çeşidi bulunmaktadır. Bu algoritmaların bir çoğu aşağıda sıralanan kurallardan esinlenerek geliştirilmiştir.  Hebb Kuralı  Delta Kuralı  Kohonen Kuralı  Hopfield Kuralı YAPAY SİNİR AĞLARI

22 Hebb Kuralı 1949 yılında Kanadalı psikolog Donald Hebb tarafından biyolojik temele dayalı olarak geliştirilmiş olan Hebb algoritması en eski ve en çok bilinen öğrenme algoritmasıdır. Diğer öğrenme kurallarının temelini oluşturmaktadır. Bu öğrenme algoritması basit bir mantığa dayanmaktadır: Eğer nöron (A) başka bir nöron' dan (B) girdi alıyorsa ve her ikisi de aktifse(matematik olarak aynı işareti taşıyorsa), her iki hücrenin arasındaki bağlantı kuvvetlendirilmelidir. (A) ve (B) arasındaki ağırlık artar. Bu düşüncenin en çok kullanılan şekli: YAPAY SİNİR AĞLARI

23 Hebb Kuralı Bu formülde w jk nöron u k ' den nöron u j ' ya olan ağırlık, y j,,u j nöronun çıktısı ve x k ise u k nöronun çıktısıdır. α "öğrenme oranı" veya " öğrenme katsayısı" olarak adlandırılmaktadır ve birçok öğrenme algoritması tarafından kullanılır. Öğrenme katsayısı "0" ile "1" arasında bir değer alır ve bu değer ağın öğrenme hızını belirler. α 'nın büyük değerleri için daha hızlı öğrenme, küçük değerleri için daha yavaş öğrenme gerçekleşmektedir. Ancak hızlı öğrenme ağın "genelleme" yeteneğini azaltır. Genelleme yeteneği ağın eksik ve gürültülü verilerle doğru sonuçlar üretebilmesi için oldukça önemlidir. Hebb algoritmasıyla ilgili bir diğer konuda ağın eğitimden önce ağırlıklarının 0 olması gerektiğidir. YAPAY SİNİR AĞLARI

24 Delta Kuralı Delta kuralı ilk olarak Widrow ve Hoff tarafından geliştirilmiş daha çok mühendislik kökenli bir algoritmadır. Bu kural, nöronun gerçek çıkışı ile istenilen çıkış değerleri arasındaki farkı azaltan, giriş bağlantılarını güçlendiren ve sürekli olarak değiştiren bir düşünceye dayanmaktadır. Delta kuralı, ortalama karesel hatayı, bağlantı ağırlık değerlerinin değiştirilmesi ile düşürme prensibine dayanır. Bu nedenle de bu algoritma en küçük kareler kuralı olarak da bilinmektedir (Least- Mean-Square Rule LMS). Hata aynı anda bir katmandan bir önceki katmanlara geri yayılarak azaltılır. Ağın hatalarının düşürülmesi işlemi, çıkış katmanından giriş katmanına ulaşıncaya kadar devam eder. YAPAY SİNİR AĞLARI

25 Delta Kuralı Bir nöronun çıktısının o p,j, hedeflenen çıktı d p,j 'den farkı,(hata), δ j nöron j için şöyle hesaplanır: δ j = d pj -o p,j Bu algoritma, hata karelerinin ortalamasını alarak, bu değerin en küçük olduğu çözümü bulmaya amaçlar. Ağ için hata karelerinin ortalaması, aşağıdaki gibi hesaplanır: YAPAY SİNİR AĞLARI

26 Delta Kuralı MSE: Mean Squared Error Delta algoritması hataların karesinin en küçük olduğu noktayı bulurken dereceli azaltma yöntemini (gradient descent) kullanmaktadır. Bu yöntemde, hata kareleri, koordinatlarını ağırlıkların oluşturduğu uzayda bir çanak oluşturmaktadır (Şekil 1). Delta algoritması mevcut ağırlık vektörünü bulunduğu konumdan hatanın en küçük olduğu çanağın dibine doğru ilerletir. YAPAY SİNİR AĞLARI

27 Delta Kuralı YAPAY SİNİR AĞLARI Şekil 1.Delta algoritmasında ağırlık değişimi

28 Delta Kuralı İşlem elemanının doğrusal geçiş fonksiyonuna sahip olduğu kabul edildiğinde; Hata karelerinin ortalamasının en küçük olduğu noktayı bulmak için ağırlıklar t=zaman olmak üzere t=1,2,3,.., için aşağıdaki gibi değiştirilir: YAPAY SİNİR AĞLARI

29 Kohonen Kuralı Bu kural, biyolojik sistemlerdeki öğrenmeden esinlenerek Kohonen tarafından geliştirilmiştir. Bu kuralda nöronlar öğrenmek için yarışırlar. Kazanan nöronun ağırlıkları güncellenir. Bu kural “kazanan tamamını alır” olarak da bilinir. En büyük çıkışa sahip işlemci nöron kazanır. Bu nöron, komşularını uyarma ve yasaklama kapasitesine sahiptir. Kohonen kuralı, hedef çıkışa gereksinim duymaz. Bu nedenle danışmansız bir öğrenme metodudur. YAPAY SİNİR AĞLARI

30 Hopfield Kuralı Bu kural, zayıflatma ve kuvvetlendirme büyüklüğü dışında Hebb Kuralına benzerdir. Eğer istenilen çıkış ve girişin her ikisi aktif veya her ikisi de aktif değilse öğrenme oranı tarafından bağlantı ağırlığı arttırılır. Diğer durumlarda ise azaltılır. Birçok öğrenme algoritmasında öğrenme katsayısı oranı veya sabiti vardır. Genellikle bu terim 0 ile 1 arasında değerler almaktadır. YAPAY SİNİR AĞLARI

31 YSA da en çok kullanılan modeller Bir YSA da işlem elemanlarının bağlanması sonucu oluşan topoloji, işlem elemanlarının sahip oldukları toplama ve aktivasyon fonksiyonları, öğrenme stratejisi ve kullanılan öğrenme kuralı ağın modelini belirlemektedir. Günümüzde çok sayıda model geliştirilmiştir. Bunların en yaygın olarak kullanılanları ve pratik hayatta uygulananları şunlardır; YAPAY SİNİR AĞLARI

32 Algılayıcılar(Perceptron) Çok katmanlı algılayıcılar(Hatayı geriye yayma modelleri) Doğrusal Vektör Kuantizasyon modelleri (LVQ) (Linear Vektor Quantization) Adaptif Rezonans Teorisi modelleri(ART) Kendi kendini organize eden model(SOM) Hopfield ağları Probabilistic ağlar(PNN) Boltzman makinesi Counter-Propagation ağı Elman ağı Radyal temelli ağlar(RBN) Neocognitron ağı YAPAY SİNİR AĞLARI

33 Geri yayılım algoritması (Back-Propagation Algorithm) Geri yayılım algoritması için en önemli kavram nöron hatasıdır. Nöron hatası, nöronun ideal olan istenen çıktısından farkı demektedir.  a i j nöron aktivasyonun ideal istenen çıktılardan farkı = (j,i) nöronun hatasıdır  Bu hataları kullanarak J’nin türevleri verimli şekilde hesaplanabilir, ama...  Arasındaki nöronların ideal olan çıktısı genellikle bilinmez, sadece en son nöron için çıktılar bilinebilir.

34 Geri yayılım algoritması Ana problem: hatalar sadece son (çıkış) nöron için bilinebilir (çıkış nöronlardan ne istediğimiz bilinir) Sadece bu nöronlar için hatalar açıkca belirtilebilir (yani modellenecek verinin örnekleri kullanarak çıkış nöronların hataları tahmin edilebilir).

35 Geri yayılım algoritması  YSA’ları, karmaşık lineer olmayan fonksiyonlar temsil eder ve birçok esnek parametre içerir.  Bu nedenle, YSA direkt olarak lineer olmayan aynı zamanda esnek ve bu nedenle güçlü genel modelleme yaklaşımıdır. x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

36 Geri yayılım algoritması Geri yayılım algoritmasının ana fikri: Son nöron için (a (3) ), hataları bilinir (örnekler kullanın) Bu nöron için hataları bu şekilde hesaplıyoruz: Örneklerdeki YSA hataları:

37 Geri yayılım algoritması Geri yayılım algoritmasının ana fikri: Son nöron için (a (3) ), hataları bilinir (örnekler kullanın) Bu nöron için hataları bu şekilde hesaplıyoruz: Gereken çıktı

38 Geri yayılım algoritması Geri yayılım algoritmasının ana fikri: Son nöron için (a (3) ), hataları bilinir (örnekler kullanın) Bu nöron için hataları bu şekilde hesaplıyoruz: YSA’ndan alınmış çıktı

39 Geri yayılım algoritması Geri yayılım algoritmasının ana fikri: Son nöron için (a (3) ), hataları bilinir (örnekler kullanın) Bu nöron için hataları bu şekilde hesaplıyoruz: YSA’nın hatası

40 Geri yayılım algoritması Gizli elemanlar için hataları bilmiyoruz... x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 ? OK

41 Geri yayılım algoritması ”Sonraki katmanda hataları kaldırmak için, önceki katmandaki nöron aktivasyonu ne şekilde değiştirilmeli ?” x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

42 Geri yayılım algoritması Son elemanın  1 3 hatasını kaldırmak için, (önceki) a 1 2 -a 3 2 elemanlarının değerleri ne şekilde değiştirilmeli ? x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 ?

43 Geri yayılım algoritması Bu sorun matematiksel şekilde çözülebilir, önceki nöronların  -hataları için bu “geri yayılım” formülü alınabilir: x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 OK

44 Geri yayılım algoritması Daha genel anlamda bu sorunun örnekleri de ilginçtir; genel anlamda bu bir “suçlama atama sorunu”dur (blame assignment problem) x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

45 Geri yayılım algoritması Genel olarak suçlama atama demek ki, “kötü bir şey ama birçok kişi katkıda bulunduğu için kimin yaptığını bilemiyoruz  ” x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

46 Geri yayılım algoritması Büyük organizasyonda önemli bir sorundur x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

47 Geri yayılım algoritması Örnek: bir şirkette ürün çok kötü kalitede bulunmakta, ama...

48 Geri yayılım algoritması... Ürün üretiminde birçok kişi katkıda bulunduğu için buna kimin sorun olduğunu bilmiyoruz. x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 Ürün kötü ! Kimin sorun ??? Birçok kişi katkıdadır...

49 Geri yayılım algoritması... Ürün üretiminde birçok kişi katkıda bulunduğu için buna kimin sorun olduğunu bilmiyoruz x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 Ürün kötü ! Kimin sorun ??? Birçok kişi katkıdadır... Suçlama atama sorunu

50 Geri yayılım algoritması Geri yayılım algoritması bu soruya bir cevaptır x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 Ürün kötü ! Kimin sorun ??? Birçok kişi katkıdadır...

51 Geri yayılım algoritması YSA’da, benzer şekilde sadece son nöronun hatası biliniyor ama daha önce katkısı olan nöronların hatalarını da bulmak gerekiyor x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

52 Geri yayılım algoritması Geri yayılım algoritmasında bu sorun şu şekilde çözülüyor: x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

53 Geri yayılım algoritması Önemli nokta: burada hatalar geri yayılım şeklinde hesaplanır–ilk önce son hata bulunur, sonra önceki hatalar bulunur, sonra daha önceki hatalar bulunur, vb x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

54 Geri yayılım algoritması Uygulamalarda YSA’nın yapısını belirtmek lazım:  Kaç nöron  Kaç katman  Katmanlarda kaç nöron  Böyle sorulara “YSA mimarisi” denir x1x1 x2x2 s1s1 s2s2

55 Geri yayılım algoritması YSA mimarisi seçmeyle ilgili, bazı genel kurallar var:  Daha çok nöron varsa, sonuç daha iyi olur  Daha çok gizli katman varsa, sonuç daha iyi olur x1x1 x2x2 s1s1 s2s2

56 Geri yayılım algoritması YSA simetri sorunu: gizli elemanların numaralandırması herhangi bir şekilde olabilir Farklı numaralandırma sonuca hiç bir şekilde etki etmez. x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

57 Geri yayılım algoritması Farklı şekilde numaralandırılmış gizli nöronlar, ve dolasıyla w-matrisleri, eş YSA’yı belirtirler. x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13 x1x1 x2x2 x3x3 a12a12 a22a22 a32a32 a13a13

58 YAPAY SİNİR AĞLARI

59

60

61

62

63

64

65 Referanslar 1. Neural Networks, A Comprehensive Foundation, S. Haykin, Prentice Hall (1999) 2. Elements of Articial Neural Networks K Mehrotra C K Mohan, S.Ranka, MIT, Öztemel E., Yapay Sinir Ağları, Papatya Yayıncılık, İstanbul, http://www.neuron.yale.edu/ YAPAY SİNİR AĞLARI


"YAPAY SİNİR AĞLARI. ÇALIŞMA YAPISI YAPAY SİNİR AĞLARININ SINIFLANDIRILMASI Yapay sinir ağları işleyiş olarak benzer olmalarına rağmen herhangi bir tasarım." indir ppt

Benzer bir sunumlar


Google Reklamları