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.