İçeriğe geç

Yapay sinir ağları nedir ?

Merhabalar bu yazım ile birlikte blogumda yapay zeka ile ilgili ilgilendiğim konulara kod örneklerine yer vermeye çalışacağım. Bu sayede öğrendiğim bilgileri özetleyip buradan sizlere aktarma şansım olacak.

Bu yazımda yapay sinir ağları nedir ? açıklaması yaparken aynı zamanda yapay zekanın içerisine girmiş oluyoruz. Yapay zekanın sadece alt bir dalı olan sinir ağları, bu alanda en önemli konuların başında gelmekte.

Gerçekten müthiş birşey. İlgimi en çok çeken konulardan birisi, Günümüzde örneklerinin sürekli arttığı yapay zeka konuları gelecekte çok daha fazla hayatımızda olacak hatta yapay zekanın ulaşmadığı alan olmayacaktır.

Sinir ağları beynimizin öğrenme yapısının makinalar üzerindeki matematiksel denklemler ve modelleme yardımıyla uygulanışıdır. Ömrümüzün sonuna kadar sürekli öğreniriz ve gelişiriz bazen anlamayız defalarca okuruz,deneriz, yapmaya çalışırız. Aynı bu yapıda algoritma yazarız ve makina defalarca hata oranı en aza inene kadar öğrenir. Matematiksel olarak verdiğimiz girdiyi istediğimiz çıktı haaline getirmek için sürekli olarak işlem yapar.

Yapı olarak katmanlardan oluşur.

1949 yıllarından itibaren yapay zeka çalışmaları başlamış ancak bazı yıllar duraksayıp tekrar ilgi artışı olmuştur. Bilindik olarak görünmez katmanı olmayan ve geri dönüşlü yapıları yoğun şekilde kullanılmakta.

Hata payının en düşük olduğu ve derin işlemlerde çok katmanlı yapı kullanılmakta.

Sinir ağlarında 3 farklı öğrenme çeşidi uygulanabilir.

Danışmanlı Öğrenme: Danışmanlı öğrenme sırasında ağa verilen giriş değerleri için çıktı değerleri de verilir. Ağ verilen girdiler için istenen çıkışları oluşturabilmek için kendi ağırlıklarını günceller. Ağın çıktıları ile beklenen çıktılar arasındaki hata hesaplanarak ağın yeni ağırlıkları bu hata payına göre düzenlenir. Hata payı hesaplanırken ağın bütün çıktıları ile beklenen çıktıları arasındaki fark hesaplanır ve bu farka göre her hücreye düşen hata payı bulunur. Daha sonra her hücrenin kendine gelen ağırlıkları günceller.

Danışmansız Öğrenme: Danışmasız öğrenmede ağa öğrenme sırasında sadece örnek girdiler verilmektedir. Herhangi bir beklenen çıktı bilgisi verilmez. Girişte verilen bilgilere göre ağ her bir örneği kendi arasında sınıflandıracak şekilde kendi kurallarını oluşturur. Ağ bağlantı ağırlıklarını aynı özellikte olan dokuları ayırabilecek şekilde düzenleyerek öğrenme işlemini tamamlar.

Destekleyici Öğrenme: Bu öğrenme yaklaşımında ağın her iterasyonu sonucunda elde ettiği sonucun iyi veya kötü olup olmadığına dair bir bilgi verilir. Ağ bu bilgilere göre kendini yeniden düzenler. Bu sayede ağ herhangi bir girdi dizisiyle hem öğrenerek hem de sonuç çıkararak işlemeye devam eder.

Bir sinir ağı içerisinde aşağıdaki yapılar bulunur.

  • Girdi
  • Ağırlıklar
  • Toplama fonksiyonu
  • Aktivasyon fonksiyonu
  • Çıktı

Aşağıda verdiğim fotoğraf örneklerinde en yoğun kullanılan toplama fonksiyonları ve aktivasyon fonksiyonlarını görebilirsiniz.

Not: Bu fonksiyonlar probleme göre hız ve öğrenme bakımından hız ve başarım olarak farklıllıklar gösterir. Bu yüzden probleminize göre fonksiyonları doğru seçmeniz başarılı sonuçlar elde etmenizi sağlayacaktır.

Toplama fonksiyonları:

Aktivasyon fonksiyonları:

Tabiki bu işin daha başlangıç kısmı. Probleminizi buna göre modellemeniz değerler üretmeniz, ağırlıklar belirleyip daha sonrasında yukardaki fonksiyonlar yardımıyla algoritmanızı oluşturmanız gerekli. Diğer yazılarımda Swift dili ile bir yapay sinir ağı kodu yazıp sizlerle paylaşacağım.

Keyifli günler 🙂

Tarih:Artificial intelligence

Bu yazı yorumlara kapalı.

Copyright © 2020 Kenan Atmaca