T.C. Ýstanbul Ticaret Üniversitesi

Bilgisayar Mühendisliði Bölümü

Yapay Sinir Aðlarý (Artificial Neural Networks)

Dersi Veren: Þadi Evren ÞEKER (Yük. Müh.)

Dersin Web Sitesi: www.sadievrenseker.com/nn

Dersin Öðrenci Ýletiþim Sitesi : www.sesders.com

Email Adresi:nn [at] sesders.com

Dersin Amacý:

Bu dersin amacý, bilgisayar mühendisliðinin önemli konularýndan birisi olan yapay sinir aðlarýnýn öðretilmesi ve kullaným alanlarýnýn öðrencilere tanýtýlmasýdýr.

Bu derste yapay sinir aðlarýnýn çeþitli yönleri incelencek ayrýca eðitilebilir bir sistem tasarlamak için gerekli olan elemanlar anlatýlacaktýr. Dersin kapsamýndaki konular doðrusal (linear) ve doðrusal olmayan (non-linear) aðlar, geri yayýlým (back progation) algoritmalarý, Gözetimli (Supervised) ve Gözetimsiz (Unsupervised) öðrenme algoritmalarý, Hopfield aðlarý ve Ýleri ayapay sinir aðý mimarileri ve eðitim algoritmalarýdýr. Yapay sinir aðlarý ile ilgili nazari ve tatbiki konularýnýn inceleneceði derste olasý araþtýrma konularýna da yer verilecektir.

Resimler

