Konvolüsyonel Nöral Ağlara Kısa Bir Giriş

0 6,508

Konvolüsyonel Nöral Ağlar (CNN veya ConvNet olarak, Türkçede ise evrişimsel sinir ağlar olarak da bilinirler), geleneksel nöral ağların modifiye edilmesi ile ortaya çıkmış bir kavramdır. Bu tür ağlar geniş ve derin yapıda olması sebebiyle derin nöral ağların veya derin öğrenmenin bir türüdür. Konvolüsyonel ağlar, resim tabanlı nesnelerin sınıflandırılmasında elde ettikleri büyük başarılar sebebiyle şu günlerde oldukça popülerdir.

Geleneksel nöral ağlar ile bir resmi sınıflandırmak ya da tanımak istiyorsanız tüm piksellerin nöral ağa aktarılması gerekmektedir. Konvolüsyonel ağlar da ise ilk önce resim üzerinde bazı örüntüler tespit edilmeye çalışılır, ve bu örüntüler nöral ağa aktarılırlar. Bu şekilde daha az kompleks şekilde resmi işleyebiliyorken daha başarılı sonuçlar elde edebiliyoruz.

Geleneksel ve Konvolüsyonel Nöral Ağlar

Elinizdeki resimleri kedi veya kedi değil şeklinde sınıflandırmak istediğinizi varsayalım. En genel haliyle, bilinen kedi resimlerinden kedilerin kulak, ağız ve kuyruk şekilleri çıkartılır. Daha sonra bu şekiller yeni resimlerde var mı yok mu şeklinde aranırlar. Konvolüsyonel ağlarda bu şekillere filtre denmektedir.

Kedi tespiti için örnek filtre

Böylelikle bu örüntüleri içeren resimleri kedi, içermeyenleri ise kedi değil şeklinde sınıflandıracağız.

Kedi mi değil mi sorunsalı!

Belirtmem gerekirse pratikte filtreler bu kadar kompleks şekiller halinde değil maksimum 5×5 matris boyutunda belli köşelerin tespiti amacıyla kullanılmaktadır.

Konvolüsyonel nöral ağların arkasındaki matematik tabi ki sadece filtrelerden ibaret değildir.

Konvolüsyonel nöral ağ prosedürleri

Konvolüsyon katmanı

Bu katmanda resim filtre boyutuna göre daha küçük bir boyuta indirgenir. Örneğin 5×5 pixel boyutundaki bir resme 3×3 boyutunda bir filtre uygulanması ile 3×3 boyutunda bir resim elde edilir. Aşağıdaki animasyonda x1 kutuları 1 değerini, x0 kutuları da 0 değerini temsil etmektedir. Konvolüsyona uğramış matris, filtre ve resimde aynı boyuttaki pencerelerin çarpılması ile elde edilir.

Konvolüsyon işleminin animasyonu

Bu animasyon tek bir filtre için uygunlanmıştır. Resme birden fazla filtrenin uygulanması beklenmektedir. Bu şekilde 2 boyutlu bir resim, 3 boyutlu bir konvolüsyon matrisine dönüştürülmektedir.

Aktivasyon katmanı

ReLU fonksiyonu diğer yaygın aktivasyon fonksiyonlarından lineer olması sebebiyle daha hızlı çıktılar üretebilmektedir. Performans önemli bir kıstas olduğu için konvolüsyonel ağlarda ReLU sıklıkla kullanılmaktadır.

ReLU

Diğer taraftan tam bağlı nöral ağlar kısmında çok sınıflı bir sınıflandırma yapılıyorsa softmax fonksiyonu, aktivasyon fonksiyonu olarak kullanılmaktadır.

Maksimum havuzlama katmanı

Havuzlama katmanında elde edilen matrisler yeniden daha düşük boyutlara indirgenirler. Filtre boyutundaki maksimum eleman yeni matriste saklanır. Bununla birlikte maksimum yerine çerçevenin maksimumu yerine ortalama değerinin saklanması ile ortalama havuzlama işlemi de yapılabilir.

Maksimum havuzlama

Konvolüsyon, aktivasyon ve havuzlama adımları tekrar tekrar uygulanarak konvolüsyon nöral ağlar oluşturulabilir. Bu işlemler neticesinde indirgenmiş matristeki değerler geleneksel nöral ağa girdi olarak verilirler.

Nöral Ağ Katmanı

Bu katman tipik bir nöral ağdır. Bundan sonrasında öğrenmeyi geri yayılım algoritması halledecektir. Aşağıdaki resimdeki gibi resmin tüm piksel değerlerinin değil de önemli olan kısımlarının nöral ağa girdi olarak verildiğini düşünebilirsiniz.

Kedi mi yoksa köpek mi?

Fakat konvolüsyonel nöral ağlar mükemmel değillerdir. Bu tür ağlar sadece örüntülerin var olup olmadığını kontrol eder. Örüntülerin anlamlı olup olmaması konvolüsyonel ağlar için bir şey ifade etmemektedir. Örneğin Kim Kardesian’ın göz ve dudağının yerinin değiştirilmesi konvolüsyonel ağ için sonucu değiştirmemektedir.

Kim Kardesian

Özetle konvolüsyonel nöral ağlar, resim tabanlı nesnelerin analizinde sıklıkla kullanılan kuvvetli ama mükemmel olmayan bir derin öğrenme yöntemidir. Geleneksel yaklaşıma göre daha az kaynak tüketerek daha başarılı sonuçlar üretebilirler. Örneğin bugün için el yazısı ile rakamların tanınması işleminde halen en başarılı sonuçlar konvolüsyonel nöral ağlar ile elde edilmektedir.

Bu yazı, A Gentle Introduction to Convolutional Neural Networks yazısından Türkçe’ye çevrilmiştir.

Email adresiniz yayınlanmayacaktır.