Skip to main content

Convolutional Neural Networks (CNN)

Konvolüsyonel Sinir Ağları (Convolutional Neural Network, CNN)

  • Derin öğrenme (deep learning) alanında yaygın olarak kullanılan bir yapay sinir ağı türüdür.
  • Görsel veri analizi, tanıma ve sınıflandırma gibi alanlarda oldukça başarılıdır.

resim-2024-03-17-132119754

Konvolüsyon İşlemi Nedir?

  • Bazı görüntü ve özellik dedektörlerimiz var (3x3)
  • Özellik detektörünün 3'e 3 matris olması gerekmez. 5'e 5 veya 7'ye 7 olabilir.
  • Özellik dedektörü = kernel = filtre
  • Özellik dedektörü, kenarlar veya dışbükey şekiller gibi özellikleri algılar. Örnek olarak, girdi köpek ise, özellik algılayıcı köpeğin kulağı veya kuyruğu gibi özellikleri algılayabilir.
  • özellik haritası = conv(giriş görüntüsü, özellik dedektörü). Matrislerin eleman bazında çarpımı.
  • özellik haritası = dönüştürülmüş özellik
  • Stride = giriş görüntüsünde gezinme.
  • Padding = girdi verisinin kenarlarına eklenen ekstra piksellerdir. (zero, edge)
  • Görüntünün boyutunu küçültüyoruz. Bu önemli çünkü kod daha hızlı çalışıyor. Ancak, bilgi kaybederiz.
  • Birden fazla özellik haritası oluşturuyoruz çünkü birden fazla özellik dedektörü (filtre) kullanıyoruz.
  • Konvolüsyon matrisine bakın. Kenar algılama: [4,0,0],[0,0,0],[0,0,-4]

resim-2024-03-17-133423202

  • Konvolüsyon işlemi sonrası doğrusallığı ortadan kaldırmak için ReLU aktivasyon fonksiyonunu kullanırız. Doğrusal olmayanlığı artırın. Çünkü görüntüler doğrusal değildir.

ReLU

Same Padding

  • Eğer katmanları uygulamaya devam edersek, hacmin istediğimizden daha hızlı azalacağı bir durumla karşılaşabiliriz. Özellikle ağımızın başlangıç katmanlarında, orijinal girdi hacmini mümkün olduğunca korumak istiyoruz. Bu sayede düşük seviyeli özellikleri daha iyi çıkarabiliriz.
  • Giriş ve çıkış boyutları aynı olacaktır.

padding

Max Pooling ve Ave Pooling (Havuzlama)

  • Parametre sayısını azaltmak için aşağı örnekleme veya alt örnekleme yaparız.
  • Özelliklerin tespitini ölçek veya oryantasyon değişikliklerine karşı değişmez hale getiririz.
  • Ağdaki parametre ve hesaplama miktarını azaltarak aşırı uyumu (overfitting) kontrol ederiz.

maxpool

  • Max Pooling ve Ave Pooling birlikte gösterim. (a) orijinal görüntü (b) 3x3 maksimum havuzlama (c) 3x3 ortalama havuzlama

Resim1

Flattening (Düzleştirme)

  • Düzleştirme işlemi, evrişimli sinir ağları içinde yaygın bir işlemdir.
  • Bu işlemin yapılmasının nedeni, konvolüsyon ve havuzlama işleminden sonra elde edilen iki boyutlu özellik haritalarının, tam bağlı katmana girdi olarak verilmeden önce düzleştirilmesi gerektiğidir.
  • Tam bağlı katmanlar girdi olarak iki boyutlu tensörleri kabul etmezler.
  • Bir tensörü düzleştirmek için en az iki eksene sahip olunması gereklidir.

Flatten

Fully Connected (Tam Bağlı)

  • Bir sinir ağındaki tam bağlı katmanlar, bir katmandaki tüm girdilerin bir sonraki katmanın her aktivasyon birimine bağlandığı katmanlardır.
  • Konvolüsyon katmanından sonra en çok zaman alan ikinci katmandır.
  • Tam bağlı katmanların çalışma yapısı Involutional Neural Networks ile aynıdır ve elde edilen özellik haritalarının sınıflandırılmasını gerçekleştiren katmandır.

fullyconnected