Yapay Sinir Ağları (ANN) Giriş ve Basit Anlatım

Makine öğrenmesi ve yapay zeka kavramları günümüzde sıklıkla karşılaştığımız ve geleceğe yönelik planların içerisinde yer aldığından neredeyse emin olduğumuz ya da emin olmak zorunda kaldığımız kavramlar. Peki bunları sürekli duymak ve hakkında bilgi sahibi olmamak bazen endişe yaratmıyor çoğumuzda? Ben yarattığını düşünüyorum. Dolasıyıla elimden geldiğince günümüzde tesirini hissettiren ve geleceğe yön verecek bu konunun üzerinde detaylarıyla durma gayretindeyim. Konuya hızlıca giiriş yapalım ve sorularımızı yolda soralım derim.

Nöron Nedir?

Nöral ağlar ifadesindeki "nöral" kısmıyla ilgilenelim öncelikle. Bildğimiz biyolojik nöronlardan gelen bir kavramdır kendisi. İnsan beyninde bilginin sinir hücreleri aracılığıyla iletildiğini biliyoruz. Nöronlar bu sinir hücrelerinin bir araya gelerek oluşturduğu kontrol üniteleridir. Birçok nöronun bir araya gelmesiyle oluşan yapılar da "nöral ağ"'lardır. Nöronlar giriş sinyallerini "dentrit"ler aracılığıyla alır, onları işler ve çıkış bilgisi sağlarlar "axonlar"'a. Eğer giriş elektriksel sinyali belli bir "eşik(threshold)" üzerinde olursa nöton ateşlenir ya da aktive edilir. Bu prensibin aynısı yapay nöronlar/yapar sinir ağları için de geçerlidir. ANN (artificial neural network) - Yapay sinir ağları yapıları da insan beyninden esinlenerek oluşturulmuştur ve temel birimleri yine "nöron" ya da "perceptron" denen yapılardır.



Katman (Layer) Nedir?

Yapay nöronlar oluştururken yapının komplekslik seviyesini kendimiz belirliyoruz. Bunu yaparken kaç katmanlı nöron ağı kuracaksak katman sayısını ona göre seçiyoruz. 3 tip katman var:

Giriş Katmanı (Input layer): Nöron (Perceptron) un girişini besler. Eğer iki giirişimiz varsa o zaman giriş katmanımız iki adet node'a (düğüm) sahiptir. 

Çıkış Katmanı : Ağın çıkış katmanıdır. Eğer sınıflandırma modelinin işi 5 sınıf oluşturmak/kestirmekse  katman 5 node'a sahip olur.

Gizli Katman: Giriiş ve çıkış katmanları arasında yer alan katmandır. Eğer 2 veya daha fazla gizli katman varsa bu ağ modelleri Derin Ağ Modeli (bkz. Deep Neural Network) olarak tanımlanır.





Yukarıdaki görselde nöral ağın giriş katmanı-2 node, gizli katman-8 node ve çıkış katmanı-2 node şeklindedir. Her biir nöronun çıkışı bir başka nörona giriş olarak katılır ve aktif olmayan/ateşlenmeyen nöron çıkış üretemez. Ağ bu mantıkla çalışır.

Perceptron Nedir?

Perceptron (algılayıcı), binary sınıflandırma problemi için kullanılan tek katmanlı nöral ağ (sinir ağı) 'dır. Binary sınıflandırma demek, nöron için 0 veya 1 çıktısı şeklinde karar üretmesi demek oluyor. Nörron iki veya daha fazla girişi alır, bir adet çıkış üretir. Çıkışta 0 veya 1 vardır. Evet ya da Hayır. Var ya da yok. Örneğin hava durumu kestirimi için yağmurlu hava - 0, güneşli hava - 1 olarak çıktı olsun. 


Yukarıdaki görselde temsil edilen modelin x1 ve x2 olarak iki adet girişi vardır mesela. bias - b olarak belirtilmiş. Bu perceptron , y çıktısını üretir. 
y = w1*x1 + w2*x2 + b y = outputx1 = input 1
w1 = x1 'le işleme giren ağırlıkx2 = input 2
w2 = x2 'le işleme giren ağırlıkb = bias


Şimdi w1 w2 ağırlıkları ve b bias değerlerini belirleyelim.

w1 = 0.5
w2 = 0.5
b = -0.5


Ağırlıklar ve bias değerleri bu şekilde belirlendikten sonra x1 ve x2 girişlerini aşağıdaki gibi tanımladığımızda y çıkışı da değişebilmektedir.


*Makine öğrenmesi ve yapay sinir ağları konusunda türkçe güzel bir anlatım:


Kaynaklar

https://medium.com/swlh/artificial-neural-networks-for-absolute-beginners-a75bc1522e1d


Yorumlar

Bu blogdaki popüler yayınlar

KV260 Kria Starter Kit Series: 3 - Petalinux Install and Boot

KV260 Kria Starter Kit Series: 1 - Power and Boot Up

KV260 Kria Starter Kit Series: 2 - Smartcam Application (Ubuntu)