İçerik
• Biyolojik sinirler ve beyin
• Tek bir sinirin modeli
• Sinir Ağları
• Eğitim Algoritmaları
• Uygulamalar
• Faydalar, zayıf yönler ve uygulamalar
Tarihsel Olaylar
• 1943: McCulloch ve Pitts, ilk kez sinirlerin bilgisayar ortamında modelini(computational model of neuron) önerdiler.
• 1949: Hebb, ilk kez öğrenme kuralını(learning rule) önerdi.
• 1958: Rosenblatt’s yapay nöronlar(perceptrons) üzerine çalışmalar yaptı.
• 1969: Minsky ve Papert’ın makalesi teorinin sınırlamalarını öne çıkardı.
• 1970’ler Yapay sinir ağlarının aktif olmadığı dönem
• 1980–90’lar Yapay sinir ağlarının yeniden gündeme geldiği dönem
Sinir hücreleri
Biyolojik sinir hücresi;
gövde(cell body),
çekirdek(nucleus),
akson(axon),
birçok sinir ucu (dendrite) ve
akson ile diğer sinir hücresinin sinir ucu arasındaki uzantılardan (synapse) oluşmaktadır.
Sinir hücreleri
Üç temel olay vardır:
• Receive(al)
• Analyze(analiz et)
• Transmit(ilet)
– Dendrite’ler, gelen sinyalleri çekirdeğe iletir.
– Çekirdek(nucleus) dendriteden gelen sinyalleri toplar ve aksona iletir.
– Aksonda toplanmış bu sinyaller, akson tarafından işlenerek synapse’lere gönderilir.
– Synapse’ler de yeni üretilen sinyalleri diğer sinir hücrelerine iletir.
Yapay sinir hücresi modeliMcCulloch ve Pitts (1943) “entegre et ve ateşle” modelini önermiştir.
Girişler(input values) : X1, X2, . . . , Xm.
Herbir giriş hücresinin ağırlıkları(weights) : W1, W2, . . . ,Wm.
Giriş değerleri, ağırlıkları ile çarpılırlar ve toplamı alınır:
Yapay Sinir Ağlarının Bileşenleri• Giriş(input values):Yapay sinir ağlarına dış ortamlar veya diğer bir hücreden
gelen veriler.
• Ağırlıklar(weights):Hücreye gelen bilgilerin etkisini, ağırlığını gösterir.
• Toplama Fonksiyonu(sum function): Hücreye gelen bilgilerle, bu hücrelerin ağırlıklarını çarpımını toplar ve o hücrenin net giriş bilgisinin hesaplanmasını sağlar.
• Aktivasyon Fonksiyonu(activation function): Hücreye gelen net bilgiyi analiz ederek, hücrenin bu giriş bilgisine göre karşılık üreteceği çıkış bilgisinin belirlenmesini sağlar.
• Çıkış(output): Aktivasyon fonksiyonlarının oluşturduğu çıkış bilgileridir.Bu bilgi,dış dünyaya, başka bir hücreye ya da kendisine giriş bilgisi olarakiletilebilir.
Yapay Sinir Ağlarının Çalışması
• Yapay sinir ağlarının genel çalışma prensibi, bir giriş setini(örnekleri) alarak onları çıkış setine çevirmektir.
• Bunun için ağın kendisine gösterilen giriş verileri için doğru çıkış değerleri üretecek hale gelmesi(yani eğitilmesi) gerekmektedir.
• Ağa gösterilecek örnekler öncelikle bir vektör haline getirilir.
• Bu vektör ağa gösterilir ve ağ bu vektör için gerekli çıkış vektörünü üretir.
• Ağın parametre değerleri doğru çıkış bilgisini üretecek şekilde düzenlenir.
Yapay Sinir Ağlarının Çalışması
• Giriş vektörü;
– haftanın günlerini gösteren sayısal değerler,
– bir resmin gri tonları,
– bir parmak izini,
– bir ürünün satış miktarı vb. gibi değişik olayları gösteren nümerik değerlerden oluşan vektörler olabilir.
Yapay Sinir Ağlarının Çalışması
• Benzer şekilde çıkış vektörü de giriş vektörünün sınıfını gösterebilir.
• Bir değerin tahmin edilmesi olabilir.
• Giriş ve çıkış vektörlerinin tasarımı ağı geliştiren kişi tarafından belirlenir ve örnekler(girişler) belirlenen formatta toplanarak eğitim sırasında ağa gösterilir.
Toplama Fonksiyonu
• Toplama fonksiyonu y = f (v)
• Örnek:
Girişler x = (0, 1, 1) ve
Ağırlıklar w = (1,−2, 4).
Toplama fonksiyonu:
v = 1 · 0 − 2 · 1 + 4 · 1 = 2
Yapay Sinir Modeli
• Giriş(x) ve çıkış(y) değişkenleri arasındaki ilişki aşağıdaki
şekildedir.
y = f(x) + Hata(Error)
•Hatayı azaltmak için ağırlık(weight) bilgileri ayarlanır.
• Eğer lineer aktivasyon fonksiyonu kullanılırsa model aşağıdaki şekilde ifade edilebilir:
f(x1, . . . , xm) = a + w1x1 + · · · + wmwm
İleri Beslemeli Yapay Sinir Ağları
Düğümler(Nodes) sinirleri temsil ederler ve oklar da bunlar arasındaki bağlantıları gösterirler.
Her bir düğümün bir numarası vardır ve ikili numaralarla gösterilirler. Örneğin, (1,4) 1 ve 4 numaralı düğümün bağlantısını gösterir.
Düğümler, girişten çıkışa doğru katmanlarşeklindedir. Giriş düğümlerine gelen bilgiler, gizli katmanları geçerek çıkışa gider. Bu tür ağlara ileri beslemeli (feed-forwardnetworks) ağlar denir.
Gizli Düğümler ve Katmanlar
•Bir yapay sinir ağı gizli düğümlere sahip olabilir( Ağ içinde gizli ve çevreyle doğrudan bağlantısı olmayabilir).•Bir yapay sinir ağının birçok gizli katmanı olabilir.
Katmanlar(Layers):•Giriş( input): 1,2 ve 3•Gizli(hidden): 4 ve 5•Çıkış( output):6 ve 7
Ağırlıkların(weigths) Numaralandırılması
•Ağdaki herbir düğümün ağırlığı Wij olarak gösterilir.
•Örneğin 4 nolu düğümün ağırlıkları : W14, W24 ve W34
• Giriş değerleri X1 = 1 ve X2 = 0 için çıkış değeri nedir?
1. İlk gizli katmandaki ağırlıklarlarla giriş değerleri çarpılarak toplamı
hesaplanır:
2. Aktivasyon fonksiyonu uygulanır:
3. 5 nolu düğümdeki ağırlıklarlarla giriş değerleri çarpılarak toplamı hesaplanır:
4. Sonuç:
Yapay Sinir Ağlarının Eğitilmesi
• Bir önceki problemi şu şekilde düşünelim:
– Yapay sinir ağında giriş değerlerimiz X1 = 1 and X2 = 0, ve f bir basamak(step) fonksiyonu
– y5 = 0 verilmiş ve biz ağırlıkları(weights) yani Wij değerlerini bulabilirmiyiz?
• Bu problem oldukça zordur, çünkü bilinmeyen birçok ağırlık var ve sonsuz çözüm olabilir.
• İstenilen sonuç için bir grup ağırlık değerlerinin bulunmasına ağın eğitilmesi denir.
Yapay Sinir Ağlarında Öğrenme
• Yapay sinir ağlarında düğüm elemanlarının ağırlık(weight) değerlerinin belirlenmesi işlemine “ağın eğitilmesi” denir.
• Başlangıçta bu ağırlık değerleri rastgele olarak atanır.
• Yapay sinir ağları kendilerine örnekler gösterildikçe bu ağırlık değerlerini değiştirirler.
• Amaç ağa gösterilen örnekler için doğru çıkış değerlerini üretecek ağırlık değerlerini bulmaktır.
• Örnekler ağa defalarca gösterilerek en doğru ağırlık değerleri bulunmaya çalışılır.
Yapay Sinir Ağlarında Öğrenme
• Ağın doğru ağırlık değerlerine ulaşması örneklerin temsil ettiği olay hakkında genellemeler yapabilme yeteneğine kavuşması demektir.
• Bu genelleştirme özelliğine kavuşması işlemine ağın öğrenmesi denir.
• Ağırlıkların değerlerinin değişmesi belirli kuralara göre yürütülmektedir. Bu kurallara öğrenme kuralları denir.
Yapay Sinir Ağlarında Öğrenme
• Yapay sinir ağlarında öğrenme olayının iki aşaması vardır:
– Ağa gösterilecek örnek için ağın üreteceği çıkış belirlenir.
– Bu çıkış değerinin doğruluk derecesine göre ikinci aşamada ağın bağlantılarının sahip olduğu ağırlıklar değiştirilir.
Yapay Sinir Ağlarında Öğrenme
• Ağın eğitimi tamamlandıktan sonra öğrenip öğrenmediği(performansını) ölçmek için yapılan denemelere ağın test edilmesi denir.
• Test etmek için ağın öğrenme sırasında görmedikleri örnekler kullanılır.
• Test etme sırasında ağın ağırlık değerleri değiştirilmez.
• Test örnekleri ağa gösterilir.
Yapay Sinir Ağlarında Öğrenme
• Ağ eğitim sırasında belirlenen bağlantı ağırlıklarının kullanarak görmediği bu örnekleri için çıkış üretir.
• Elde edilen çıkış doğruluk değerleri ağın öğrenmesi hakkında bilgiler verir.
• Sonuçlar ne kadar iyi olursa eğitimin performansı o kadar iyi demektir.
• Eğitimde kullanılan örnek setine eğitim seti, test için kullanılan sete ise test seti denir.
Öğretmensiz Öğrenme
• Yapay sinir ağının öğrenmesini sağlayacak bir öğretmen yoktur.
• Yapay sinir ağı,giriş verilerinden ve parametrelerden kendi kendine öğrenmeye çalışır.
Yapay Sinir Ağlarının Yapısını Oluşturan Bilgiler
• Ağın Topolojisi
• Kullanılan toplama fonksiyonu
• Kullanılan aktivasyon fonksiyonu
• Öğrenme stratejisi
• Öğrenme kuralı
Yapay Sinir Ağlarının Uygulamaları
• Örüntü sınıflandırma-Pattern classification (analysis of time–series, customer databases, etc).
• Obje tanıma- Object recognition (ör. Karakter tanıma)
• Güvenlik-security (kredi kartı sahteciliği)
Yapay Sinir Ağlarının Yararları
• Birçok alana uygulanabilir.
• Doğrusal olmayan çok boyutlu, gürültülü, eksik
veri olması durumlarında ve özellikle problemin çözümünde kesin bir matematiksel modelin veya algoritmanın bulunmadığı koşullarda uygulanabilir.
Yapay Sinir Ağlarının Zayıf Yönleri
• Diğer birçok algoritmada olduğu gibi az sayıda veri ile kullanılamaz.
• Gizli düğümlerin sayısı, öğrenme oranı, minimum hata gibi parametrelerin belirlenmesi için net bir kural yoktur.
• Aritmetik ve kesin hesaplamalarda başarılı değildir.
• Ağda çok fazla çok fazla düğüm varsa, bu nedenle çok fazla ağırlık vardır ve bunların yorumlanması oldukça zordur.
Kaynaklar
• Middlesex University, Dr. Roman V Belavkin, BIS4435, Lecture notes.
• Russell, S. and Norvig, P. (2010). Artificial Intelligence: A Modern Approach. Series in Artificial Intelligence. Prentice-Hall.
• Öztemel E., Yapay sinir Ağları, 2012, Papatya Yayıncılık.
• Bilecik Üniversitesi, Dr. Cihan Karakuzu, Nöral Sistemlere Giriş Ders Notları
Top Related