Yapay Sinir Ağları

Download Report

Transcript Yapay Sinir Ağları

MATLAB

NEURAL NETWORK TOOLBOX VE UYGULAMALARI

Yapay Sinir Ağları

 Yapay sinir ağları insan beyin hücresini (nöron) taklit etmeye çalışan matematiksel bir modeldir.

Yapay Sinir Ağları

Avantajlı yönleri

 Doğrusallık özelliği   Paralel işlem yapabilme Öğrenebilme yeteneği  Genelleme yapabilme     Uygulanabilirlik Hata toleransı Donanım ve hız Analiz ve tasarım kolaylığı

Yapay Sinir Ağları

Bazı kullanım alanları

 Arıza analizi  Tıp alanı     Askeri teknoloji Haberleşme Üretim, fabrika yönetimi Otomatik kontrol        Otomotiv Uçak,Uzay teknolojisi Finans sektörü Robotik Konuşma ve ses yorumlama Karakter, resim tanıma Güvenlik

Yapay Sinir Ağları

Yapay hücre modeli

 Yapay sinir hücreleri, YSA’nın çalışmasına esas teşkil eden en küçük bilgi işleme birimidir

Yapay Sinir Ağları

Yapay hücre modeli

 P: Giriş vektörü    W: Ağırlık matrisi n: Net giriş toplamı, a: Hücrenin çıkışı  f(.): Aktivasyon fonksiyonu

Yapay Sinir Ağları

Aktivasyon fonksiyonları

 Hard limit (eşik) aktivasyon fonksiyonu

Yapay Sinir Ağları

Aktivasyon fonksiyonları

 Sigmoid aktivasyon fonksiyonu  Pureline (Doğrusal) aktivasyon fonksiyonu

Yapay Sinir Ağları

Aktivasyon fonksiyonları

 Radial tabanlı (gauss) aktivasyon fonksiyonu  Hiperbolik tanjant (Tanh) aktivasyon fonksiyonu

Yapay Sinir Ağları

 Yapay sinir hücresinin matematiksel model örneği

Çalıştır

Yapay Sinir Ağları

Yapay Sinir Ağları

Yapay sinir ağları hücrelerin bir birleri ile çeşitli şekillerde bağlanmalarından oluşur.

Yapay Sinir Ağları

Yapay Sinir Ağı Modelleri

 İleri sürümlü sinir ağları   Multi Layer Perceptron (MLP) Radial-Basis Network (RBF)  Self-Organizing map (SOM)  Geri beslemeli sinir ağları  Recurrent (Geri beslemeli) ağlar

Yapay Sinir Ağları

2-4 1 düzenine sahip bir MLP

Multi Layer Perceptrons

    İleri sürümlü yapay sinir ağlarıdır.

Bir giriş katmanı, bir veya daha fazla saklı katman ve bir çıkış katmanından oluşur Giriş katmanındaki bilgiler, her hücre tek tek işlenerek ağın çıkışına iletilir.

Sınıflandırma, karakter tanıma, fonksiyon hesaplama… gibi çok yaygın kullanım alanına sahiptir.

Yapay Sinir Ağları

Multi Layer Perceptrons – İleri yönde veri akışı

i.Hücre için net giriş toplamı

S i k

 1 

n k j

  1

w ij k

 1

o k j

i.Hücrenin çıkışı

o i k

 1 

f

(

S i k

 1 )

Yapay Sinir Ağları

Multi Layer Perceptrons Güncelleme – Hata geriye yayma (Backpropagation) yöntemi ile parametre

   Literatürde en çok kullanılan yöntemdir.

Dayandığı yöntem; bir maliyet fonksiyonunun zaman içerisinde, ağ parametrelerinin uyarlanması ile azaltılmasıdır.

Ağın çıkışı ile istenen değer arasındaki fark, eğim düşümü yöntemi yardımı ile her bir hücrenin ağırlıklarının güncellenmesi için parametre olarak kullanılır.

Yapay Sinir Ağları

Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme

Yapay Sinir Ağları

Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme

w k ij

 1 : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin j’inci girişine bağlı olan ağırlık

S i k

 1 : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin net giriş toplamı

o i k

 1 : Ağın (k+1)’inci katmanındaki i’ıncı hücrenin çıkışı

k w hi

 2 : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin i’inci girişine bağlı olan ağırlık

S h k

 2 : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin net giriş toplamı

o h k

 2 : Ağın (k+2)’inci katmanındaki h’ıncı hücrenin çıkışı (ağın çıkışı)

d h

: Ağın h’ıncı çıkışı için istenen çıkış değeri

j r

: Maliyet fonksiyonu

Yapay Sinir Ağları

Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme

Ağın girişine veri uygulanıp ileri yayımlandıktan sonra maliyet fonksiyonu hesaplanır:

