3.
Yapay Sinir Ağları Nedir?Yapay Sinir Ağları Nedir? Tanım1: Genel anlamda yapay sinir ağları, beynin bir işlevi yerine getirme yöntemini modellemek için tasarlanan bir sistem olarak tanımlanabilir. Tanım2: YSA, beyindeki sinirlerin çalışmasını taklit ederek sistemlere öğrenme, genelleme yapma, hatırlama gibi yetenekler kazandırmayı amaçlayan bilgi işleme sistemidir.
4.
YSA’NIN UYGULAMA ALANLARIYSA’NIN UYGULAMA ALANLARI YSA’ ları çok farklı alanlara uygulanabildiğinden bütün uygulama alanlarını burada sıralamak zor olmakla birlikte genel bir sınıflandırma ile YSA’ nın uygulama alanları aşağıdaki gibi 6 grup içerisinde toplanabilir. Arıza Analizi ve Tespiti: Bir sistemin, cihazın yada elemanın düzenli (doğru) çalışma şeklini öğrenen bir YSA yardımıyla bu sistemlerde meydana gelebilecek arızaların tanımlanma olanağı vardır. Bu amaçla YSA; elektrik makinelerinin, uçakların yada bileşenlerinin, entegre devrelerin v.s. arıza analizinde kullanılmıştır.
5.
YSA’NIN UYGULAMA ALANLARITıp Alanında: EEG ve ECG gibi tıbbi sinyallerin analizi, kanserli hücrelerin analizi, protez tasarımı, transplantasyon zamanlarının optimizasyonu ve hastanelerde giderlerin optimizasyonu v.s gibi uygulama yeri bulmuştur. Savunma Sanayi: Silahların otomasyonu ve hedef izleme, nesneleri/görüntüleri ayırma ve tanıma, yeni algılayıcı tasarımı ve gürültü önleme v.s gibi alanlara uygulanmıştır. Haberleşme: Görüntü ve veri sıkıştırma, otomatik bilgi sunma servisleri, konuşmaların gerçek zamanda çevirisi v.s gibi alanlarda uygulama örnekleri vardır.
6.
YSA’NIN UYGULAMA ALANLARIÜretim: Üretim sistemlerinin optimizasyonu, ürün analizi ve tasarımı, ürünlerin (entegre, kağıt, kaynak v.s.) kalite analizi ve kontrolü, planlama ve yönetim analizi v.s. alanlarına uygulanmıştır. Otomasyon ve Kontrol: Uçaklarda otomatik pilot sistemi otomasyonu, ulaşım araçlarında otomatik yol bulma/gösterme, robot sistemlerin kontrolü, doğrusal olmayan sistem modelleme ve kontrolü, elektrikli sürücü sistemlerin kontrolü v.s. gibi yaygın bir uygulama yeri bulmuştur.
7.
Biyolojik Bir Beyin Sinir Hücresinin Yapısıİnsan beyninde yaklaşık 1011 sinir hücresi vardır. Her bir biyolojik sinir hücresinin yaklaşık 10.000 kadar komşu bağlantısı vardır ve bu sinirlerden uyarı alır. Bir nöronun ortalama genişliği 10 mikrondur. Biyolojik Bir Beyin Sinir Hücresinin Yapısı
8.
Biyolojik Bir Beyin Sinir Hücresinin YapısıBiyolojik sinir hücresi; gövde, akson, çok sayıda sinir ucu (dendrit) ve akson ile diğer sinir hücresinin sinir ucu arasında kalan ince uzantılar (sinaps) olmak üzere dört bölümden oluşmaktadır. Dendritler, gelen sinyalleri çekirdeğe iletir. Çekirdek dendritten gelen sinyalleri bir araya toplar ve aksona iletir. Toplanan bu sinyaller, akson tarafından işlenerek sinapslara gönderilir. Sinapslar da yeni üretilen sinyalleri diğer sinir hücrelerine iletir. Biyolojik Bir Beyin Sinir Hücresinin Yapısı
9.
Biyolojik Bir Beyin Sinir Hücresinin YapısıYapay sinir hücreleri, gerçek sinir hücrelerinin simule edilmesiyle gerçekleştirilir. Biyolojik Bir Beyin Sinir Hücresinin Yapısı
11.
Yapay Sinir Hücresi (YSH)Yapay Sinir Hücresi (YSH) Dış ortamdan veya diğer hücrelerden alınan girdiler, ağırlıklar yardımıyla hücreye bağlanır. Toplama fonksiyonu ile net girdi hesaplanır. Net girdinin aktivasyon fonksiyonundan geçirilmesiyle net çıktı hesaplanır. Bu işlem aynı zamanda hücrenin çıkışını verir.
12.
Yapay Sinir HücresiYapay Sinir Hücresi Girişler Çıkış Hücre(Nöron) Bir önceki hücrenin aksonu Akson ile dentritlerin birleşimi olan snapslar Dentritler Soma Çekirdek Akson Ağırlıklar Toplama Fonksiyonu Bias b Hücrenin Aktivasyon Fonksiyonu Hücrenin Net Girişi v y x1 x2 xm w2 wm w1
13.
Sinir Hücrenin Matematiksel Modeliya da Burada; W- hücrenin ağırlıklar matrisini, x- hücrenin giriş vektörünü, v- hücrenin net girişini, y- hücre çıkışını ve (.)- hücrenin aktivasyon fonksiyonunu göstermektedir. Sinir Hücrenin Matematiksel Modeli
14.
YSH’nin ElemanlarıYSH’nin Elemanları • Girdiler: Yapay sinir ağlarına dış dünyadan veya diğer bir hücreden gelen bilgilerdir. • Ağırlıklar: Hücreler arasındaki bağlantıların sayısal değerini ifade etmektedir. Bir hücreye gelen bilginin değerini ve hücre üzerindeki etkisini gösterir. • Toplama Fonksiyonu: Hücreye gelen girdileri ağırlıklarla çarpıp toplayarak o hücrenin net girdisinin hesaplanmasını sağlar. • Aktivasyon Fonksiyonu: Hücreye gelen net girdiyi işleyerek hücrenin bu girdiye karşılık üreteceği çıktının belirlenmesini sağlar. • Çıktılar:Aktivasyon fonksiyonları tarafından belirlenen çıktı değerleridir. Üretilen çıktı ya dış dünyaya, başka bir hücreye ya da kendisine girdi olarak gönderilebilir.
18.
YAPAY SİNİR AĞLARI (YSA)YAPAY SİNİR AĞLARI (YSA) •YSA, biyolojik sinir ağlarının insan beyninin işleyişinin taklit edilerek bilgisayar ortamına aktarılmasıyla oluşturulan sistemlerdir. •Mühendislik açısından bakıldığında YSA, “kara kutu” gibi görülebilir. Kara kutu, dışarıdan bilgileri alıp dışarıya ürettiği çıktıları vermektedir. İçeride ne olduğu ise bilinmemektedir. Diğer bir deyişle YSA’ nın sonuçları nasıl oluşturduğunu açıklama yeteneği yoktur. Bu durum ağa olan güveni sarsmakla birlikte başarılı uygulamalar yapay sinir ağlarına olan ilgiyi sürekli artırmaktadır.
19.
YSA’ NIN YAPISIYSA’ NIN YAPISI YSA, yapay sinir hücrelerinin birbirlerine bağlanması sonucu oluşan yapılardır. Sinir hücreleri bir grup halinde işlev gördüklerinde ağ (network) olarak adlandırılırlar ve böyle bir grupta binlerce nöron bulunur.Ancak sinir hücrelerinin bir araya gelmesi rastgele olmaz.
20.
YSA’nın YAPISIYSA’nın YAPISI YSA’lar üç katmadan oluşur. Bu katmanlar; Giriş katmanı: Yapay sinir ağına dış dünyadan girdilerin geldiği katmandır. Bu katmanda, girdi sayısı kadar hücre bulunmaktadır ve girdiler herhangi bir işleme uğramadan gizli katmana iletilirler. Ara Katman (Gizli Katmanlar): Giriş katmanından aldığı bilgiyi işleyerek bir sonraki katmana iletir. Gizli katman sayısı ve gizli katmandaki hücre sayısı ağdan ağa değişebilir. Gizli katmanlardaki hücre sayıları, girdi ve çıktı sayılarından bağımsızdır. Çıktı Katmanı: Gizli katmandan gelen bilgiyi işler ve giriş katmanına gelen girdiye uygun olarak üretilen çıktıyı dış dünyaya gönderir. Çıkış katmanındaki hücre sayısı birden büyük olabilir. Her bir çıkış hücresinin bir adet çıktısı vardır. Her bir hücre bir önceki katmandaki bütün hücrelere bağlıdır.
21.
Çok Katmanlı Yapay Sinir AğlarıÇok Katmanlı YSA Modeli Yapay sinir ağları, hücrelerin birbirleri ile çeşitli şekillerde bağlanmalarından meydana gelir. Çok katmanlı YSA’larda giriş ve çıkış katmanları ile birlikte gizli (ara) katmanlar da olabilmektedir. Gizli katmanın hiç konulmadığı gibi sayısı ile ilgili bir kural yoktur. Problemin tipine göre gerekli seçimler yapılır. Ayrıca her bir katmandaki nöron sayısında da bir sınırlama getirmemiştir. Birden fazla gizli katman var ise her bir gizli katmandaki nöron sayısı birbirinden farklı seçilebilir. Çok Katmanlı Yapay Sinir Ağları
22.
YSA’NIN ÇALIŞMA YAPISIYSA’NIN ÇALIŞMA YAPISI Örneklerin belirlenmesi, Ağın topolojisinin belirlenmesi, Girdi ve çıktı sayısının belirlenmesi, Ağın öğrenme parametrelerinin belirlenmesi, Ağın başlangıç değerlerinin atanması, Epoch sayısı kadar, Eğitim setindeki tüm örnekler için, Örnek ağa gösterilir, Hatanın hesaplanması, Bulunan hataya göre ağırlıkların güncellenmesi, Sistemin toplam hatası hesaplanır.
23.
Örnek Ysa yapısıKonum Hatası Hız Hatası tansig tansig tansig w1 w3 w2 w4 w5 w6 uYSA b1 b2 b3 f1 f2 f3 G1 G2
24.
Örnek Ysa yapısıBir hücreye, bir sistemin x(k) giriş vektörünün uygulandığını ve hücreden de y(k) çıkışının alındığını ve sistemin çıkışının da (YSA için arzu edilen çıkış) d(k) olduğunu varsayalım. Bu hücrenin eğitimi aşağıdaki gibi tanımlanır( k iterasyon sayısı).
27.
ÖĞRENME ALGORİTMALARIÖĞRENME ALGORİTMALARI Geri Yayılım Algoritması Esnek Yayılım Algoritması Delta Bar Delta Algoritması Geliştirilmiş Delta Bar Delta Algoritması Hızlı Yayılım Algoritması Levenberg-Marquardt Metodu Eşleştirmeli Eğim Algoritmaları Genetik Algoritma
28.
YSA’ NIN ÖZELLİKLERİYSA’ NIN ÖZELLİKLERİ • Kendi kendini organize etme ve öğrenebilme yetenekleri vardır. •Eksik bilgi ile çalışabilmektedirler. •Hata toleransına sahiptirler. •Belirsiz ve tam olmayan bilgileri işleyebilmektedirler. YSA, ani bozulma göstermezler. •Sadece nümerik bilgiler ile çalışabilmektedirler. •YSA, normal yollarla çözülmesi zor olan problemleri çözmek için tasarlanmışlardır.
29.
YSA’NIN AVANTAJLARIYSA’NIN AVANTAJLARI •Doğrusal olmayan çok boyutlu, gürültülü, eksik bilgili ve özellikle problemin çözümünde kesin bir matematiksel modelin veya algoritmanın bulunmadığı durumlarda başarılıdır. •İstisnai ve anormal veri sayısı çok olan konularda iyi sonuçlar verir. •Adaptasyon yeteneği vardır. •Bilgiler ağın tamamında saklanır. •Daha önce görülmemiş örnekler hakkında bilgi üretebilir.
30.
YSA’ NIN DEZAVANTAJLARIYSA’ NIN DEZAVANTAJLARI • ‘Kara Kutu’, verdiği sonucun açıklamasını yapamaz. •Uygun ağ yapısının belirlenmesinde belli bir kural yoktur. •Ağın parametre değerlerinin belirlenmesinde belli bir kural yoktur. •Eğitim örnekleri seçiminde genel bir kural yoktur. •Öğrenilecek problemin ağa gösterimi önemli bir problemdir. •Ağın eğitiminin ne zaman bitirilmesi gerektiğine ilişkin belli bir yöntem yoktur.
31.
Matlab ile YSAclear all x = [-4 -2 2 4]; y = [-2 -1 1 2]; net = newff( minmax(x) , [3,1] , {'tansig','purelin'} , 'trainbfg‘ ); Yukarıda verilen program örneği YSA ya basit bir doğrusal eğriyi öğretme programıdır. x giriş değerine karşı y çıkış değerini öğretmek için öncelikle YSA modelin parametreleri belirlenmesi gerekir. Bu örnekte newff komutu ile bir YSA modeli tanımlanmakta. Birinci parametrede giriş değerlerinin normalizasyonu için minmax(P) komutu ile minimum ve maksimum değerler tespit edilir. İkinci parametrede YSA yapısının her bir katmanındaki nöron sayıları belirtilir. Bu örnekte [3,1] girilerek YSA nın iki katmandan oluştuğunu ve birinci katmanda 3, ikinci katmanda 1 nöron seçildiği belirtilmiş olur. Şayet 3 katmanlı ve birinci katman 2, ikinci katman 3 ve son katman 1 nöron seçilmek istense [2,3,1] yazılması gerekirdi. Üçüncü parametrede her bir katmanda yer alan nöronlar için uygun fonksiyonlar seçilir. Burada birinci katmandaki nöronlar için tansig fonksiyonu ve son katman için purelin fonksiyonu seçilmiştir. YSA modellerinde genellikle son katmanda lineer olan purelin fonksiyonu seçilir. Dördüncü parametrede eğitim metodunun seçimi yer almakta. Burada trainbfg seçilmiştir. Diğer seçeneklerden bazıları ( trainbr, trainlm, .. vb. ) olarak verilebilir.
32.
Matlab ile YSAclear all x = [-4 -2 2 4]; y = [-2 -1 1 2]; net=newff(minmax(x),[3,1],{'tansig','purelin'},'trainbfg'); net.trainParam.epochs = 30; net.trainParam.goal = 1e-2; net.trainParam.show = 5; [net,tr]=train(net,x,y); yd = sim(net,x); figure(2), plot(x,y,'b',x,yd,'r') Program akışına devam edersek YSA modelinin tanımlanmasının ardından eğitim için isteğe bağlı olarak bazı parametreler seçilebilmektedir. Örneğin bu uygulamada net.trainParam.epochs = 30; komutu ile 30 iterasyon için işlem yapmasını ve tolerans değeri için net.trainParam.goal = 1e-2; komutu ile değer girilerek istenen ayarlar yapılabilmektedir. net.trainParam.show = 5; komutu ile her 5 değerde bir sonucu grafiksel olarak ekrana taşıması istenir. Tüm parametreler girilerek gerekli ayarlamalar yapıldıktan sonra train komutu ile eğitime başlanır. Eğitim tamamlandıktan sonra sim komutu ile simülasyon gerçekleştirilir ve plot komutu ile sonuçlar karşılaştırılarak ekrana gösterilir.
33.
Matlab ile YSAYukarıda öğrenme anında öğrenme hatasının iterasyona göre zamanla değişimi görülmektedir. Aşağıda verilen mavi renkli gerçek doğrusal eğriye, YSA eğitimi sonucunda kırmızı renkle görülen eğri ile yaklaşılabilmiştir. Uygun parametre seçimi ile sonuç daha mükemmel olabilmektedir.
34.
Sinüs fonksiyonunun öğretilmesiclear all x=[0:360]*pi/180; y=sin(x); net=newff(minmax(x),[3,1],{'tansig','purelin'},'trainbfg'); net.trainParam.show = 5; net.trainParam.epochs = 100; net.trainParam.goal = 1e-2; [net,tr]=train(net,x,y); yd = sim(net,x);0 figure(2), plot(x*180/pi,y,'b',x*180/pi,yd,'r') İki katmanlı ve [3,1] nöron sayılı YSA modeli ile 100 iterasyonluk işlem sonucu görülmektedir. Eğitim için trainbfg seçilmiştir. Sinüs fonksiyonunun öğretilmesi
35.
Sinüs fonksiyonunun öğretilmesiclear all x=[0:360]*pi/180; y=sin(x); net=newff(minmax(x),[3,1],{'tansig','purelin'},'trainbr'); net.trainParam.show = 5; net.trainParam.epochs = 100; net.trainParam.goal = 1e-2; [net,tr]=train(net,x,y); yd = sim(net,x); figure(2), plot(x*180/pi,y,'b',x*180/pi,yd,'r') Aynı örneği yine 100 iterasyonla ve aynı YSA modeli kullanarak sadece eğitim için farklı olan trainbr seçilerek tekrarladığımızda daha mükemmel sonuç elde edilmiştir. Sinüs fonksiyonunun öğretilmesi
36.
Kaynak:•Esas kaynak: Stuart Russel, Peter Norvig, Artificial Intelligence. Modern Approach, Prentice Hall, 2003 •Türkçe kaynak: Vasif Nabiyev, Yapay Zeka, Seçkin Yayınları, 3. baskı 2010. Kaynak:
Thank you for your comment.