Yapay Sinir Ağları Nedir ?

Yapay sinir ağları(YSA) son 15-20 yılın en popüler makine öğrenme algoritmalarından biri haline gelmiştir. İnsan beyninin çalışma prensiplerinden ilham alınarak tasarlanan bu ağlar günümüzün en güçlü makine öğrenme algoritmalarından biri olarak düşünülmektedir. Nedir bu yapay sinir ağları sorusuna cevap verecek olursak, yapay sinir ağları insan beyninin matematiksel olarak modellenmesi ile öğrenme kabiliyeti kazanan, farklı sorunlara otonom bir şekilde çözüm kalıpları oluşturabilen sistemlerdir. Yapay sinir ağlarının yapısını daha derinlemesine öğrenmek için öncelikle insan sinir sisteminin nasıl çalıştığına ve yapısına kısaca bir göz atalım.

Nöronun Yapısı

yapay sinir
İnsan sinir sisteminin ana hücreleri nöronlardır. Bu nöronlar, duyular aracılığı ile aldığımız sinyalleri işler ve diğer nöronlara aktarır. Nöronlarda bulunan dendritler aracılığıyla diğer nöronların akson uçlarından alınan sinyaller hücre çekirdeğine taşınır ve hücre çekirdeğinde bu sinyaller işlenerek nöronun akson ucuna iletilir. Son olarak sinyaller akson ucundan diğer nöronlara iletilir. Merkezi sinir sistemi 100 milyarın üzerinde nörondan oluşur.

Yapay Nöronun Yapısı

yapay sinir
İnsan beynindeki nöronların yapısına ve çalışma mantığına kısaca göz attıktan sonra bilgisayarlar üzerinde oluşturduğumuz yapay nöronların yapısını inceleyebiliriz. Her bir nöron girdilerden, ağırlıklardan, eşik değerlerinden, aktivasyon fonksiyonundan ve çıktılardan oluşur. Girdileri, insan duyularının aldığı sinyallere, aktivasyon fonksiyonunu hücre çekirdeğine, çıktımızı ise akson ucuna benzetebiliriz. Yapay nöronlar gelen girdileri tıpkı insan nöron hücreleri gibi işler ve bir sonraki nöronlara aktarır.
yapay sinir
Bu işlem yukardaki formüle göre hesaplanır. Formüle göre her bir girdi ağırlık değerleri ile çarpıldığı için ağırlık değerleri girdi değerlerinin önemini gösterir. Düşük ağırlık değerine sahip olan girdiler en son yapay sinir ağında elde edilen çıktı değerine daha az katkı sağlarken, yüksek ağırlık değerine sahip olan girdiler çıktı değerine daha fazla katkı sağlar. Daha sonra bu değer aktivasyon fonksiyonundan geçirilerek bir sonraki nöronlara aktarılacak değer hesaplanır. Şu an için bu aktivasyon fonksiyonları sizler için bir soru işareti olarak kalabilir, ileriki yazılarımızda bu fonksiyonların içeriklerine ve neden kullanıldıklarına dair daha detaylı incelemeler yapacağız.

Yapay Sinir Ağlarının Yapısı

