4. YAPAY SİNİR AĞLARI 4.1 Giriş Yapay sinir

advertisement
4. YAPAY S N R A LARI
4.1 Giri
Yapay sinir a ları ya da kısaca YSA; insan beyninin çalı ma sisteminin yapay olarak
benzetimi çabalarının bir sonucu olarak ortaya çıkmı tır. En genel anlamda bir YSA insan
beynindeki birçok nöronun (sinir hücresinin), ya da yapay olarak basit i lemcilerin
birbirlerine de i ik etki seviyeleri ile ba lanması sonucu olu an karma ık bir sistem olarak
dü ünülebilir. Önceleri temel tıp birimlerinde insan beynindeki nöronların matematiksel
modelleme çabaları ile ba layan çalı malar, geçti imiz on sene içerisinde, disipline bir ekil
almı tır. YSA bugün fizik, matematik, elektrik ve bilgisayar mühendisli i gibi çok farklı
bilim dallarında ara tırma konusu haline gelmi tir. YSA'nın pratik kullanımı genelde, çok
farklı yapıda ve formlarda bulunabilen informasyon verilerini hızlı bir ekilde tanımlama ve
algılama üzerinedir. Aslında mühendislik uygulamalarında YSA'nın geni çaplı kullanımının
en önemli nedeni, klasik tekniklerle çözümü zor problemler için etkin bir alternatif
olu turmasıdır. Çünkü bilgisayarlar insanın beyinsel yetene inin en zayıf oldu u çarpma,
bölme gibi matematiksel ve algoritmik hesaplama i lemlerinde hız ve do ruluk açısından
yüzlerce kat ba arılı olmalarına ra men insan beyninin ö renme ve tanıma gibi i levlerini
hala yeteri kadar gerçekle tirememektedir. Çizelge 4.1'de bilgisayar ile insan beyni arasındaki
çalı ma sistem yapısı kar ıla tırmalı olarak verilmi tir.
Çizelge 4.1 Bilgisayar ile insan beyni arasındaki çalı ma sistem yapısının kar ıla tırılması
B LG SAYAR
NSAN BEYN
Sayısal
Analog
Seri
Paralel
Komut Kümeli
Bilgiye Adapte Olma
Yanlı Hesaplamalar Sonucu Etkiler
Birimlerin Ana lemlere Etkisi Azdır
Giri Verilerindeki Hatalar Sonucu Etkiler
Giri Verilerindeki Hatalara Her Zaman
Duyarlı De il
4.2 YSA'nın Tanımı ve Modeli
4.2.1 YSA'nın tanımı
YSA paralel da ılmı bir bilgi i leme sistemidir. Yani, YSA’nın temelinde, zeka gerektiren
i lemlerden olu an bilgi i leme i levi vardır. Bu sistem tek yönlü i aret kanalları (ba lantılar)
ile birbirine ba lanan i lem elemanlarından olu ur. Çıkı i areti bir tane olup iste e göre
ço altılabilir. YSA yakla ımının temel dü üncesiyle, insan beyninin fonksiyonları arasında
benzerlik vardır. Bu yüzden YSA sistemine insan beyninin modeli denilebilir. YSA çevre
artlarına göre davranı larını ekilleyebilir. Giri ler ve istenen çıkı ların sisteme verilmesi ile
kendisini farklı cevaplar verebilecek ekilde ayarlayabilir. Ancak son derece karma ık bir
içyapısı vardır. Onun için bugüne kadar gerçekle tirilen YSA; biyolojik fonksiyonların temel
nöronlarını örnek alarak yerine getiren kompoze elemanlar olmu tur.
4.2.2 Nöronun biyolojik yapısı ve nöron modeli
nsanın bilgi i leme olayı beyninde gerçekle ir. Gerçektende en karma ık sinir a ı Cerebral
Cortex denilen “beyin”dir. Sinir sisteminin en basit yapısı nöronlardır. Beyinde yakla ık
olarak 10 10 sinir hücresi vardır. Yine hücre ba ına ba lantı sayısı ise 10 4 mertebesindedir.
Beyin için çalı ma frekansı 100 Hz’dir. Fiziksel boyutları ise 1.3 kg ve 0.15 m2 kesitlidir.
Vücudun de i ik yerleri ile bilgi alı veri i yapan nöron hücresidir. ekil 4.1 de basit bir nöron
hücresi görülmektedir.
ekil 4.1 Basit bir nöron yapısı
Nöron, soma adı verilen hücre gövdesi dentrit denilen kıvrımlı uzantılar ve somanın dalları
sayesinde nöronu dallarına ba layan tek sinir fiberli aksondan olu ur. Dendrit'ler hücreye
gelen giri leri toplarlar. Dendrit tarafından alınan i aretler hücrede birle tirilerek bir çıkı
darbesi üretilip üretilemeyece ine karar verilir. E er bir i yapılacaksa üretilen çıkı darbesi
aksonlar tarafından ta ınarak di er nöronlarla olan ba lantılara veya terminal organlara
iletilir. Beyindeki korteksde her nöronun bir kar ılı ı vardır. Bir nöronun çıkı ı ona ba lı olan
bütün nöronlara iletilir. Fakat korteks, i in yapılabilmesi için hangi nöron harekete
geçirilecekse, sadece ona komut gönderir.
Somanın içinde ve çevresinde sodyum, kalsiyum, potasyum ve klor iyonları vardır. Potasyum
yo unlu u nöronun içinde, sodyum yo unlu u dı ındadır. Somanın zarı elektriksel olarak
uyarılınca (söz konusu uyarı genellikle bir gerilim dü mesidir) zar, Na ve Ca gibi di er
iyonların içeri geçmesine izin verir ve somanın iç durumunu de i tirir. Nöronlar arasındaki
ba lantılar hücre gövdesinde veya "sinaps" adı verilen dendritlerdeki geçi lerde olur.
Yardımcı bir benzetme aksonlarla, dendritleri elektrik sinyallerini nörona ileten de i ik
empedansdaki yalıtılmı iletken olmasıdır. Sinir sistemi milyarlarca nöron ile tek bir nörondan
çıkan aksonun 10000 kadar di er nöronu ba layan bir a dır. Sinapslarla düzeltilen i aretleri
ta ıyan aksonlar ve dendritlerle içiçe geçmi nöronlar bir sinir a ı olu tururlar. ekil 4.2'de en
basit formda gösterilen nöron modeli, bir e ik birimi olarak algılanabilir.
ekil 4.3’de ise
YSA’nın genel blok eması gösterilmektedir.
X0 Kutup+1
I=X1W11+X2W12
I
X1
1
W11
Yi
0
W12
X2
ekil 4.2 Nöron modeli
EYLEM
BÇM
GR
Ö RENME
BÇM
ÇIKI
STENEN ÇIKI
ekil 4.3 YSA’nın genel blok eması
E ik birimi, çıkı ları toplayan ve sadece giri in toplamı iç e ik de erini a tı ında bir çıkı
üreten i lem elemanıdır. Bir e ik birimi olarak nöron sinapslarındaki i aretleri alır ve hepsini
toplar. E er toplanan i aret gücü e i i geçecek kadar güçlü ise di er nöronları ve dendritleri
uyaran akson boyunca bir i aret gönderilir. Kesi en dendritlerden gelen sinapslarla kapılanan
bütün i aretleri soma toplar. Toplam i aret daha sonra nöronun iç e ik de eri ile kar ıla tırılır
ve e ik de erini a mı sa aksona bir i aret yayar. YSA, bu basit nöronların (dü ümlerin ya da
ünitelerin) ba lanarak bir a 'a dönü türülmesiyle meydana getirilir.
4.3 YSA'nın Yapısı ve
lem Elemanı
YSA temel olarak, basit yapıda ve yönlü bir graf biçimindedir. Her bir dü üm hücre denilen
n. dereceden lineer olmayan bir devredir. Dü ümler i lem elemanı olarak tanımlanır.
Dü ümler arasında ba lantılar vardır. Her ba lantı tek yönlü i aret iletim yolu (gecikmesiz)
olarak görev yapar. Her i lem elemanı istenildi i sayıda giri ba lantısı ve tek bir çıkı
ba lantısı alabilir. Fakat bu ba lantı kopya edilebilir. Yani bu tek
çıkı birçok hücreyi
besleyebilir. A 'daki tek gecikme, çıkı ları ileten ba lantı yollarındaki iletim gecikmeleridir.
lem elemanının çıkı ı istenilen matematiksel tipte olabilir. Kısmen sürekli çalı ma
konumunda "aktif" halde eleman bir çıkı i areti üretir. Giri i aretleri YSA'na bilgi ta ır.
Sonuç ise çıkı i aretlerinden alınabilir. ekil 4.4 'de genel bir i lem elemanı (nöron, dü üm)
gösterilmi tir.
X2 G R LER X3
θ0 (Aktif Yapma areti)
X1
TRANSFER
FONKS YONU
YEREL
BELLEK
y
ekil 4.4 Genel i lem elemanı yapısı
YSA birtakım alt kümelere ayrılabilir. Bu alt kümelerdeki elemanların transfer fonksiyonları
aynıdır. Bu küçük gruplara "katman" layer adı verilir. A katmanların birbirlerine hiyerar ik
bir ekilde ba lanmasından olu mu tur. Dı dünyadan alınan bilgi giri katmanı ile ta ınır. Bir
transfer fonksiyonları yoktur. YSA transfer fonksiyonu ve yerel bellek elemanı, bir ö renme
kuralı ile giri çıkı i areti arasındaki ba ıntıya göre ayarlanır. Giri i aktif yapabilmek için
yukarıda adı geçen kural ve i aretlerin bir zamanlama fonksiyonu tanımlaması gerekebilir.
Kısaca bir YSA’dan beklenen görev, gerçek dünyadaki nesneler ile biyolojik sinir a ının
yaptı ı i levi, benzer bir yolla yerine getirmesidir. YSA’nın giri veri tipleri ikili (binary) 0-1
veya sürekli de erlerdir. Bu giri durumlarından ba ka, i lem elemanlarına ait giri leri
matematiksel olarak da sınıflamak gerekmektedir. Çünkü bir i lem elemanına gelen giri lerin
bir kısmı azaltıcı uyarma giri leri olmaktadır.
Bu arttırıcı veya azaltıcı giri ler “giri sınıflarını” olu turur.
4.3.1 Giri i areti sınıfları
lem elemanının transfer fonksiyonu, giri ine gelen bütün i aretler için tanımlanır. Bazen
de i ik katman davranı larının farklı olması tabiidir.
aretlerin hangi bölgelerden geldi inin
bilinmesi gerekir. De i ik bölgelere göre i aretlerin sınıfları tamamlanabilir. Sıkça izlenen bir
yapı ise merkezde evet/çevrede hayır (on centre/off surround) yapısıdır. ekil 4.5'de bu yapı
gösterilmektedir. Meksika apkasına benzer ba lantı tipindedir.
ekil 4.5 Kom u hücrelerin merkez hücreye etkisi
lem elemanı tetikleyici giri lerin kendine yakın kom u giri lerden yasaklanan giri lerini
daha uzaktan alır. Böylece i lem elemanına gelen giri ler sınıflarına göre de erlendirilmi
olur. Tetikleyici bölgeden gelen giri ler yasaklanan sınıfı olu turur. ekil 4.6 böyle bir i lem
elemanını gösterir.
Tetikleyici
Yasaklayıcı
giri ler
giri ler
(sınıf 1)
lem
(sınıf 2)
Elemanı
Çıkı
ekil 4.6 Tetikleyici ve yasaklanan giri lere sahip bir i lem elemanı
Bir i lem elemanına gelen giri ler matematiksel tiplerine göre etiketlendirilerek sınıflandırılır.
YSA, giri veri tiplerine göre ikili giri (0,1) ve sürekli de erli giri olmak üzere a a ıdaki
gibi sınıflandırılır ( ekil 4.7).
Burada giri i areti olarak seçilen I , w ve yük olarak kullanılan DC motordan gelen yükün P
sayısal de erleri, bu de erlerin ölçümler boyunca okunması sırasında sürekli-de er de (reel
sayı) oldu undan, sınıflandırıcı olarak ö reticili ö renmeye sahip olan çok katmanlı
perseptrona ba lı olarak ileri-besleme sinir a ı ve hızlı hatanın geriye-yayılımı algoritması
(Fast Backpropagation Algorithm) kullanılmı tır. Bu arada klasik hatanın geriye-yayılımı
algoritmasıyla yapılan e itme sonuçları da kar ıla tırmalı olarak sunulmu tur.
ekil 4.7 YSA Sınıflandırıcıları
4.3.2 Ba lantı geometrileri
Ba lantılarda ta ınan i aret verisinin cinsi tanımlanmalıdır. Ba lantı geometrisi YSA için çok
önemlidir.ba lantı i areti her cinsten olabilir. Ba lantının nerede ba layıp nerede bitti ini
bilmesi gerekir. 1'den N'e kadar olan bir i lem elemanı kümesinin ba lantıları a a ıda
tanımlandı ı gibi NxN boyutlu matris biçiminde gösterilebilir.
w11
w12
. . w1n
w21
w22
. . w2 n
wij = .
.
. .
.
.
.
. .
.
wn1
wn 2
. . wnn
wij = w ji = 1 ⇐ i . iþlem elemaný .j iþlem elemanýna baðlý
wij = w ji = 0 ⇐ baðlý deðil
En fazla N2 ba lantı olur. Ba lantılar çe itli geometrik bölgeler arasında demetler halinde
dü ünülebilir. Bu ba lantı demetlerinin uyması gereken kurallar unlardır.
1- Ba lantı demetini olu turan i lem elemanları aynı bölgeden çıkmalıdır.
2- Ba lantı demetinin i aretleri aynı matematiksel tipten olmalıdır.
3- Ba lantı demetinin i aretleri aynı sınıftan olmalıdır.
4- Ba lantı demetinin bir seçim fonksiyonu ( σ ) olmalıdır.
σ :T →2 s T:Hedef belgesi S:kaynak bölgesi
Hedef bölgesindeki her i lem elemanı kaynak bölgesindeki her elemana giderse "tam" (full)
ba lıdır. (örn:çok katmanlı perceptron). E er her hedef bölgesi elemanı N kaynak bölgesi
elemanına ba lı ise " düzgün da ılmı " (uniform) olasıldır. Ayrıca her bir elemana, yine bir
kaynak elemanı ba lı ise buna "bire-bir" ba lı denir.
4.3.3 A tipleri
Üç Çe it A Tipi Vardır
1- leri beslemeli a : Her bir katmandaki hücreler sadece bir önceki katmanın hücrelerince
beslenir.
2- Kaskat ba lantılı a : Hücreler sadece önceki katmanlardaki hücrelerce beslenir.
3- Geri beslemeli a : En az bir hücre sonraki katmanlardaki hücrelerce de beslenir. (Bu
çalı mada hem ileri, hem de geri beslemeli a tipi birlikte uygulanmalıdır).
4.3.4 E ik fonksiyonları
Transfer veya i aret fonksiyonları olarak da adlandırılan e ik fonksiyonları, muhtemel sonsuz
domen giri li i lem elemanlarını önceden belirlenmi sınırda çıkı olarak düzenler. Dört tane
yaygın e ik fonksiyonu vardır. Bunlar, rampa, basamak ve sigmoid fonksiyonudur.
4.8'de bu fonksiyonlar gösterilmi tir.
f(x)
f(x)
x
(a)
x
(b)
f(x)
f(x)
1 1
+1
x
0.5
x
-1
(c)
0
(d)
x
ekil 4.8 Sıkça kullanılan dört e ik fonksiyonu
ekil 4.8 (a)'da gösterilen lineer fonksiyonun denklemi a a ıdaki gibidir.
f(x) = α.x
ekil
α: i lem elemanının x aktivitesini ayarlayan reel de erli bir sabittir. Lineer fonksiyon [-τ,+τ]
sınırları arasında kısıtlandı ında (b)'deki rampa e ik fonksiyonu olur ve denklemi;
+ τ : eðer x≥ τ ise
f ( x) =
x : eðer x τ ise
− τ : eðer x≤ - τ ise
eklini alır.
+τ ( -τ) i lem elemanının maksimumu (minimumu) ço u zaman doyma seviyesi olarak
adlandırılan çıkı de eridir. E er e ik fonksiyonu bir giri i aretine ba lı ise yaydı ı +τ giri
toplamı pozitif, ba lı de ilse e ik basamak fonksiyonu [-δ] olarak adlandırılır. ekil 4.8 (c),
basamak e ik fonksiyonunu gösterir ve denklemi;
+ τ : eðer x 0 ise
f ( x) =
−δ : diðer durumlar
eklindedir.
Son ve en önemli e ik fonksiyonu (bu çalı mada kullanılan) sigmoid fonksiyonudur. ekil 4.8
(d) de gösterilen S biçimindeki sigmoid fonksiyonu; seviyeli, lineer olmayan çıkı veren,
sınırlı, monoton artan fonksiyondur. Denklemi;
f ( x) =
1
1+ e−x
biçimindedir
Her i lem elemanı kendisine verilen yerel veriye göre, kendisini ayarlayacak bütün YSA'nın
enformasyon bölgesinin ö renmesini sa lar. (Enformasyon bölgesi olasılık-yo unluk
fonksiyonu ile de tanımlanabilir). Enformasyon bölgesi birçok uygulamada, gerçek de erin
"0" ile "1" arasında normalize edilmesi gerekir. (Normalize etmek:gerçek de eri 85 olan bir
giri i 0.85
eklinde a a uygulamaktır.)
Normalizasyon aynı anda bütün giri lere
uygulanabilir.
4.3.5 A ırlık uzayı
Bir çok YSA ö renme i lemi, i lem elemanlarının a ırlı ı de i tirilerek sa lanır. Böylece
tanımlanan a ırlık de i tirilerek ö renmede iyi bir model kullanıp, a ırlıkların bu modele
göre de i tirilmesi esastır. Basit bir matematiksel model olarak herbir i lem elemanının "n"
adet gerçek a ırlı ı oldu u dü ünülerek ve N adet i lem elemanı gözönüne alınırsa;
w = ( w 11 , w12 , ..., w1n , w21 , w22 ,..., w2n ,...., w N 1 , w N 2 ,..., w Nn ) T
w = ( w 1T , w 2T , w 3T ,... , w TN )
w1, w2,..., wN: i lem elemanlarının a ırlık vektörleridir.
w11
w12
w1 = .
w N1
wN2
......... w N =
.
.
.
w1n
w Nn
YSA a ırlık vektörü N, n boyutlu orkid uzayında yayılır. YSA'nın enformasyon i leme
performansı, a ın a ırlık vektörünün belirli bir de eri ile bulunacaktır.
Hata de i imini inceleyen iki çe it kural vardır.
1- Hata düzeltme kuralları ,
2- Gradyen kuralları.
Hata düzeltme kuralları; Her bir giri örüntüsünde a ırlıkları yeniden a ırlayarak çıktı hatasını
en aza indirmeye çalı ırlar. Gradyen kurallarında ise, a ırlıklar yeniden ayarlanarak ortalama
karesel hatayı (MSE) en aza indirilmeye çalı ılır.
Bu noktada gradyen kuralından kısaca bahsedecek olursak, hatayı düzeltmenin (yani
minimize etmenin) geometrik bir yorumunu yapmak mümkündür. Bunu yapabilmek için
a ırlıkların mümkün olan tüm de erleri, hataların kareleri toplamına kar ı gelecek ekilde üç
boyutlu koordinat sisteminde çizilir. Bu çizim sonunda hata yüzeyi küresel bir top eklindedir.
Bu yüzeyi bir tasa da benzetmek mümkündür. Tasın en alt kısmı hataların kareleri toplamının
en küçük de erlerine kar ı gelmektedir. E itme sırasında amaç a ırlıklar kümesinin en iyisini
bulmak olan, en alt kısmına ula maktır. Geriye-yayılım algoritması o andaki a ırlıklar yerine,
yüzey hatasının e imini hesaplayarak amacına ula ır. Daha sonra da bu a ırlıkları tasın alt
kısmına do ru artımsal olarak de i tirir.
te bu artımsal olarak tasın üst kısmından alt
kısmına do ru ilerleme i lemine “gradyen ini ” denir.
A ırlık vektörü ile çalı an YSA'da önemli noktalardan birisi, bir ö renme kuralı geli tirip,
enformasyon bölgesi kullanarak (e ik fonksiyonu ile) a ırlık vektörü "w" iyı istenilen YSA
performansı verecek noktaya yöneltmektir. Genellikle ö renme kuralı için bir performans ya
da maliyet fonksiyonu tanımlanır. Minimizasyon veya maksimizasyon ile "w" vektörü
bulunur. Bir performasyon çe idi olarak bilinen, MSE (karesel ortalama hata) u ekilde
tanımlanır.
2
f ( x) − G ( x, w) ρ ( x)dv( x)
F ( w) =
A
Amaç F'i küçültmeye çalı maktır.
y=G(w,x):sistemin giri çıkı fonksiyonu.
y:çıkı i areti vektörü
x:giri i areti vektörü
w:a ırlık vektörü
ρ(x):olasılık yo unluk fonksiyonu
4.4 YSA'da E itme (Training)
4.4.1 E itme algoritmaları
E itme algoritmaları YSA'nın ayrılmaz bir parçasıdır. E itme algoritması eldeki problemin
özelli ine göre ö renme kuralını YSA'na nasıl adapte edece imizi belirtir. Üç çe it e itme
algoritması yaygın olarak kullanılmaktadır.
1- Ö reticili e itme (supervised traning).
2- Skor ile e itme (graded training).
3- Kendini düzenleme ile e itme (self-organization training)
Ö reticili e itmede, elimizde do ru örnekler vardır. Yani (X1,X2,.........Xn) eklindeki giri
vektörünün, (y1,y2,...,yn) eklindeki çıkı vektörü, tam ve do ru olarak bilinmektedir. Herbir
(x1,y1), (x2,y2),...,(xN,yN) çifti için a do ru sonuçları verecek ekilde seçilen bir ö renme
kuralı ile beraber e itilir.
Ne tür e itme yöntemi kullanılırsa kullanılsın, herhangi bir a
için gerekli karakteristik
özellik, a ırlıkların verilen e itme örne ine nasıl ayarlanaca ının belirtilerek ö renme
kuralının olu turulmasıdır. Ö renme kuralının olu turulması için bir örne in, a a defalarca
tanıtılması gerekebilir. Ö renme kuralı ile ili kili parametreler a ın zaman içinde geli me
kaydetmesiyle de i ebilir.
4.4.2 Bellek
YSA'nın önemli bir özelli i bilgiyi saklama
eklidir. Ba lantı a ırlıkları YSA bellek
biçimleridir. A ırlıkların de erleri a ın o anki bilgi durumunu temsil eder. Mesela; bir
giri /istenen çıkı
çiftinin belirtilen bilgi parçası a ın içinde birçok bellek biçimine
da ıtılmı tır. Bellek üniteleri ile di er saklı bilgiler, bu bilgiyi payla ırlar. Bazı YSA
bellekleri ili kilidir. Öyleki e itilen a a bir kısmı uygulanırsa, a bu giri e belle indeki en
yakın çıkı ı bu giri için seçer ve tam giri e ba lı çıkı ortaya çıkar. E er YSA oto-ili kili ise,
kısmi giri vektörlerinin a a verilmesi bu giri lerin tamamlanması ile sonuçlanır. YSA
belle inin yapısı; eksik, gürültülü ve tam seçilemeyen bir giri uygulandı ı zaman bile
mantıklı çıkı üretmeye uygundur. Bu kurala "genelleme " adı verilir. Bir genellemenin
kalitesi ve anlamı, uygulama çe idine, a ın tipine ve karma ıklı ına dayanır. Lineer olmayan
çok katmanlı a lar (özellikle geri beslemeli a lar) gizli katmandaki özelliklerden ö renirler ve
bunları çıkı lar üretmek için birle tirirler. Gizli katmandaki bilgi, yeni giri örüntülerine akılcı
çözümler olu turmak için kullanılabilir.
Download