Yapay Sinir Ağı Nedir?
İnsan sinir sisteminde bulunan ve başlıca işlevi bilgi transferini gerçekleştirmek olan hücreler nöron olarak adlandırılırlar. Nöronlar birbirlerine aksonlar ve dentritlerle bağlıdırlar. Aksonların ve dentritlerin bağlandıkları bölgeler sinaps olarak adlandırırlar. Günümüzde yapay sinir ağları çalışmalarına temel oluşturan tipik bir nöronun yapısı gösterilmiştir:
Akson (Axon): Çıkış darbelerinin üretildiği elektriksel aktif gövdedir ve gövde üzerinde iletim tek yönlüdür. Sistem çıkışıdır.
Dentritler (Dentrites): Diğer hücrelerden gelen işaretleri toplayan elektriksel anlamda pasif kollardır. Sistem girişidir.
Sinaps (Synapses): Hücre aksonlarının diğer dentritlerle olan bağlantısını sağlar.
Yukarıda sinir hücresinin yapısından bahsedildi. Bu sinir hücreleri yani nöronlar insan sinir sisteminin temel fonksiyon birimidir. Bilim insanları insan beynindeki nöron yapısını kullanarak makineleri modellemeyi amaçlamışlardır ve böylece yapay sinir ağları (YSA) karşımıza çıkmıştır. YSA’lar ilgili çalışmalar 20. yy’ın ilk yarısında başlamış ve günümüze kadar hızla devam etmiştir. İlk yapay sinir ağı modeli 1943 yılında bir sinir ağı hekimi Warren McCulloch ile bir matematikçi olan Walter Pitts tarafından geliştirilmiştir. McCulloch ve Pitts, insan beyninin hesaplama yeteneğinden esinlenerek, elektrik devreleriyle basit bir sinir ağı modellemişlerdir. YSA’lar yavaş çalıştıkları ve çok kaynak tükettikleri için bir dönem tercih edilmediler. Ancak bilgisayarların hızlanması ve GPU’ların (Graphics Processing Unit) maliyetinin düşmesi ile birlikte YSA’lar tekrar popüler hale geldiler.
Sinir hücresinin matematiksel olarak modellenmesi yukarıda basitçe gösterilmiştir. Her bir giriş değeri üzerinden gelen sinyal sinapsislerle taşınarak nörona ulaşır ve çıktı değerini elde ederiz. Burada giriş değerleri bağımsızdır ancak çıktı değerimiz giriş değerlerine bağlı olarak değiştiği için bağımlı değişken olmaktadır.
Aktivasyon Fonksiyonu
Yapay sinir ağları modelinde yapılan temel işlem modelin en iyi skoru vereceği W (ağırlık parametresi) ve b (bias değeri) parametrelerinin hesabını yapmaktır. Modelin çalışabilmesi için aktive edilmesi gerekir. Bunun için de aktivasyon fonksiyonu kullanılır. Aktivasyon fonksiyonu nöronun karar vermesine etki eder.
W: ağırlık parametresi, b: bias değeri
Bias değeri aktivasyon fonksiyonu girişinin artmasına ya da azalmasına etki eder.
: Giriş sinyallerinden elde edilen toplam sinyal
: Bias değerinin eklenmesi ile aktivasyon fonksiyonuna gelen toplam sinyal
: Çıkış değeri
Yapay sinir ağları için birçok fonksiyon aktivasyon fonksiyonu olarak kullanılabilir. Ancak bazıları daha çok kullanılır: Threshold fonksiyonu ve Sigmoid fonksiyonu.
1. Threshold Fonksiyonu: Bu fonksiyona eşik değerini geçtikten sonra ani şekilde artması sebebi ile eşik fonksiyonu da deniliyor. Çalışma grafiği ve formülleri aşağıdaki gibidir:
2. Sigmoid Fonksiyonu: Bu fonksiyonun grafiği “S” harfini andırır. Yapay sinir ağlarında en çok kullanılan fonksiyondur. Lineer ve lineer olmayan durumlar arasındaki dengeyi sağlar. Çalışma grafiği ve formülleri aşağıdaki gibidir:
Katman Yapısı
Yapay sinir ağlarının katman yapısı ağı eğitmek için kullanılan öğrenme algoritması ile yakından bağlantılıdır. Bu nedenle YSA tasarımında kullanılan öğrenme algoritmaları kurallarından söz edilir.
1. Tek-Katmanlı Sinir Ağları: En basit yapay sinir ağı türüdür. Giriş değerlerinden sonra tek bir sinir ağı olan katman yapılarıdır. Giriş değerlerinin sinir ağına gelip aktivasyon fonksiyonu ile çalışıp eğitildikten sonra çıkış değeri elde edilir. Girişler katman olarak sayılmazlar çünkü orada bir hesaplama yapılmaz. Burada giriş ile çıkış arasındaki katmana “Gizli Katman” denilmesinin nedeni girişten ya da çıkıştan bakıldığında doğrudan görülemediği içindir.
Buradaki tek katmanlı YSA modelinde toplam 6 (4+2) nöron bulunmaktadır. (3×4)+(4×2)=20 ağırlık ve 4+2 bias değeri olmak üzere toplamda öğrenilmesi gereken 26 parametre vardır.
2. Çok Katmanlı Sinir Ağları: Hem model hem de eğitim türü bakımından tek-katmanlı sinir ağlarından farklıdır. Bir katman içindeki nöronların birbirleriyle ilişkileri yoktur ve sistemde kalan bilgiyi sonraki katmana veya çıkışa aktarma görevini gerçekleştirirler. Arka arkaya iki katmandaki nöronlar birbirlerini çeşitli aktivasyon değerleriyle etkilemekte ve modelin öğrenme seviyesini belirleyen bir aktarım gerçekleştirmektedir. Dolasıyla katmandaki nöron sayısı sistemin performansını da etkilemektedir. Ancak katman sayısının artmasını öğrenme performansının artacağı anlamına gelmemektedir.
Buradaki iki gizli katmanlı YSA modelinde ise 4+4+1=9 nöron, (3×4)+(4×4)+(4×1)=32 ağırlık ve 4+4+1=9 bias değeri olmak üzere toplamda 41 adet öğrenilmesi gereken parametre vardır.
Kaynakça:
- Simon Haykin, Neural Networks and Learning Machines
- Chrau C. Aggarwal, Neural Networks and Deep Learning
- https://medium.com/@ayyucekizrak/%C5%9Fu-kara-kutuyu-a%C3%A7alim-yapay-sinir-a%C4%9Flar%C4%B1-7b65c6a5264a
- https://tr.wikipedia.org/wiki/Sinir_h%C3%BCcresi
- https://web.archive.org/web/20101201162749/http://www.yapay-zeka.org/modules/wiwimod/index.php?page=ANN