5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY ANNDES: BĠR YAPAY SĠNĠR AĞI TASARIM VE EĞĠTĠM YAZILIMI ANNDES: AN ARTIFICIAL NEURAL NETWORK DESIGN AND EDUCATION SOFTWARE Yrd.Doç.Dr. Ġbrahim ġAHĠN D.Ü. Teknik Eğitim Fakültesi, Elektronik ve Bilgisayar Eğitimi Bölümü, 81620, Düzce ibrahimsahin@duzce.edu.tr Adem AKKAYA D.Ü. Teknik Eğitim Fakültesi, Elektronik ve Bilgisayar Eğitimi Bölümü, 81620, Düzce adem@ademakkaya.com ÖZET: Yapay Sinir Ağları (YSA – Artificial Neural Network (ANN)) son yıllarda geleceği öngörme, örüntü tanıma, verilerin yorumlanması, optimizasyon iĢlemleri gibi bir çok alanda yaygın olarak kullanılmaya baĢlanmıĢtır. Özellikle mühendislik alanında kolaylıkla uygulanabilmeleri nedeniyle YSA’lara ilgi her geçen gün artmaktadır. Yapay sinir ağları hakkında lisans ve yüksek lisans seviyesinde çeĢitli dersler verilmektedir. Bu çalıĢmada YSA’ların öğrenciler tarafından daha kolay anlaĢılmasına yardımcı olmak amacıyla bir görsel YSA tasarım ve test aracı olan ANNDES gelirtirilmiĢtir. Bu araç sayesinde öğrenciler otomatik olarak yada çizim alanını ve araçlarını kullanarak diledikleri ağı oluĢturabilmektedirler. Araç kullanıcıya oluĢturduğu ağın her bir katmanına istediği kadar sinir hücresi yerleĢtirebilme, bu sinir hücrelerini istediği gibi birbirine bağlayabilme ve her bir sinir hücresi için farklı aktivasyon fonksiyonu seçebilme imkanı sunmaktadır. Araç sayesinde oluĢturulan ağ istenirse uygun bir Ģekilde formatlanmıĢ örnek eğitim verisi ile istenilen iterasyonda yada istenen hata oranı yakalanana kadar eğitilebilmektedir. Eğitim sonunda ağın eğitim eğrisi grafiksel olarak gözlemlenebilmektedir. Aracın bir diğer önemli özelliği ise oluĢturulan yapay sinir ağını tanımlayan metin tabanlı bir NetList (ağ tanımlama dosyası) oluĢturmasıdır. Anahtar Kelimeler: Yapay Sinir Ağları, Görsel Tasarım Aracı, YSA Eğitimi. ABSTRACT: Lately, Artificial Neural Networks (ANN) have been widely used in several areas such as prediction, pattern recognition, data analysis, optimization, etc. Attention to the ANN grows rapidly due to their easy application in several engineering fields. Several courses about ANN are being taught in universities at graduate and undergraduate levels. In this study, an Artificial Neural Network Design and Education software (ANNDES) was developed to help students better understand the ANNs. Students can form their desired ANNs using either the drawing area or the automatic ANN generator option of the software. The software lets the users place any number of neurons in each layer, select the desired transfer function for the neurons, and connect the neurons in a way they wish. The users can also train their ANN designs up to a number of iterations or up to a desired error rate is obtained using suitably formatted sample test data. At the end of the training process, change in the error rate of the designed ANN can be graphically observed. Another important feature of the tool is that it can form a NetList (a text based ANN definition file) for a designed ANN. Keywords: Artifical Neural Network, Visual Design Tool, ANN Learning. 1. GĠRĠġ Yapay sinir ağları (YSA), insanın biyolojik sinir hücrelerinin oluĢturduğu ağlarının modellenmesi ile ortaya çıkan bir bilgi iĢlem teknolojisidir. Günümüzde YSA’lar birçok alanda kullanılmaktadır. Örneğin, finans uygulamaları, askeri ve savunma sanayi uygulamaları, tıp uygulamaları, mühendislik uygulamaları, görüntü iĢleme uygulamaları gibi alanlarda sıkça kullanılan bir yöntemdir (Kakıcı (2011-1,-2,-3)). Özellikle mühendislik alanında kolaylıkla uygulanabilmeleri nedeniyle YSA’lara ilgi her geçen gün artmaktadır. YSA’lara artan ilgiyi karĢılamak amacıyla lisans ve yüksek lisans seviyesinde çeĢitli dersler verilmektedir. Bu derslerde YSA’lar genellikle teorik olarak anlatılmakta, uygulama kısmı ise eksik kalmaktadır. Bu çalıĢmada YSA’ların öğrenciler tarafından daha kolay anlaĢılmasına yardımcı olmak amacıyla bir görsel YSA tasarım ve test aracı olan Artificial Neural Network Design tool (ANNDES) gelirtirilmiĢtir. Bu araç sayesinde öğrenciler isterlerse otomatik olarak isterlerse de çizim alanını ve 5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY araçlarını kullanarak diledikleri ağı oluĢturabilmektedirler. OluĢturulan ağ en fazla dört katman içerebilmektedir ve ağa istenildiği kadar giriĢ ve çıkıĢ tanımlanabilmektedir. Araç kullanıcıya oluĢturduğu ağın her bir katmanına istediği kadar sinir hücresi yerleĢtirebilme, bu sinir hücrelerini istediği gibi birbirine bağlama ve herbir sinir hücresi için farklı aktivasyon fonksiyonu seçebilme imkanı sunmaktadır. Araç sayesinde oluĢturulan ağ istenirse uygun bir Ģekilde formatlanmıĢ örnek eğitim verisi ile istenilen iterasyonda ya da istenen hata oranı yakalanana kadar eğitilebilmektedir. Eğitim sonunda ağın eğitim eğrisi grafiksel olarak gözlemlenebilmektedir. Aracın bir diğer önemli özelliği ise oluĢturulan yapay sinir ağını tanımlayan metin tabanlı bir NetList (ağ tanımlama dosyası) oluĢturmasıdır. Eğer NetList ağın eğitiminden sonra oluĢturulursa ağdaki eğitimden sonra oluĢan ağırlık değerleride NetList’e dahil edilmektedir. OluĢturulan bu NetList ağın donanımsal olarak gerçeklenmesinde kullanılmaktadır. Makalenin devamı Ģu Ģekilde organize edilmiĢtir. Ġkinci bölüme kısaca yapay sinir hücreleri ve YSA’lar hakkında bilgi verilmiĢtir. Üçüncü bölümde bu çalıĢmada geliĢtirilen görsel tasarım aracı anlatılmıĢtır. Aracın kullanımı hakında bilgiler dördüncü ve beĢinci bölümlerde verilmiĢtir. Makale sonuç bölümü ile bitirilmiĢtir. 2. ÖN BĠLGĠ 2.1. Biyolojik ve Yapay Sinir Hücreleri Biyolojik sinir ağları beynimizde bulunan milyonlarca sinir hücresinin bir araya gelmesiyle oluĢan yapıdır. Sinir hücreleri birbirleri ile bağlanarak fonksiyonlarını yerine getirmektedir. Duyu organlarından gelen bilgiler sinir sistemi sayesinde beyine taĢınır ve beyin gelen bilgiyi çok hızlı bir Ģekilde paralel olarak iĢleyerek tekrar sinir sitemi sayesinde bilgiyi gönderen organa eylem olarak gönderir (Wiki (20111,-2)). Biyolojik sinir hücresi dentritler, soma, akson ve snapslardan meydana gelmektedir. Snapslar sinir hücreleri arasındaki bağlantılardır. Bunlar fiziksel bağlantılar değildir ama bir hücreden baĢka bir hücreye sinyallerin geçmesini sağlayan boĢluklardır. Bu sinyaller somaya giderler, burada sinir hücresi tarafından iĢlenirler ve sinir hücresinin kendi çıkıĢ sinyali olarak akson aracılığıyla dentritlere gönderilirler (Bilx (2011)). Yapay sinir ağları biyolojik sinir hücrelerinin bu özelliklerinden esinlenerek geliĢtirilmiĢtir. Yapay sinir ağlarının da biyolojik sinir hücreleri gibi yapay sinir hücreleri vardır. Yapay hücreler proses elemanları olarak da adlandırılmaktadır (Yapay-Zeka (2011)). ġekil 1’de de görüldüğü gibi her yapay sinir hücresi 5 temel elemandan oluĢur. Bunlar; Girdiler, Ağırlıklar, Toplama Fonksiyonu, Aktivasyon Fonksiyonu ve Hücrenin Çıktısı'dır ġekil 1. Yapay sinir hücresinin yapısı. Girdiler YSA hücresine dıĢarıdan verilen bilgilerdir. Hücreler dıĢarıdan veri aldığı gibi baĢka hücrelerden veya kendisinden de veri alabilir. Ağırlıklar bir yapay sinir ağı hücresine gelen verinin önemini ve hücreye etkisini gösteren bilgilerdir. Ağırlık değerlerinin artı veya eksi olması ağ üzerindeki etkisinin pozitif veya negatif olduğunu gösterir (Öztemel (2003)). Ağırlıklar değiĢken olduğu gibi sabit değerlerde de olabilir. Toplama Fonksiyonu bir hücreye gelen net girdiyi hesaplar. En yaygın kullanılan toplama fonksiyonu ağırlıklı toplama fonksiyonudur. Burada her bir giriĢten gelen bilgi kendi ağırlığı ile çarpılarak toplanır. Bu sayede ağa gelen net girdi hesaplanmıĢ olur. Ağırlıklı toplama formülü aĢağıdaki gibidir (ġeker (2011)). n (1) NET G A i i i 5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY Bu formülde G girdileri, A ağırlıkları, n ise bir hücreye gelen toplam girdi sayısını göstermektedir. Aktivasyon Fonksiyonu, hücreye gelen net girdiyi iĢleyerek hücrenin bu girdiye karĢılık vereceği çıktıyı hesaplar (Elmas (2007)). Literatürde tanımlanmıĢ ve kullanılan 10’un üzerinde değiĢik aktivasyon fonksiyonu bulunmaktadır (Beale ve Diğ. (2010)). Bir YSA’da bütün hücreler aynı aktivasyon fonksiyonuna sahip olacağı gibi katmanlarda ya da her bir hücrede farklı aktivasyon fonksiyonu kullanılabilir. Bir hücrenin çıktısı o hücrenin aktivasyon fonksiyonunun ürettiği sonuçtur. Üretilen bu sonuç dıĢarıya, baĢka bir hücreye veya tekrar kendisine girdi olarak gönderilebilir. 3. YAPAY SĠNĠR AĞLARI GÖRSEL TASARIM ARACI Yapay sinir ağları (YSA) lisans ve yüksek lisans seviyesinde değiĢik derslerde anlatılmaktadır. Verilen bu derslerde YSA’ların teorik olarak anlatımı yapılmakta olup uygulama kısmı eksik kalmaktadır. Bu çalıĢmada teorik YSA uygulamalarını pratik olarak uygulayabilmek için bir görsel tasarım aracı olan ANNDES geliĢtirilmiĢtir. ANNDES sayesinde önce değiĢik özellikte YSA tanımlanabilmekte, ardından da test verileri ile tasarlanan YSA eğitilebilmektedir. Kullanıcı görsel arayüzler sayesinde tasarladığı ağı ve ağın eğitimini gözlemleyebilmektedir. ANNDES’in görünümü ġekil 2’de görülmektedir. ġekil 2. ANNDES ana formu. ANNDES ana formu 5 bölümden oluĢmaktadır. Bu bölümler menü çubuğu, araç çubuğu, katman bilgi alanı (layerlar), çizim alanı, gösterim alanıdır. Ayrıca tasarlanan ağın eğitimi ve öğrenme grafiği için iki farklı form tasarlanmıĢtır. Menüler ANNDES’i fonksiyonel olarak kullanabilmek için oluĢturulmuĢtur. Menülerden program için gerekli bütün özelliklere eriĢilebildiği gibi özelliklerin kısa yol tuĢlarını da burada görmek mümkündür. Dosya menüsünde Kapat sekmesi bulunmaktadır ve programdan çıkıĢı sağlamaktadır. Düzen menüsünde fare iĢaretçisini seçmek için İşaretçi sekmesi, katmanlardaki giriĢ, çıkıĢ ve sinir hüçreleri arasındaki bağlantıları çizmek için Çizgi Çiz, bağlantı ve hücreleri silmek ve taĢımak için Nesne Sil, ve Nesne Taşı, bağlantıların tümünü silmek için Tümünü Sil ve ekrandaki tasarımın tamamını silmek için Ekranı Temizle sekmeleri bulunmaktadır. Ayrıca çizim alanındaki gridleri açıp kapatmak için Grid Aç/Kapat sekmesi bulunmaktadır. Diğer menüsünde çizilen sinir ağıyla ilgili katmanların metin tabanlı tanımlamasını (NetList) oluĢturmak için Netlist ve otomatik ağ oluĢturmak için Otomatik Oluştur sekmeleri bulunmaktadır. Layers menüsü altında ise oluĢturulan YSA’ya giriĢ katmanı eklemek için Input Layer, çıkıĢ katmanı eklemek için Output Layer ve transfer fonksiyonları eklemek için Hlayer sekmeleri bulunmaktadır. ANNDES’in araç çubuğunda İşaretçi, Çizgi Çiz, Nesne Sil, Nesne Taşı, Tümünü Sil, Ekranı Temizle, Netlist, Otomatik Oluştur, Grid Aç/Kapat ve Layers menüsündeki giriĢ, çıkıĢ ve transfer fonksiyonlarının kısa yolları bulunmaktadır. Bu kısa yollar, tasarlanmak istenen YSA’yı tanımlamada alternatif bir seçenek olarak kullanıcıya sunulmuĢtur. 5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY Layerlar Paneli katmanlara eklenen giriĢ, çıkıĢ ve transfer fonksiyonlarının hangi katmanlarda olduğunu ve isimlerini gösteren bölümdür. Bu bölümde katmanlara yeni eklenen elemanlar ve katmanlardan silinen elemanlar güncellenerek gösterilmektedir. Çizim alanı, oluĢturulacak yapay sinir ağının giriĢ, çıkıĢ ve transfer fonksiyon katmanlarının çizildiği ve düzenlendiği alandır. Bütün ağ tasarımı bu bölümde gerçekleĢmektedir. Gösterim Alanın bir konsol gibi çalıĢmakta ve ANNDES burada kullanıcıya yapılan bütün iĢlemlerle ilgili uyarıcı mesajlar vermektedir. Ayrıca tasarlanan ağın NetList’i yine burada görüntülenebilmektedir. 3.1. Eğitim Sayfası ve Eğitim Grafiği ANDESS ile tasarlanan yapay sinir ağları istenirse uygun formatta formatlanmıĢ test verileri kullanılarak eğitilebilmektedir. Bu amaçla ayrı bir eğitim formu oluĢturulmuĢtur. Bu formdan ağın kaç iterasyonda, hangi momentum ve öğrenme katsayısında eğitilebileceği seçilebilmektedir. Grafik sayfasında, tasarlanan YSA’nın eğitimi sırasında oluĢan hata grafiği görüntülenebilmektedir. Görüntülenen bu hata değerleri tanımlanan ağın ürettiği sonuçlar ile olması gereken sonuçlar arasındaki fark değerleridir. Grafik sayfasının görünümü ġekil 3'te görülmektedir. ġekil 3.Grafik sayfası. 4. ANNDES ĠLE YSA TASARIMI YSA tasarımları araç çubuğundaki nesneler kullanılarak oluĢturulabileceği gibi otomatik olarak katmanlar ve transfer fonksiyonları seçilerek de oluĢturulabilmektedir. 4.1. Manüel Yapay Sinir Ağı Tasarımı Manüel ağ tasarımı 4 aĢama gerçekleĢtirilir. Bu aĢamalar giriĢ katmanı elemanlarının, ara katman elemanlarının, çıkıĢ katmanı elemanlarının ve katmanlar arasındaki bağlantıların eklenmesidir. GiriĢ katmanı elemanları YSA’ya uygulanan giriĢ değerlerini belirlemek için kullanılır. Çizim alanında giriĢ katmanına yeni bir eleman eklemek için ya Layers > Input Layer menüsü, ya araç çubuğundan giriĢ sembolü ya da kısa yol tuĢu Ctrl+I kulanılabilir. Ara katmanlarda yapay sinir ağının transfer fonksiyonları bulunmaktadır. Bu fonksiyonlar verilen giriĢ değerlerine göre istenilen çıkıĢ değerlerine yakın değerleri oluĢturmaya yardımcı olan elemanlardır. Ağa birden fazla ara katman ve her bir katmana birden fazla sinir hücresi eklenebilir. Ara katman sinir hücreleri Layers menüsünden Hlayer sekmeleri seçilerek, araç çubuğundaki fonksiyon sembollerine tıklanarak veya kısa yol tuĢları Ctrl+F1 – Ctrl+F8 kullanılarak eklenebilir. Tasarlanan ağa çıkıĢ katmanı elemanlarıda benzer Ģekilde menüden Layers > Output Layer sekmesi seçilerek, araç çubuğundan çıkıĢ sembolüne tıklanarak veya Ctrl+O kısa yol tuĢları kullanılarak eklenebilir. Bağlantılar ağ üzerinde verinin giriĢten çıkıĢa giderken hangi yolu takip ederek gideceğini belirler. Katmanlaradaki elemanlar arasındaki bağlantılar menüden Düzen > Çizgi Çiz sekmesi kullanılarak, araç çubuğundaki çizgi simgesine tıklanarak veya kısa yol tuĢu Ctrl+W kullanılarak eklenebilir. 4.2. Otomatik Yapay Sinir Ağı Tasarımı Otomatik olarak yapay sinir ağı oluĢturma iĢlemi Diğer > Otomatik Oluştur menüsünden, araç çubuğundaki Otomatik Oluştur simgesinden veya kısa yol tuĢu Ctrl+F ile baĢlatılmaktadır. Otomatik ağ 5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY oluĢturma bölümünde ağ tasarlamak için, giriĢ katman sayısı, ara katmanlardaki hücre sayıları, hücrelerin aktivasyon türler ve bu hücrelerin bias giriĢlerinin olup olmadığının belirtilmesi gerekmektedir. Ayrıca bağlantıların otomatik olarak yapılıp yapılmayacağının seçilmesi de gerekmektedir. ġekil 4-a’da görülen örnekte, giriĢ katmanında 4 eleman, ilk ara katmanında 4 adet Log Sigmoid transfer fonksiyonlu biassız hücre, ikinci ara katmanda 2 adet Linear transfer fonksiyonlu biassız hücre ve iki adet çıkıĢı bulunan bir YSA oluĢturmak için gerekli parametreler girilmiĢ olarak otomatik ağ oluĢturma formu görülmektedir. Formda oluĢturulacak ağın bütün bağlantılarınında otomatik olarak yapılacağını belirten Full Connective seçeneği seçilmiĢ durumdadır. Bu parametreler girildikten sonra Oluştur butonuna basıldığında çizim alanında istenen ağ otomatik olarak oluĢturulur. ġekil 4-b’de oluĢturulan ağ görülmektedir. ġekil 4.Otomatik yapay sinir ağı oluĢturma. a) Otomatik ağ oluĢturma 5. b) Otomatik oluĢturulmuĢ yapay sinir ağı ANNDES ĠLE AĞ EĞĠTĠMĠ ANNDES ile oluĢturulan YSA’lar danıĢmalı öğrenme yöntemi ile eğitilebilmektedir. Temelde eğitim iĢlemi oluĢturulan ağda bağlantıların ağırlık değerlerinin ayarlanması iĢlemidir. Bu ayarlama iĢleminde amaç ağın verilen girdiye karĢın istenen çıktıyı üretmesidir. Bu iĢlem iteratif bir iĢlemdir ve belirtilen hata oranı yakalanana kadar ya da belirtilen adet kadar tekrarlanır. Her tekrar iĢleminde örnek test verisi ağa uygulanır, ağın o anki durumuna göre çıktılar hesaplanır ve çıktılara göre ağırlık değerleri güncellenir. Bu çalıĢmada geliĢtirilen yazılım verilen test verisine göre tanımlanan ağın eğitimini otomatik olarak yapmaktadır. 5.1. Test Verisi ile Yapay Sinir Ağı Eğitimi ANNDES’in ana sayfasında bulunan Eğitim Sayfasını Aç butonu ile eğitim sayfası çalıĢtırılmaktadır. Tasarlanan ağı eğitmek için öncelikle eğitim test verisinin ağa uygun formatta hazırlanması gerekir. Test verisinin formatı çok basittir. Bir text tabanlı dosyada veriler sütunlar halinde yerleĢtirilir. Ağın her bir giriĢi ve çıkıĢı için bir sütun bulunmalı ve öncelik giriĢ sütunlarında olmalıdır. ġekil 5'te ağ eğitimi için oluĢturulan eğitim formu görülmektedir. ġekil 5. Eğitim formu. 5th International Computer & Instructional Technologies Symposium, 22-24 September 2011, Fırat University, ELAZIĞ- TURKEY Formda iterasyon sayısı, momentum ve öğrenme katsayısı seçildikten sonra tasarlanan YSA için daha önceden hazırlanmıĢ bir eğitim veri seti dosyası seçilerek bu dosyanın okunması ile eğitim iĢlemi yapılabilmektedir. Bütün parametreler girildikten ve eğitim test veri dosyası seçildikten sonra eğitim iĢlemini baĢlatmak için Eğitime Başla butonuna tıklamak gerekmektedir. Eğitime baĢlarken yapay sinir ağının ilk ağırlıkları rasgele belirlenmektedir. Eğitimin her iterasyonunda eğitim setindeki giriĢ değerleri ağırlıklar ile çarpılarak transfer fonksiyonları ile iĢlendikten sonra diğer katmana aktarılmaktadır. Her katmanda bu iĢlemler gerçekleĢtirildikten sonra son katmanda transfer fonksiyonundan çıkan değerler çıkıĢ katmanına gönderilmektedir. ÇıkıĢ katmanına gelen değerler istenilen çıkıĢ değerleri ile karĢılaĢtırılarak hata oranı tespit edilmektedir. Tespit edilen hata oranına göre ağırlıklar geri yayılım yöntemi ile tekrar hesaplanır. Bu iĢlem belirtilen iterasyon adedi kadar tekrarlanır. Eğitimin ilerleme durumu ve eğitim sonucundaki çıkıĢ değerleri bu sayfadan görülebilmektedir. Eğitim bittikten sonra ağın eğitim süresince ürettiği çıkıĢ hata değerlerinin grafiksel olarak gösterimi için Grafik Oluştur butonu yer almaktadır. ġekil 3’te olduğu gibi eğitim iĢlemi bittikten sonra istenirse eğitim hata grafiği görüntülenebilir. Eğitim iĢlemi bittikten sonra elde edilen ağırlık değerleri NetList oluĢturmada kullanılmak üzere kaydedilir. 5.2. Netlist OluĢturma Bu çalıĢmada YSA’ları bütün özellikleriyle metin tabanlı olarak tanımlayabilmek için özel bir NetList (metin tabanlı ağ tanımlama dosyası) formatı gelitirilmiĢtir. Tasarlanan YSA eğitilerek ağ için en uygun ağırlıklar belirlendikten sonra araç çubuğundaki NetList butonu yardımıyla NetList oluĢturulabilmektedir. NetList oluĢturmadaki amaç hem oluĢturulan ağı ve ağın ağırlık değerlerini uygun bir formatta saklayabilmek hem de ilerleyen çalıĢmalarda bu tanımlamayı kullanarak tasarlanan ağın donanımsal olarak gerçeklenmesine yardımcı olmaktır. 6. SONUÇ Bu çalıĢmada lisans ve yüksek lisans seviyesindeki yapay sinir ağları derslerinin iĢlenmesinde yardımcı olmak amacıyla bir görsel tasarım aracı olan ANNDES geliĢtirilmiĢtir. Yapay sinir ağları ile ilgili derslerde konular teorik olarak rahatlıkla iĢlenirken pratik aĢamasında yardımcı araçlara ihtiyaç duyulmaktadır. Bu eksikliği gidermek için geliĢtirilen ANNDES ile YSA’lar kolaylıkla tasarlanabilmekte ve eğitimleri yapılabilmektedir. ANNDES’i kullanarak öğrenciler YSA’ların çalıĢmasını daha rahat bir Ģekilde öğrenebilmektedirler. Hali hazırda ANNDES YSA eğitiminde sadece geri beslemeli eğitim metodunu kullanabilmektedir. Ġlerleyen çalıĢmalarda değiĢik YSA eğitim metodları ANNDES'e eklenebilir. KAYNAKÇA Bilx (2011), Yapay Sinir Ağları, 12 Mayıs 2011, http://www.bilx.net/form/bilgisayar-dersleri-ve-notlarihersey/1-yapay-sinir-aglari/ Elmas, Çetin (2007), Yapay Zeka Uygulamaları, Seçkin Yayınevi, 2007 Kakıcı, Ahmet (2011-1) , Yapay Sinir Ağlarına GiriĢ, 18 Nisan, 2011, http://www.ahmetkakici.com/yazilim/yapay-sinir-aglarina-giris/ Kakıcı, Ahmet (2011-2), Yapay Sinir Ağlarının Katmanları, 18 Nisan 2011, http://www.ahmetkakici.com/yapay-sinir-aglari/yapay-sinir-aglarinin-katmanlari/ Kakıcı, Ahmet (2011-3), Yapay Sinir Ağlarının Mimarisi ve Yapı Elemanları, 18 Nisan 2011, http://www.ahmetkakici.com/yapay-sinir-aglari/yapay-sinir-aglarinin-mimarisi-ve-yapi-elemanlari/ Beale, M.H., Hagan, M. T., Demuth, H. B. (2010), Neural Network Toolbox™ 7 User’s Guide, 2010 Öztemel, Ercan (2003), Yapay Sinir Ağları, Papatya Yayıncılık, 2003 ġeker, ġadi Evren (2011), Yapay Sinir Ağlarının Eğitimi, 4 Mayıs 2011, http://www.bilgisayarkavramlari.com/2008/10/02/yapay-sinir-aglarinin-egitimitraining-neuralnetworks/ Wiki (2011-1), Yapay Sinir Ağları, 26 Mart 2011, http://tr.wikipedia.org/wiki/yapay_sinir_ağları Wiki (2011-2), Artificial neural network, 18 Nisan 2011, http://en.wikipedia.org/wiki/Artificial_neural_network Yapay-Zeka (2011), Yapay Sinir Ağları, 28 Nisan 2011, http://www.yapay-zeka.org/modules/ wiwimod/index.php?page=ANN