DL4J ile Derin Öğrenme – Yapay Sinir Ağları (ANN) #3

Bu yazıda yapay sinir ağlarına giriş yapacak ileri ve geri beslemeli sinir ağlarına baktıktan sonra veri setinden bahsedeceğiz.  Yapay sinir ağı için  teorik bilgileri olabildiğince sadeleştirecek anlatmaya çalışacağım.

Yapay sinir ağı (ANN);  insan beyninde yer alan sinirlerin çalışma şeklinin, bir birleri arasındaki ilişkilerin bilgisayar ortamında modellenmesidir. İnsanın öğrenme, problem çözme süreçlerinde izlediği yolu kullanır. Yapay sinir ağı yeni bir öğrenme sürecine girdiğinde bilgiler  sinir ağına giriş olarak verilir ve bu giriş verisinden bir anlamlandırma, öğrenme sürecinden sonra girişlere uygun çıktılar üretilir. Bir yapay sinir ağı 3 katmandan oluşmaktadır bu katmanlar aşağıdaki görselde de görüleceği üzere; Giriş katmanı (Input Layer) , gizli katman (Hidden Layer) ve çıkış katmanı (Output Layer) olarak adlandırılırlar.

Giriş Katmanı: Bu katmandaki hücreler giriş bilgilerini gizli katmana ulaştırmakla görevlidir.  Gizli Katman: Giriş katmanından 2 gelen bilgiler işlenerek çıkış katmanına gönderilir. Bir ağda problemin durumuna göre, birden fazla gizli katman olabilmektedir. Çıkış Katmanı: Bu katmandaki hücreler gizli katmandan gelen bilgiyi çıkış katmanına gönderirler. Üretilen çıkışlar problemin çözümünü içermektedir.

Örnek bir yapay sinir ağı modeli gösterimi

 

Durumu özetlemek gerekirse elimizdeki veri setini giriş katmanı değerleri olarak düşünebiliriz, yapay sinir ağı giriş verileri aldıktan sonra başlangıç için vereceğimiz ağırlık değerlerine göre bir çıktı üretecektir ve çıktıların doğruluğuna göre uygun ağırlık değerlerini bulana kadar işlemleri tekrarlayacaktır. Yapay sinir ağının  ağırlıkları belirlemesi ve çıktıları oluşturması belirli bir matematiksel model ile tanımlanmıştır bu matematiksel model aşağıdaki görselden görebilirsiniz.

Yapay Sinir Ağı Matematiksel Modeli

Yapay sinir ağının matematiksel modelini özetlemek gerekirse; YSA ya gelen bilgiler aktivasyon fonksiyonuna gitmeden önce her bir girdinin kendi ağırlığı  ile çarpılarak toplanması işlemidir, burada toplama yerine farklı toplam fonksiyonları kullanılabilir. Toplam fonksiyonundan çıkan değerleri işleyerek uygun çıktıyı ise aktivasyon fonksiyonu belirler. Aktivasyon fonksiyonları probleme göre değişebilir. Örneğin eşik fonksiyonunu ele alırsak gelen değerin uygun eşik değerinden küçük veya büyük olması durumuna göre 1, 0 çıktısı üretmektedir. Toplam ve aktivasyon fonksiyonları hakkında daha detaylı teorik bilgilere ulaşmak isterseniz referanslar kısmına göz atabilirsiniz. Yapay sinir ağları yapılarına göre iki farklı gruba ayrılır bunlar;

  • İleri Beslemeli Yapay Sinir Ağları
  • Geri Beslemeli Yapay Sinir Ağları

İleri beslemeli yapay sinir ağında nöronlar genellikle katmanlara ayrılmışlardır. Sinyaller giriş katmanından çıktı katmanına doğru tek yönlü bağlantılarla iletilir. Aynı katmanda bulunan nöronlar arasında bağlantı bulunmaz. Yani süreç girişten çıkışa doğru gerçekleşir ve sonlanır.

Geri beslemeli yapay sinir ağında ise çıkış ve ara katlardaki çıkışların, giriş birimlerine veya önceki ara katmanlara geri beslendiği bir ağ yapısıdır. Böylece, girişler hem ileri yönde hem de geri yönde aktarılmış olur. Geri besleme aynı anda girişleri de etkilediği için özellikle tahmin uygulamaları için uygulanabilir.

Yapay sinir ağının eğitimi için elimizdeki veri setine göre farklı yöntemler kullanılır. Eğitim için kullanılan temel iki yöntem mevcuttur, bu yöntemler;

Supervised Learning (Gözetimli Öğrenme) de ağa doğru sonuçlar  verilir. Çıktılar ve hedef sonuç arasındaki fark hata olarak kabul edilir. Bu hatanın en aza indirilmesi için ağırlık değerlerinin uygun şekilde belirlenmesi gerekir. Bu değerlerin belirlenmesi için bir gözetmene ihtiyaç vardır.  Her örnek için hem girdiler hem de bu girdilerin karşılığında oluşturulması gereken çıktılar ağa belirtilir. Örneğin bir sınıflandırma problemi olan resim üzerindeki nesnelerin tanımlanması için gözetimli öğrenme modeli kullanılmak istenirse, elimizdeki veri setindeki ağa verilecek girdilerde öncelikli olarak nesnelerin ne olduğunu, nerede olduğunu vermememiz gerekecektir ayrıca bu yöntem insanlar için temel öğrenme türlerinden biridir.

Unsupervised Learning (Gözetimsiz Öğrenme) de ise  hedef sonuç ağa verilmez. Bunun yerine ağ giriş bilgilerini çıkış değerlerine kıyaslayarak, kendi içinde sınıflandırma kuralları oluşturur. Bu öğrenme algoritmasında sistemin öğrenmesine yardımcı olan herhangi bir gözetmen yoktur. Sisteme sadece girdi değerleri gösterilir ve örneklerdeki parametreler arasındaki ilişkileri sistemin kendi kendine öğrenmesi beklenir. Bu, daha çok sınıflandırma problemleri için kullanılan bir algoritmadır. Ancak burada, sistemin öğrenmesi bittikten sonra, çıktıların ne anlama geldiğini anlamak için bir etiketlendirme yapmak gerekir.

yapay sinir ağı mimarisi
Bazı yapay sinir ağı mimarileri. Görsel kaynağı Quronet