j r

 1 2

n k h

   2 1 (

d h

o k h

 2 ) 2 Daha sonra bu maliyet fonksiyonu kullanılarak her hücre için delta değerleri Hesaplanır. Eğer çıkış hücresi hesaplanıyorsa delta formülü: 

h k

 2  (

d h

o h k

 2 )

f

 (

S h k

 2 ) 

w k hi

 2  

h k

 2

o i k

 1

w k hi

 2 

w k hi

 2  

w k hi

 2

Yapay Sinir Ağları

Multi Layer Perceptrons – Hata geriye yayma (Backpropagation) yöntemi ile parametre güncelleme

Eğer hücre saklı katman hücresi ise hesaplama : 

i k

 1    

n k

  2

h

 1 

h k

 2

w k hi

 2  

f

 (

S i k

 1 ) 

w k ij

 1  

i k

 1

o k j w k ij

 1 

w k ij

 1  

w k ij

 1

Yapay Sinir Ağları

Multi Layer Perceptrons – Sinüs ve karakter tanıma örnekleri

Sinus.m ->

Sinüs örneğinde 0 ile 360 arasında otuz adet açı ile eğitimi yapılan 1-24-1 yapıya sahip MLP ağı, sinüs fonksiyonunu taklit ediyor.

 Mlp_fonksiyon_yaklasimi.exe

görsel bir ysa demo programı -> Delphi ile yapılmış MLP yapısını kullanan  Karakter.m -> Matlab’da karakter tanıma programı.

Neural Network Toolbox

Neural Network Toolbox komutları

     NEWFF TRAIN SIM INIT GENSIM : Yeni bir Feed Forward sinir ağı oluşturur.

: Sinir ağının eğitimini yapar.

: Sinir ağını simüle eder.

: Sinir ağını sıfırlar.

: Sinir ağını simulink’e aktarır.

Neural Network Toolbox

NEWFF fonksiyonunun kullanımı net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF)

    PR : Rx2 matris Girişler içindeki maksimum ve minimum değerler Si : i. Katmandaki nöron sayısı TFi : i. Katmandaki nöronların transfer fonksiyonları (logsig, tansig, hardlim ….) BTF : Geriyansıtma eğitim cinsi (traınlm, traınbfg, traınrp, traıngd … )

Neural Network Toolbox

TRAIN fonksiyonunun kullanımı [net,tr] = train(NET,P,T)

  net : Eğitim yapılmış olan ağ (çıkış ağı) tr : Eğitim kayıtı    NET : Eğitimi yapılacak olan ağ P T : Eğitim örnekleri : Eğitimdeki hedefler

Neural Network Toolbox

SIM fonksiyonunun kullanımı y = sim(net,P)

   y : Simülasyon çıkışları net : Simüle edilecek olan ağ (çıkış ağı) P : Test girişleri

Neural Network Toolbox

Neural Network Toolbox komutları ile yapılan örnekler:

  

Nn2.m

-> y=sin(x) fonksiyonunu taklit eden yapay sinir ağı örneği

Nn3.m

örneği -> y=sin(x)^2 sin(x) fonksiyonunu taklit eden yapay sinir ağı

karakter.m ->

Bu örnekte önce harfler yapay sinir ağına tanıtılıyor daha sonra bozuk harfler yapay sinir ağına uygulanarak ağın harfleri tanıması test ediliyor.

Neural Network Toolbox

Sinüs fonksiyonu için yapay sinir ağı örneği : (NN2.M doyası)

N=10; P=linspace(0,360,N); T=sin(P*pi/180); x=P/360; net = newff(minmax(x),[5 1],{'tansig' 'purelin'}); net.trainParam.epochs = 50; net = train(net,x,T);

Neural Network Toolbox

Sinüs fonksiyonu için yapay sinir ağı örneği(devam):

test=sim(net,[0:2:360]/360); plot(0:2:360,test,'r:') hold on; plot(0:2:360,sin([0:2:360]*pi/180)); title('Sinus ve YSA''da Sinus Grafiği'); grid on; xlabel('Açı Derece'); ylabel('YSA''da Sinus +/ Sinus -'); figure(3); plot(0:2:360,abs( test-sin([0:2:360]*pi/180))); title('Hata');

Yapay Sinir Ağları

Neural Network Toolbox Arabirimi

Bu ara birim yardımı ile yapay sinir ağı istenilen şekilde görsel olarak tanıtılır, eğitilir, test edilir. İstenirse sonuç workspace’e aktarılablir.

Yapay Sinir Ağları

Neural Network ile Sistem tanımlama

Yapay Sinir Ağları

Neural Network ile Ön çıkartımlı Sistem Kontrolü

Yapay Sinir Ağları

Neural Network ile Sistem tanımlama ve kontrol örneği