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