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)


    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.

    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.

    3.      Teslim edilen çalışmalar veya öğrencinin başarı notu ile sonuçlanacak herhangi bir çalışmada dersi alan diğer öğrenciler veya internet üzerindeki herhangi bir kaynak veya basılı herhangi bir kaynak ile akademik kurallar çerçevesinde uygun atıf verilmediği taktirde teslim edilen bu çalışma kopya kapsamında değerlendirmeye alınacak ve ilgili disiplin maddesi işletilecektir.