yapay sinir
Tıpkı nöron hücrelerinin bir araya gelerek insan sinir sistemini oluşturması gibi, yapay nöronlar da bir araya gelerek kurduğu bağlantılar ile yapay sinir ağlarını oluşturur. Yapay sinir ağları bir girdi katmanı, bir veya birden fazla gizli katman ve bir adet çıktı katmanından oluşur. Yapay sinir ağları çözüm bulunması istenen sorun için uygun veri setleri üzerinde eğitilir. Bu eğitimin hedefi YSA modelindeki parametreler için en uygun değerleri bulmaktır. Bu parametreler nöronların ağırlık değerleri ve eşik değerleridir. Eğitim boyunca parametrelerimiz sürekli olarak güncellenmektedir. Bu güncellemeyi modelimizin yitim fonksiyonuna(loss function) göre gerçekleştiririz. Yitim fonksiyonu, modelimizin veri seti üzerindeki başarısının bir kriteridir. Hedefimiz bu yitim fonksiyonunu minimize eden yani 0’a yaklaştıran parametre değerlerini bulmaktır. Yitim fonksiyonuna örnek olarak en yaygın kullanılan fonksiyonlardan biri olan ortalama kare hatası(mean squared error) verebiliriz.
yapay sinir
Ortalama kare hatası, veri setindeki her bir örnek için bizim modelimizin tahmin değerinin ne kadar yakın veya ne kadar uzak olduğunun göstergesidir. Formüle göre her bir veri seti örneği ile tahminimizin farkının karesi alınır. Kare alma işlemi hem negatif değerlerden kurtulmak hem de hata payının yüksek olduğu örneklere daha fazla katkı payı vermek amacıyla yapılır. Daha sonra her bir hata payı toplanarak örnek sayısına bölünür, ortalaması alınır. Yitim fonksiyonumuzun değeri hesaplandıktan sonra belirli optimizasyon teknikleri ile yitim fonksiyonumuzu minimize ederiz. Modelimizin amacı doğrultusunda doğru yitim fonksiyonunu seçebilmek, uygun optimizasyon tekniklerini kullanmak modelimizin başarı payında büyük etkiye sahiptir. Bu yüzden ilerleyen yazılarımızda çeşitli yitim fonksiyonlarını ve optimizasyon tekniklerini daha detaylı bir şekilde inceleyeceğiz.

Günlük Hayatımızda Kullanım Alanları

Yapay sinir ağlarının yapısına ve nasıl çalıştıklarına göz attıktan sonra, günlük hayatta kullanım alanlarına, nerelerde karşımıza çıktıklarına göz atabiliriz.

Doğal Dil İşleme (Natural Language Processing): Bu alana örnek olarak Youtube videolarında otomatik olarak oluşturulan altyazılar, e-ticaret sitelerinde kullanıcı yorumlarının otomatik olarak olumlu veya olumsuz olarak sınıflandırılması verilebilir.

Bilgisayarlı Görü (Computer Vision): Bu alana örnek olarak otomotiv sektöründe otonom Tesla araçları verilebilir. Sürüş sırasında birçok nesnenin tanınması ve sınıflandırılması gerçekleştirilir. Yayalar, trafik ışıkları, diğer arabalar gibi birçok nesnenin konumu tespit edilir. Sağlık sektöründe radyolojik görüntülere göre belirli hastalıkların tespiti yapılır. Bu konuyla ilgili olan Yapay Zeka’ nın Koranavirüs’ e Karşı Olan Zaferi adlı yazımıza göz atabilirsiniz.

yapay sinir

Sanat: Yapay sinir ağı modelleri resimler üzerindeki ışıklandırmaları, fırça darbelerini, renkleri tanımlayarak ve aralarındaki desenleri bularak bu analizleri yeni resimlere aktarabilirler. Bir başka örnek olarak yapay zeka modelleri grupların bestelediği şarkılar üzerinde eğitilerek sanki o grup bestelemiş gibi yeni ve orijinal şarkılar besteleyebilir. Örnek olarak yapay zekanın Kurt Cobain’ in ölümünden 26 yıl sonra bestelediği Nirvana – Drowned in The Sun’ ı dinleyebilirsiniz.

yapay sinir
Video Oyunları: Futbol oyunu olan Fifa örnek verilebilir. Takımımızı yönetirken sadece bir oyuncumuzun kontrolünü sağlayabiliyoruz fakat diğer oyuncularımızın oyunun gidişatına göre mantıklı kararlar alması yapay zeka modelleri sayesinde gerçekleştiriliyor. Bankacılık: Bankalar yapay sinir ağı modellerini kullanarak dolandırıcılıları testpit eder, kredi analizi yapar ve finansal danışman sistemlerini otomatize eder.