Yapay Sinir Ağları.

Slides:



Advertisements
Benzer bir sunumlar
Çok Katmanlı Yapay Sinir Ağı Modelleri
Advertisements

Yapay Sinir Ağı (YSA).
Çok Katmanlı Ağın Çalışma Şekli
İlk Yapay Sinir Ağları.
    SiMETRi SiMETRi.
Support Vector Machines
MC-CDMA (Çok Taşıyıcılı-Kod Bölmeli Çoklu Erişim ) Alıcılarda Yakın-Uzak Problemine Yönelik Yapay Zekâ Uygulamaları Metin ÇİÇEK, Bilgi Teknolojileri ve.
MIT503 Veri Yapıları ve algoritmalar Algoritmalara giriş
İçerik Ön Tanımlar En Kısa Yol Problemi Yol, Cevrim(çember)
Lokal Arama Algoritmaları
Yapay Sinir Ağları Artificial Neural Networks (ANN)
MIT563 Yapay Zeka ve Makine Öğrenmesi
Uzaklık Vektörü Algoritması
Bilgisayara Giriş Doç. Dr. Mehmet S. İlkay.
MAKİNE ÖĞRENİMİ-Machine learning
Yönlendirici Mimarisi
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
Özyineleme(Recursion)
Yrd. Doç. Dr. Ayhan Demiriz
NEURAL NETWORK TOOLBOX VE UYGULAMALARI
BİYOİNFORMATİK NEDİR? BİYOİNFORMATİKTE KULLANILAN SINIFLAMA YÖNTEMLERİ
YAPAY SİNİR AĞLARI.
Erkan ULKER & Ahmet ARSLAN Selçuk Üniversitesi,
Resim Sıkıştırma Yonca BAYRAKDAR
YAPAY SİNİR AĞLARI VE BAYES SINIFLAYICI
DEVRE TEOREMLERİ.
İşletim Sistemleri Operation Systems Fon müziği.
Giriş Dikkat Altsistemi Yönlendirme Altsistemi Kısa Süreli Bellek Uzun Süreli Bellek Kontrol Birimi Kontrol Birimi F1 F2 ART nasıl çalışıyor? Mete Balcı,
Veri Yapıları ve Algoritmalar
Yapay Sinir Ağları (YSA)
Yapay Sinir Ağları (YSA)
Bulanık Mantık Kavramlar:
AB-2016 / Kablosuz Duyarga Ağlarında Yönlendirme Algoritmalarının Performans Analizi Yard. Doc Coşkun Atay Sinem Seçgin.
Yapay Sinir Ağları (YSA)
Yapay Sinir Ağları (Artificial Neural Networks) Bir Yapay Sinir Ağı Tanımı (Alexander, Morton 1990) Yapay sinir ağı, basit işlemci ünitelerinden oluşmuş,
YAPAY SİNİR AĞLARI.
Dinamik Yapay Sinir Ağı Modelleri Yinelemeli Ağlar (recurrent networks) İleri yolGeri besleme.
YAPAY SİNİR AĞLARINA GİRİŞ. Yapay Sinir Ağlarının Genel Tanımı İnsan beyninin özelliklerinden olan öğrenme yoluyla yeni bilgiler türetebilme, yeni bilgiler.
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
F(.) y[n+1] Giriş Vektörü Giriş-Çıkış Eşleme Fonksiyonu Çıkış Mahmut Meral, Lisans Bitirme Ödevi, 2003 Giriş – Çıkış Modeline göre Dinamik Sistem Tanıma.
Bölüm 3 : Yapay Sinir Ağları (MatLab) Artificial Neural Network
“Bilgi”’nin Gösterimi “Bilgi” İnsan veya Makina Yorumlama Öngörme Uygun yanıt verme Depolanmış enformasyon veya model Kurallar: (1) Benzer sınıflardan.
İSTANBUL TEKNİK ÜNİVERSİTESİ ♦ ELEKTRONİK & HABERLEŞME MÜHENDİSLİĞİ Öğrenme nasıl gerçekleşiyor? Ağırlıklar hatayı en azlıyacak şekilde güncelleniyor Öğrenme.
Yapay sinir ağı, basit işlemci ünitelerinden oluşmuş, çok
Engin Kaya Kontrol Mühendisliği İstanbul Teknik Üniversitesi
Engin Kaya Kontrol Mühendisliği İstanbul Teknik Üniversitesi
YAPAY SİNİR AĞLARININ YAPISI VE TEMEL ELEMANLARI
OSI Modeli 6. Hafta Dersi.
Geriye Yayılım Algoritması (Back-Propagation Algorithm)
Dinamik Yapay Sinir Ağı Modelleri
Yapay Sinir Ağı Modeli (öğretmenli öğrenme) Çok Katmanlı Algılayıcı
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
Sinir Hücresi McCulloch-Pitts x1 w1 x2 w2 v y wm xm wm+1 1 '
Algoritmalar II Ders 17 İteratif İyileştirme Yöntemi.
Hopfield Ağı Ayrık zaman Sürekli zaman
YAPAY SİNİR AĞLARI Bölüm 1-Giriş
• EDVAC (Electronic Discrete Variable Automatic Computer)
ARTIFICIAL NEURAL NETWORKS-ANN (YAPAY SİNİR AĞLARI-YSA)
S. Haykin, “Neural Networks- A Comprehensive Foundation”,
Yapay Sinir Ağları (Artificial Neural Networks)
C++ Programming:. Program Design Including
İşletim Sistemleri (Operating Systems)
BİLİŞİM TEKNOLOJİLERİ
Yapay Zeka Nadir Can KAVKAS
Yapay Öğrenme Teorisi Bölüm-1
Çizge Algoritmalari 10. Ders.
Yapay Öğrenme Teorisi Bölüm-2
Çok Katmanlı Algılayıcı-ÇKA (Multi-Layer Perceptron)
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

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) İç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

