850 likes | 1.79k Views
Yapay Sinir Ağları. Giriş. Neden Yapay Sinir Ağları (YSA) Bazı görevler insanlar tarafından kolaylıkla yerine getirilirken onların Von Neumann makinesi tabanlı geleneksel paradigmalar ile yerine getirilmesi zordur. Örüntü tanıma ( eski arkadaşlar, el yazısı karakterleri )
E N D
Giriş • Neden Yapay Sinir Ağları (YSA) • Bazı görevler insanlar tarafından kolaylıkla yerine getirilirken onların Von Neumann makinesi tabanlı geleneksel paradigmalar ile yerine getirilmesi zordur. • Örüntü tanıma(eski arkadaşlar, el yazısı karakterleri) • İçerik adreslemeli geri çağırma • Yakınsama, genel kanı muhakemesi(sürüş, piyano çalma) • Bu görevleri sıklıkla tanımlamak zordur, deneyim tabanlıdırlar ve bu görevlere mantık uygulamak zordur
Oysa kamera bunu görür: Bu nedir? Siz bunu görürsünüz:
Bilgisayarlı görü: Car detection Araba değil Arabalar Testing: Bu nedir?
pixel 1 Öğrenme algoritması pixel 2 Raw image Cars “Non”-Cars pixel 2 pixel 1
pixel 1 Learning Algorithm pixel 2 Raw image Cars “Non”-Cars pixel 2 pixel 1
pixel 1 Learning Algorithm pixel 2 50 x 50 pixel images→ 2500 pixels (7500 if RGB) Raw image Cars pixel 1 intensity “Non”-Cars pixel 2 pixel 2 intensity pixel 2500 intensity Quadratic features ( ): ≈3 million features pixel 1
Biyolojik Esinlenme • İnsan beyninin en temel özelliği olan • Öğrenme • İlişkilendirme • Sınıflandırma • Genelleme • Özellik Belirleme • Optimizasyon • işlemlerinden örnek alınmıştır.
Giriş • İnsan Beyni • ---------------------------------------------- • Limitli hesaplama gücüne sahip, daha düşük hızlı ama çok daha fazla sayıda işlemci (1011civarında) • Düşük hızlı çok sayıda iletim kanalı (1015 civarında) • İçerik adreslemeli geri çağırma • Problem çözme bilgisi nöronların bağlantısında yer alır • Bağlantıların değiştirilmesi ile adaptasyon sağlanabilir Von Neumann Makinesi ---------------------------------------------- • Hatırı sayılır hesaplama gücü olan bir veya birkaç yüksek hızlı işlemci • İletim için bir veya birkaç tane paylaşımlı, yüksek hızlı veri iletim kanalı • Adreslerle idare edilen sıralı bellek • Problem çözme bilgisi hesaplama bileşeninden ayrılır • Yeni durumlara uyum sağlama zordur
Biyolojik sinir hücresi (nöron) • Her bir neuron bir gövde (body), bir akson (axon) ve çok sayıda sinir uçlarına (dendrites) sahiptir. • İki durumdan birinde olabilir :ateşleme(firing)vesönme(rest). • Eğer gelen toplam uyarım eşik değerini aşarsa nöron fire pozisyonuna geçer. • Synapse: bir nöronun aksonu ile diğerinin sinir ucu arasındaki ince aralıktır. • Sinyal değişimi • Synaptic güç/etkinlik
Giriş • Bir YSA nedir? • “Beynin bir işlevi yerine getirme yöntemini modellemek için tasarlanan bir sistem olarak tanımlanabilir” • Düğümlerin bir kümesidir (birimler, nöronlar, işlem elemanları) • Her bir düğümün giriş ve çıkışı vardır • Her bir düğüm onun düğüm fonksiyonu tarafından basit bir hesaplama yerine getirir • Düğümler arasında ağırlık yüklenmiş bağlantılar(Weightedconnections) vardır. • Bağlantı şekli (connectivity) ağın mimarisini/yapısını verir • YSA, hayvan sinir sistemindeki nöronlara ait ağın çok basitleştirilmiş bir versiyonu gibi görülebilir.
Giriş • Bio Sinir Ağı • -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- • Hücre gövdesi • diğer nöronlardan sinyaller • yanma(firing) frekansı • yanma mekanizması • Sinapsisler • Sinaptik güç Yapay Sinir Ağı -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- • Düğümler • giriş • çıkış • düğüm fonksiyonu • Bağlantılar • bağlantı gücü
Tarihçe • Pitts & McCulloch (1943) • Biyolojik nöronların ilk matematiksel modeli • Bütün boolean işlemleri nöron benzeri düğümler ile gerçeklenebilir (farklı eşik ve tahrik edici/dizginleyici bağlantılar ile) • Genel amaçlı hesaplama cihazı için Von Neumann modeline rakip • Otomata teorisinin orijini • Hebb (1949) • Öğrenim için Hebbian kuralı: her ne zaman i ve j aktive edilirse; i ve j nöronları arasındaki bağlantı gücü artar. • Veya her ne zaman eşzamanlı olarak i ve j nöronlarının her ikisi birden ON veya OFF yapılırsa i ve j düğümleri arasındaki bağlantı gücü artar.
Tarihçe x1 x2 xn • İlk yükseliş (50’s – early 60’s) • Rosenblatt (1958) • Perceptron: örüntü sınıflandırma için eşik düğümlerinin ağı Perceptron öğrenim kuralı • Perceptron convergence teoremi: perceptron ile sunulabilen her şey öğrenebilir • Widrow and Hoff (1960, 1962) • gradient descent (eğim düşümü) tabanlı öğrenim kuralı • Minsky, Pitts/McCullochbirimleri ile genel amaçlı bir makine icat etmeye girişmiştir.
Tarihçe • Gerileme (60 ortaları – 70 sonları) • Perceptronmodel ile ilgili ciddi problemler ortaya çıkmıştır (Minsky’s book 1969) • Single layer perceptrons; XOR gibi basit fonksiyonları sunamaz (öğrenemez) • Çok katmanlı doğrusal olmayan birimler daha büyük güce sahip olabilir fakat böylesi ağlar için öğrenim kuralı yoktur • Ölçekleme problemi: bağlantı ağırlıkları sonsuz olarak büyüyebilir • İlk iki problemin 80’li yıllardaki çabalarla üstesinden gelinmiştir, fakat ölçekleme problemi hala devam etmektedir. • Rosenblatt’ın ölümü (1964) • Von Neumann machine ve AI çekişiyor
Tarihçe • Yeniden büyük ilgi (80li yıllar ve sonrası) • Yeni teknikler • Çok katmanlı feed forward ağlar için Back-propagation öğrenim (with non-linear, differentiable node functions) • Termodinamik modeller (Hopfield net, Boltzmann machine, etc.) • Denetimsiz öğrenim • Etkileyici uygulamalar (karakter tanıma, ses tanıma, metinden sese dönüşüm, proses kontrol, ortak bellek, vs) • Geleneksel yaklaşımlar zor işlerle yeniden mücadele etmeye başlamıştır • Uyarı: • Zorluklar ve limitler tahmin edilemeyebilir • Çözümlerden daha çok problemler ortaya çıkmaktadır
YSA Nöron Modelleri Her bir nöronun diğer düğümlerden gelen bir veya daha fazla girişi ve diğer düğümlere giden bir çıkışı vardır. Giriş/çıkış değerleri Binary {0, 1} Bipolar {-1, 1} Sürekli olabilir. Bir düğüm için bütün girişler aynı zamanda gelir ve çıktı hesap edilene kadar aktive edilmiş olarak kalırlar. Linklerle ağırlıklar uyumludur Genel nöron modeli Ağırlıklı giriş toplamı
Düğüm fonksiyonları Step (threshold) fonksiyonu c eşik olarak adlandırılır Ramp function Step function Ramp function
Node Function Sigmoid function S-şekillidir Sürekli ve her bir değer diğerinden farklı Bazı noktalarda (net = c) dönüşlü olarak simetriktir Asimptotik olarak doygun noktalara yaklaşır Örnekler: Sigmoid function y = 0 vez = 0 olduğunda: a = 0, b = 1, c = 0. y = 0 vez = -0.5 olduğunda a = -0.5, b = 0.5, c = 0. Daha büyük xdaha dik eğriler verir
Node Function Gaussian function Çan şekillidir (radial basis) Sürekli |net|büyük olduğunda f(net) asimptotik olarak 0 veya bazı sabit değerlere yakınsar Tekil maksimum (net = ) Örnek : Gaussian function
Network Architecture Katmanlı Ağlar Düğümler katman adı verilen altkümelere bölünür j > k ise j katmanındaki düğümlerden k katmanındakilere -doğru- bağlantı yoktur. • Ortam girişleri katman 0’daki düğümlere uygulanır (input layer). • Giriş katmanındaki düğümler hiçbir hesaplama yapılmadan taşıyıcılarda tutulur (Örn, onları düğüm fonksiyonları identity fonksiyondur)
Network Architecture İleri Beslemeli Ağlar i katmanındaki bir düğümden sadece i+1 katmanındaki düğümlere bağlantıya izin verilir. En geniş kullanıma sahip mimaridir. Conceptually, nodes at higher levels successively abstract features from preceding layers
Network Architecture Çevrimi Olmayan Ağlar Bağlantılar doğrudan çevrimsel formda değildir. Çok katmanlı ileri beslemeli ağlar çevrimsel olmayan ağlardır Recurrent Ağlar Doğrudan çevrimli ağlardır Çevrimsel olmayan ağlara oranla analiz edilmesi daha zordur Modüler Ağlar Eğer, bir ağın yapması gereken işlemler birbirleriyle de haberleşmeksizin iki yada daha fazla modüle (alt yapıya) ayrılabiliyorsa bu ağlar modül YSA’ları olarak söylenir Modüller arasında seyrek bağlantılar vardır
Sinir Ağları • Ağ Mimarisi • Nöron tipleri • Öğrenme algoritmaları • Uygulamalar
Ağ Mimarisi • ağın mimarisi yapısı 3 • Tek katmanlı ileri beslemeli(single-layer feed-forward) • Çok katmanlı multi-layer feed-forward • Özyinelemeli (recurrent) • YSA ların mimarı yapısı eğitim setinde kullandıkları öğrenme algoritmasıyla ilişkilidir.
Tek katmanlıSingle Layer Feed-forward Input layer of source nodes Output layer of neurons
Çok katmanlı (Multi layer feed-forward ) 3-4-2 Network Çıktı katmanı Girdi katmanı Saklı katman
z-1 z-1 z-1 Recurrent network Recurrent Network with hidden neuron: unit delay operator z-1 is used to model a dynamic system input hidden output
Nöron Bias b x1 w1 Aktivasyon fonksiyonu Local Field v Çıktı y Girdi değerleri x2 w2 Toplama fonksiyonu …………. xm wm ağırlıklar
Bias as extra input • The bias is an external parameter of the neuron. It can be modeled by adding an extra input. w0 x0 = +1 x1 w1 Activation function Local Field v Input signal Output y x2 w2 Summing function ………….. Synaptic weights xm wm
Aktivasyon Fonksiyonu Farklı uygulamalarda kullanılan bir çok farklı aktivasyon fonksiyonu vardır.En çok kullanılanlar: Hard-limiter Piecewise linear Sigmoid Hyperbolic tangent
Neuron Models • The choice of determines the neuron model. Examples: • step function: • ramp function: • sigmoid function: with z,x,y parameters • Gaussian function:
Öğrenme Algoritmları Ağ mimarisine dayanmaktadır: • Hatayı düzelterek öğrenme (perceptron) • Delta rule (AdaLine, Backprop) • Competitive Learning (Self Organizing Maps)
Uygulama alanları • Classification: • Image recognition • Speech recognition • Diagnostic • Fraud detection • … • Regression: • Forecasting (prediction on base of past history) • … • Pattern association: • Retrieve an image from corrupted one • … • Clustering: • clients profiles • disease subtypes • …
Perceptron: architecture • We consider the architecture: feed-forward NN with one layer • It is sufficient to study single layer perceptrons with just one neuron:
Single layer perceptrons • Generalization to single layer perceptrons with more neurons is easy because: • The output units are independent among each other • Each weight only affects one of the outputs
b (bias) x1 w1 v y x2 w2 (v) wn xn Perceptron: Neuron Model • (McCulloch-Pitts) perceptron, non-linear sign aktivasyon fonksiyonu kullanan tek katmanlı NN dir
Perceptronun Geometrikgörüntüsü decision region for C1 x2 w1x1 + w2x2 + w0 >= 0 decision boundary C1 x1 C2 w1x1 + w2x2 + w0 = 0
Perceptron: Öğrenme algoritması • Değişken ve parametreler: x(n) = Girdi vektörü = [+1, x1(n), x2(n), …, xm(n)]T w(n) = ağırlık vektörü = [b(n), w1(n), w2(n), …, wm(n)]T b(n) = bias (kutuplama) y(n) = ysa çıktısı d(n) = istenilen çıktı = öğrenme katsayısı parametresi
Öğrenme algoritması n=1; Başlangıç Ağırlık vekörü w(n) rastgele ata;while (yanlış sınıflandırılan bir örüntü kalmayıncaya kadar) Yanlış sınıflandırılan örneği seç (x(n),d(n)) w(n+1) = w(n) + d(n)x(n); n = n+1; end-while; = öğrenme katsayısı (0-1 aralığında)
Örnek C1 C2, 2 boyutlu eğitim seti olsun C1 = {(1,1), (1, -1), (0, -1)} sınıf 1 C2 = {(-1,-1), (-1,1), (0,1)} sınıf -1 C1 C2 perceptron ile eğitelim
Execution • Başlangıç ağırlık vektörü w(1)=(1,0,0), =1, Güncelle: w(n+1) = w(n) + d(n)x(n); End epoch 1
Execution End epoch 2 epoch 3 te hiç bir ağırlık değişmiyor. Algoritmanın çalışmasını durdur. Son ağırlık vektörü: (0, 2, -1). Karar hiperdüzlemi 2x1 - x2 = 0.
Result x2 1 - - + Karar sınırı: 2x1 - x2 = 0 C2 x1 -1 1 2 1/2 w -1 C1 - + +
Perceptron: Limitations • perceptron sadece lineer olarak ayrılabilen sınıflar için uygun modelleme yapar • AND • OR • COMPLEMENT • XOR için modelleme yapamaz