Evrişimli Nöral Ağlar ile tanışın
Görüntü sınıflandırması için model oluşturma konusundaki önemli bir gelişme, dönüşümsel sinir ağının (CNN) görüntü içeriğinin giderek daha yüksek düzeyde temsillerini ayıklamak için kullanılabileceği keşfedildiğinde ortaya çıktı. CNN, doku ve şekil gibi özellikleri elde etmek için verileri ön işleme tabi tutmak yerine, giriş olarak yalnızca resmin ham piksel verilerini alır ve bu özelliklerin nasıl çıkarılacağını "öğrenir" ve nihayetinde bunların hangi nesneyi oluşturduğunu çıkarır.
Başlangıçta CNN bir giriş özellik haritası alır: ilk iki boyutun boyutunun, piksel cinsinden resimlerin uzunluğuna ve genişliğine karşılık geldiği üç boyutlu bir matris. Üçüncü boyutun boyutu 3'tür (renkli bir görüntünün 3 kanalına (kırmızı, yeşil ve mavi) karşılık gelir). CNN, her biri üç işlem gerçekleştiren bir modül grubu içerir.
1. Konvolüsyon
Dönüşüm, giriş özellik haritasının karolarını ayıklayıp yeni özellikleri hesaplamak için bunlara filtreler uygular. Böylece bir çıkış özellik haritası veya dönüşümlü özellik (giriş özellik haritasından farklı boyut ve derinliğe sahip olabilir) oluşturulur. Toplama işlemleri iki parametreyle tanımlanır:
- Ayıklanan karoların boyutu (genellikle 3x3 veya 5x5 piksel).
- Uygulanan filtrelerin sayısına karşılık gelen çıktı özellik haritasının derinliği.
Birleştirme sırasında filtreler (kare boyutuyla aynı boyutta matrisler), giriş özellik haritasının ızgarasına yatay ve dikey olarak etkili bir şekilde kayar, her seferinde bir piksel olmak üzere her bir ilgili kareyi çıkarır (Şekil 3'e bakın).
Şekil 3. Yine 1 derinliğe sahip 5x5 giriş özellik haritası üzerinde gerçekleştirilen 1 derinliğe sahip 3x3 bir toplama işlemi. 5x5 özellik haritasından karo çıkarmak için dokuz olası 3x3 konum vardır. Bu nedenle, bu topoloji 3x3 çıkış özellik haritası oluşturur.
CNN, her filtre-karo çifti için filtre matrisi ile karo matrisinin öğe bazında çarpımını gerçekleştirir ve ardından tek bir değer elde etmek için ortaya çıkan matrisin tüm öğelerini toplar. Her filtre-karo çifti için elde edilen bu değerlerin her biri daha sonra döndürülmüş özellik matrisinde (Şekil 4a ve 4b'ye bakın) gösterilir.
Şekil 4a. Sol: 5x5 giriş özellik haritası (derinlik 1). Sağ: 3x3 boyutunda bir konvolüsyon (derinlik 1).
Şekil 4b. Sol: 3x3 konvolüsyon, 5x5 giriş özellik haritasında gerçekleştirilir. Sağ: Sonuçta elde edilen convolve edilmiş özellik. Nasıl hesaplandığını görmek için çıkış özellik haritasındaki bir değeri tıklayın.
CNN, eğitim sırasında filtre matrisleri için giriş özellik haritasından anlamlı özellikler (dokular, kenarlar, şekiller) çıkarmasını sağlayan en uygun değerleri "öğrenir". Girişe uygulanan filtrelerin (çıkış özellik haritası derinliği) sayısı arttıkça CNN'nin ayıklayabileceği özellik sayısı da artar. Ancak bunun karşılığında, CNN'nin harcadığı kaynakların büyük bir kısmı filtrelerden oluşur. Bu nedenle, daha fazla filtre eklendikçe eğitim süresi de artar. Ayrıca, ağa eklenen her filtre öncekinden daha az artımlı değer sağlar. Bu nedenle mühendisler, doğru resim sınıflandırması için gerekli özellikleri ayıklamak üzere gereken minimum sayıda filtre kullanan ağlar oluşturmayı amaçlar.
2. ReLU
CNN, her birleştirme işleminin ardından modele doğrusal olmayanlık kazandırmak için, birleştirilen özelliğe Doğrusal Düzeltme Birimi (ReLU) dönüşümü uygular. ReLU işlevi ( \(F(x)=max(0,x)\)), x > 0 olan tüm x değerleri için x değerini, x ≤ 0 olan tüm x değerleri için ise 0 değerini döndürür.
3. Havuz oluşturma
ReLU'dan sonra, CNN'nin en önemli özellik bilgilerini korurken, convolve edilmiş özelliği (işleme süresinden tasarruf etmek için) azalttığı ve özellik haritasının boyut sayısını düşürdüğü bir havuzlama adımı gelir. Bu işlem için kullanılan yaygın bir algoritmaya maksimum toplama denir.
Maksimum toplama, toplamaya benzer şekilde çalışır. Öğe haritasının üzerine gelip belirtilen boyuttaki karoları ayıklıyoruz. Her karo için maksimum değer yeni bir özellik haritasına aktarılır ve diğer tüm değerler atılır. Maksimum havuz oluşturma işlemleri iki parametre alır:
- Maksimum toplama filtresinin boyutu (genellikle 2x2 piksel)
- Stride: Ayıklanan her karoyu ayıran piksel cinsinden mesafe. Filtrelerin özellik haritasında piksel piksel kaydığı yığma işleminden farklı olarak, maksimum havuzlamada her karonun ayıklandığı konumlar adım boyutu tarafından belirlenir. 2x2 filtre için 2'lik bir adım, maksimum toplama işleminin özellik haritasından örtüşmeyen tüm 2x2 karoları alacağını belirtir (Şekil 5'e bakın).
Şekil 5. Sol: 2x2 filtre ve 2 adım boyutunda 4x4 özellik haritası üzerinde yapılan maksimum havuzlama. Sağ: Maksimum toplama işleminin çıkışı. Elde edilen özellik haritasının artık 2x2 boyutunda olduğunu ve her karodaki yalnızca maksimum değerlerin korunduğunu unutmayın.
Tamamen Bağlı Katmanlar
Bir konvolüsyonel sinir ağının sonunda bir veya daha fazla tamamen bağlı katman bulunur (iki katman "tamamen bağlı" olduğunda, ilk katmandaki her düğüm ikinci katmandaki her düğüme bağlıdır). Bu katmanların görevi, convolve'lar tarafından ayıklanan özelliklere göre sınıflandırma yapmaktır. Son tam bağlı katman genellikle, modelin tahmin etmeye çalıştığı sınıflandırma etiketlerinin her biri için 0 ile 1 arasında bir olasılık değeri döndüren bir softmax etkinleştirme işlevi içerir.
Şekil 6'da, evrişimli bir nöral ağın uçtan uca yapısı gösterilmektedir.
Şekil 6. Burada gösterilen CNN, özellik ayıklama için iki konvolasyon modülü (konvolasyon + ReLU + toplama) ve sınıflandırma için iki tam bağlantılı katman içerir. Diğer CNN'ler daha fazla veya daha az sayıda konvolüsyon modülü ve daha fazla veya daha az sayıda tam bağlantılı katman içerebilir. Mühendisler, modelleri için en iyi sonuçları veren yapılandırmayı bulmak amacıyla genellikle denemeler yapar.