Bu nedir? Siz bunu görürsünüz: Oysa kamera bunu görür:

Bilgisayarlı görü: Car detection Arabalar Araba değil Testing: Bu nedir?

Öğrenme algoritması pixel 1 pixel 2 Raw image pixel 2 pixel 1 Cars “Non”-Cars

Learning Algorithm pixel 1 pixel 2 Raw image pixel 2 pixel 1 Cars “Non”-Cars

Learning Algorithm 50 x 50 pixel images→ 2500 pixels (7500 if RGB) Raw image pixel 2 pixel 1 intensity pixel 2 intensity pixel 2500 intensity pixel 1 Quadratic features ( ): ≈3 million features Cars “Non”-Cars

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ş 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 İnsan Beyni ---------------------------------------------- Limitli hesaplama gücüne sahip, daha düşük hızlı ama çok daha fazla sayıda işlemci (1011 civarı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

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) ve sö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 (Weighted connections) 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.

Yapay Sinir Ağı Giriş Düğümler Bağlantılar Bio Sinir Ağı giriş çıkış -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Düğümler giriş çıkış düğüm fonksiyonu Bağlantılar bağlantı gücü Bio Sinir Ağı -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Hücre gövdesi diğer nöronlardan sinyaller yanma(firing) frekansı yanma mekanizması Sinapsisler Sinaptik güç

Tarihçe Pitts & McCulloch (1943) Hebb (1949) 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.

İlk yükseliş (50’s – early 60’s) 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/McCulloch birimleri ile genel amaçlı bir makine icat etmeye girişmiştir.

Gerileme (60 ortaları – 70 sonları) Tarihçe Gerileme (60 ortaları – 70 sonları) Perceptron model 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

Yeniden büyük ilgi (80li yıllar ve sonrası) 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

Ağırlıklı giriş toplamı 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

Sigmoid function Node Function y = 0 ve z = 0 olduğunda: 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 ve z = 0 olduğunda: a = 0, b = 1, c = 0. y = 0 ve z = -0.5 olduğunda a = -0.5, b = 0.5, c = 0. Daha büyük x daha dik eğriler verir

Gaussian function Node 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

Katmanlı Ağlar Network Architecture 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)

İleri Beslemeli Ağlar Network Architecture 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

Çevrimi Olmayan Ağlar Recurrent Ağlar Modüler Ağlar 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

Recurrent network Recurrent Network with hidden neuron: unit delay operator z-1 is used to model a dynamic system z-1 input hidden output

Nöron b x1 w1 v y x2 w2 …………. xm wm Bias 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: Regression: Pattern association: 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

Perceptron: Neuron Model (McCulloch-Pitts) perceptron, non-linear  sign aktivasyon fonksiyonu kullanan tek katmanlı NN dir x1 x2 xn w2 w1 wn b (bias) v y (v)

Perceptronun Geometrik gö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ı  = öğrenme katsayısı (0-1 aralığında) 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 Güncelle: w(n+1) = w(n) + d(n)x(n); End epoch 1 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 C2 x1 w C1 - - Karar sınırı: 2x1 - x2 = 0 - 1 + -1 1 2 -1 + 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