Yukarýda biyolojik bir sinir aðý görülmektedir. Aþaðýda ise bilgisayarlar olmadan bir yapay sinir aðýnýn yapýlmasýnýn zorluðu görülmektedir J (bu ve çok benzeri Soundwalk 2007 isimli çalýþmanýn detaylarý için http://steim.org/projectblog/?p=114 adresine bakabilirsiniz)

Olasý Ders Ýçeriði

·         Yapay Sinir Aðlarýna Giriþ

Yapay sinir aðlarýnda temel kavramlar:

  • Yapay Sinir Aðlarý (Artificial Neural Networks)
  • Sinir Hücresi (Nöron, Neuron)
  • Sinapsis (Synapses)
  • Yapay Sinir Aðlarý ve Problem Çözümü
  • Yapay Sinir Aðlarýnýn Eðitimi (Training Neural Networks)
  • Doðrusal Ayrýlabilirlik (Linear Seperability)

    Yapay sinir aðlarýnýn kullanýmý ve basit uygulamalarýn geliþtirilmesi:

  • Nöron'un kullanýmý
  • Yapay Sinir Aðlarýnda Katmanlar
  • Tek Katmanlý Sinir Aðý uygulamalarý
  • JOONE Kurulum ve kullanýmý ve XOR örneðinin geliþtirilmesi

    Aðýrlýk Matrisleri ve Sinir aðlarýnýn sayýsal iþlenmesi:

  • Hopfield Aðlarýnýn Sayýsal Gösterimi
  • Aðýrlýk matrislerinin çýkarýmý ve hesaplanmasý

    Hata miktarý (Error Rate) hesaplanmasý ve Gözetimli Öðrenme (Supervised Learning)

  • Gözetimsiz Öðrenme (Unsupervised Learning)
  • Gözetimli Öðrenme (Supervised Learning)
  • Kare Ortalamalarýnýn Karekökü (Root Mean Square)
  • Hata Hesabý (Error Calculation)
  • Hebb Kuralý (Hebb's Rule)
  • En küçük ortalamalý kareler (Least Mean Square)
  • Delta Kuralý (Delta Rule)

    Ýleri beslemeli ve Geri yayýlýmlý aðlar:

  • Ýleri Beslemeli Aðlar (Feed Forward Networks)
  • Sigmoid Fonksiyonu
  • Hiperbolik Tanjant Fonksiyonu
  • Doðrusal Fonksiyon (Linear Function)
  • Gizli Katman Sayýsýnýn belirlenmesi
  • Gizli katmandaki sinir hücresi sayýsýnýn belirlenmesi
  • Geri Yayýlýmlý Aðlar (Backpropagation Networks)
  • Meyilli Azalým (Gradient Descent)

    Sýnýflandýrma Yöntemleri:

  • KNN ( K Nearest Neighborhood)
  • Özellik Çýkarýmý (Feature Extraction)
  • Support Vector Machine (SVM, Destekçi Vektör Makinesi (DVM))
  • Kazanan Hepsini Alýr (Winner Takes All)
  • Çok Sýnýflý DVM (Multiclass SVM)
  • Doðrusal olmayan DVM (Nonlinear SVM)

    Sýnýflandýrma Yöntemleri -2- :

  • K-Ortalama Algoritmasý (k-means algorithm)
  • Özdüzenleyici Haritalar (Self Organizing Maps)


    Quiz ve Çözümleri
    Quiz sorularý ve çözümleri için týklayýnýz

    ·         Doðrusal Ayrým (Linear Discrimination) , Doðrusal Geriletme (Linear Regerssion), Ýkili Sýnýflandýrma, Çoklu Sýnýflandýrma

    ·         Eðitim (Training),Aþýrý Eðiitm (Overtraining), Bayes Öðrenmesi (Bayesian Learning)

    ·         Boyut Küçültme (Dimensionality Reduction)

    ·         Öðrneme zamanlarý ve Performans

    ·         Rekabetçi Öðrenme, K-Means, Hebbian, KNN ( k nearest neighborhood), Self Organized Maps (SOM), Radial Basis

    Derste iþlenen JAVA kodlarý

  • Hopfield aðlarýnýn kodlanmasý (nöron, katman ve arayüz kodu)

    Ödevler

    1. Ödev: Basit bir "ve" ve "veya" kapýsýný tek nöronlu bir yapay sinir aðý olarak JAVA dilinde kodlayýnýz. Buna göre sisteme verilen bütün giriþ ve çýkýþ deðerleri için kodladýðýnýz nöron doðru ateþlemeyi yapacaktýr (Teslim 20 Ekim 2008)

    2. Ödev: Derste anlatýlan 4 nöronlu hopfield aðýný, 3 giriþli sistemlerde çalýþacak þekilde deðiþtiriniz. Buna göre Sisteminizin 3 bitlik bir veriyi öðrenmesi ve bu 3 bitlik veriyi doðru olarak bulabilmesi gerekmektedir. (Teslim 27 Ekim 2008)

    3. Ödev: 2. ödevde yapýlan hopfield aðýný hata öðrenir bir þekilde geliþtirin ve derste anlatýlan hebbian ve delta kurallarýna göre iki farklý yöntem ile hazýrlayýn.

    SOM Ödevi: verilen resimlerin DVM kullanarak imgecik haritalarýný çýkarýnýz.

    Dersin Projesi

  • Projelerinizin teklif mektubunu en geç 19 Aralýk 2008 (Cuma günü) gece yarýsýna kadar yollayabilirsiniz.
  • Teklif mektubunuzda projenizi tanýtýnýz, projede izlemeyi düþündüðünüz adýmlarý yazýnýz. Karþýlaþmayý tahmin ettiðiniz problemleri ve tasarladýðýnýz çözümleri yazýnýz. Ve hepsinden önemlisi derste iþlenen hangi konuyu nasýl kullanacaðýnýzý açýkça belirtiniz.
  • Teklif mektubunuzu yollamanýz baþlayabileceðiniz anlamýna gelmez, size belirli bir incelemeden sonra uygun olup olmamasý ile ilgili cevap gelecektir. Ancak uygun bulundu mesajýndan sonra projenize baþlayabilirsiniz.
  • Teklif mektubu onaylanmayanlar verilen tarihe (19 aralýk) kadar farklý proje önerilerinde bulunabilirler.
  • 19 Aralýk tarihine kadar projesi belirlenmeyen veya hiç teklifte bulunmayanlara sistem tarafýndan otomatik olarak havuzdan proje atanacaktýr.
  • Gerek proje teklifi ile gerekse otomatik atama ile proje alanlarýn 19 Aralýktan sonra proje deðiþtirmeleri kesinlikle mümkün deðildir.
  • 16 Ocak 2009 tarihi gece yarýsýna kadar projenizin dökümanýný (aþaðýda açýklanacaktýr) ve kodunu yollayýnýz. Bu tarihten sonra yollanan rapor ve kodlar deðerlendirmeye alýnmayacaktýr. Mümkünse bu tarihe kadar býrakmayýp daha önce yollayýnýz.
  • Final tarihleri içerisinde uygun olan zamanlarda sunum için randevü sistemi, tarih yaklaþýnca sesders.com adresinde açýlacaktýr, bu adresten size uygun bir tarih seçip randevü alýnýz. Bu randevüda projenizin demosunu yapacaksýnýz.
  • Projenizin rapor ve kod yollanmasý iþlemi sesders.com adresinden yapýlacaktýr. Teklif mektuplarýnýzý dersin email adresine yollamanýz gerekmektedir.
  • Her projeyi tek kiþi alabilir, grup projelerine izin verilmemektedir.
  • Bir proje, bir kiþi tarafýdan seçildiyse ikinci bir kiþi bu projeyi alamaz, burada ilk gelen alýr algoritmasý kullanýlacaktýr.
  • Örnek Proje dökümanlarý için týklayýnýz. Bu dökümanlar derste de söylediðim gibi tamamen fikir vermesi içindir bunlarýn dýþýnda eklemeniz gereken þeyler varsa ekleyebilirsiniz. ayrýca analiz ve tasarým için daha önceden vermiþ olduðum ders notlarýna bakabilirsiniz:
  • analiz notlarý
  • tasarým notlarý

    Kaynaklar

    Jeff Heaton tarafýndan yazýlan “Introduction to Neural Networks with Java, Second Edition” kitabýn kopyasý http://www.jeffheaton.com/ai adresinden ücretsiz olarak temin edilebilir.

    Ayrýca,

     Martin T. Hagan, Howard B. Demuth, ve Mark Beale, tarafýndan yazýlan “Neural Network Design” PWS Publishing Company, 1995.

    Haykin, Simon, 1998, “Neural Networks: A Comprehensive Foundation (2nd Edition)”, Prentice-Hall

    Kitaplarý da ders içeriðine uygundur.

    Uygulama Gereksinimleri

    Dersin tatbiki kýsmý için JOONE (Java Object Oriented Neural Engine) uygulamasý kullanýlacaktýr. Bu uygulamayý http://www.jooneworld.com/download.html adresinden indirebilirsiniz.

    Ayrýca dersin resmi dili JAVA’dýr ve JOONE üzerinde java dili marifetiyle uygulama geliþtirilecektir. (indirmek ve kurulum için http://java.sun.com adresine baþvurabilirsiniz)

    Bu ortamýn kurlumu ve kullanýmý konusunda derslerde bilgi verilecektir ancak öðrenciler farklý ortam ve dilleri (örneðin MATLAB, C, C++ gibi) kullanabilirler. Bu ortam ve dillerin ödev veya proje gibi not karþýlýðý olan teslimler sýrasýnda kullanýlmasý için ise önceden izin alýnmasý gerekmektedir.

    Ders saati ve yeri

    Pazartesi günleri saat 14-16.00 arasý 143 numaralý derslik. (Ders saati 15.00 - 17.00 arasý olarak deðiþtirilmiþtir, dersin yeri aynýdýr)

    Dersin deðerlendirmesi:

    ·         Ödevler %10

    ·         Quizler&Classwork %10

    ·         Arasýnav %20

    ·         Dönem Projesi %20

    ·         Final %40

    Uyulmasý gereken önemli kurallar:

    1.       Öðrencilerin dersin web sitesini takip etme zorunluluðu vardýr. Ders ile ilgili duyurular, ders notlarý ve gerekli olan materyaller bu site üzerinden saðlanacaktýr.

    2.      Öðrencilerin ödev, proje ve sunum teslimi ve bu teslimler sýrasýnda gereken saatlerin belirlenmesi gibi dersin iþletilmesine iliþkin iþlemler, dersin öðrenci iletiþim sitesi üzerinden yapýlacaktýr. Her öðrenci derse geldiði ilk günden itibaren bu site üzerinden bir kullanýcý oluþturmak ve ders boyunca yapacaðý teslimleri bu site üzerinden yapmak zorundadýr.