Yapay Sinir Ağları

https://www.vaktinikaybetme.com/yapay-zeka-simdide-muzik-sektorunde/4822/

Yapay sinir ağları, insan beyninden ilham alınarak geliştirilmiş bir teknolojidir. İnsan beyninin çok basitleştirilmiş halini gerçeklemektedir.

Beyin nöron (sinir hücresi) denilen özel hücrelerden oluşur. Başlıca görevi bilgi transferini gerçeklemektir. Nöronlar birbirlerine bağlanarak birbirleriyle iletişime geçer ve “öğrenme” dediğimiz işlem gerçekleşir.

Aşağıda bir sinir hücresinin basit bir görüntüsü verilmektedir.

Hücre gövdesinde çekirdek (nucleus) ve hücrenin yaşamsal işlevlerini sağlayan mekanizma bulunur. Başka bir nörondan gelen elektriksel uyartı (mesaj) art arda dizili nöronlar ve aralarındaki sinapslardan geçerek dentrite ulaşır. Dentritler, elektro kimyasal uyartının  hücre gövdesine iletilmesini sağlar. Hücre gövdesinden çıkan başka bir uyartı akson boyunca ilerleyerek akson ucuyla başka nöronlara iletilir.

Yapay sinir hücresinin de çalışma mantığı nöronlar ile çok benzer.

Girişlerimizden gelen değerler, W ağırlıklar (sinaps) ile çarpılarak hücreye ulaşır. Hücrede değerler toplanıp (dentrit) aktivasyon fonksiyonuna verilir. Fonksiyon çıktısı diğer nöronun girdisi olur.

En basit yapay sinir ağı perceptron, tek nörondan oluşan yapay sinir ağıdır. Perceptronda giriş değerleri ağırlıklarla çarpılıp bias değeriyle toplanır. Toplanan değer aktivasyon fonksiyonuna verilir ve sonuç çıkışa aktarılır.

W: Ağırlık değerleri.

X: Giriş değerleri.

b: Yanlılık (bias) parametresi.

y: Çıkış değeri.

f: Aktivasyon fonksiyonu

m: Girişdeki örnek sayısı

Perceptronun nasıl kullanıldığını anladıysak küçük basit bir örnek yapalım. AND kapısını percepton ile çözelim.

Yukarıda AND kapısının giriş ve çıkış değerleri verilmiştir. AND kapısının sinir ağı aşağıdaki gibi olur.

Çıkış 1: 1*0 + 1*0 = 0 < 1,5     y=0

Çıkış 2: 1*0 + 1*1 = 1 < 1,5     y=0

Çıkış 3: 1*1 + 1*0 = 1 < 1,5     y=0

Çıkış 4: 1*1 + 1*1 = 2 > 1,5     y=1

Çıkışları iki boyutlu düzlemde çizdiğimizde tek bir doğruyla ayırabiliyoruz. Buradan da gördüğümüz gibi And kapısını tek bir nöronla gerçekleyebiliriz. Fakat perceptron, çoğu problemi çözmekte yetersiz kalır. Bu sorunu çözmek için nöron ve katman sayıları arttırılarak çok katmanlı sinir ağları geliştirilmiştir.

Çok katmanlı sinir ağları giriş, gizli katman/katmanlar ve çıkıştan oluşur.

Çok katmanlı sinir ağlarında, giriş katmanından sonraki gizli katmandaki nöronlar giriş olarak önceki katmandaki nöronların çıkışını alırlar.

İleri beslemeli (feedforvard)  sinir ağı, ilk ve en basit yapay sinir ağı türüdür. Birimler arasındaki bağlantılarının döngü oluşturmadığı yapay sinir ağıdır. İşlemler çıkışa doğru ileri yönde yapılır.

w: ağırlık vektörü

b: bias değeri

a: giriş değeri

g: aktivasyon fonksiyonu

ileri yayılımı küçük bir sinir ağında gösterirsek:

Her ileri yayılımda öğrenimin gerçekleşip gerçekleşmediğini öğrenmek için bir maliyet fonksiyonu hesaplanır.

L(a,y) = -(y log(a) + (1 – y) log(1 – a))

y: Gerçek sonuç.

a: Ağdan çıkan sonuç.

Bu maliyet fonksiyonu bize modelimizin ne kadar iyi eğitildiğini gösterir.

Geri beslemeli(backward) sinir ağı gizli katmandaki çıkışlar tekrar katmanlara giriş olarak verilir. Ağırlıklar güncellenerek öğrenme sırasındaki hatalar telefi edilir. Amaç daha iyi bir öğreneme sağlayarak hata değerini düşürmek ve modeli optimize etmektir. Geriye yayılımda ağırlık katsayıları, net değerler kullanıldığı için her bir hücre kendi belleğinde bu değerleri tutar. Geriye yayılım uygulandığında bellekten bu değerler kullanılır. Geri yayılımda ağın sonundan başlayarak geriye doğru türevleme işlemi yapılır. İleri yayılımla bulunan değerlerin türevleri alınır. Türevleme işleminin sonucunda yeni ağırlık değerleri ve yeni bias değerleri bulunur. Böylelikle ağırlıklar ve bias değeri daha doğru değerler ile güncellenmiş olur.

Geri yayılımı küçük bir yapay sinir ağında gösterirsek:

w = w – αdw ,  b = b – αdb ile ağırlık ve bias değerleri güncellenmiş olur. Buradaki α değeri öğrenme kat sayısıdır. Öğrenme katsayısı dereceli alçalmada (gradient descent) ne kadar büyük adım atacağını belirler.

İleri ve geri yayılımı özet olarak aşağıdaki şekilden de inceleyebilirsiniz.

Kaynakça:

  1. https://en.wikipedia.org/wiki/Artificial_neural_network
  2. https://tutorials.retopall.com/index.php/2019/03/01/feed-forward-neural-network/
  3. https://tr.wikipedia.org/wiki/Sinir_h%C3%BCcresi

Related Posts

Leave a Reply