ML Pratiği: Görüntü Sınıflandırma

Evrişimli Nöral Ağlarla Tanışın

Görüntü sınıflandırma için model oluştururken çığır açan bir yenilikle birlikte, resim içeriğinin üst ve üst düzey temsillerini kademeli olarak elde etmek için evrimsel nöral ağ (CNN) kullanılabilir. Doku ve şekil gibi özellikleri elde etmek için verilerin önceden işlenmesi yerine CNN, resmin ham piksel verilerini sadece giriş olarak alır ve bu özelliklerin nasıl çıkarılacağını ve nihayette hangi nesnenin oluştuğunu tahmin eder.

Başlangıç olarak, CNN bir giriş özelliği eşlemesi alır: İlk iki boyutun boyutu, resimlerin piksel cinsinden uzunluğuna ve genişliğine karşılık gelen üç boyutlu bir matristir. Üçüncü boyutun boyutu 3'tür (renkli bir resmin 3 kanalına karşılık gelir: kırmızı, yeşil ve mavi). CNN, her biri üç işlem gerçekleştiren bir modül yığınından oluşur.

1. Konvolüsyon

Konsantrasyon, giriş özelliği haritasının parçalarını ayıklar ve bu özellikleri, yeni özellikleri hesaplamak, bir çıkış özelliği haritası oluşturmak veya birleşik özellik (giriş özelliği haritasından farklı boyut ve derinliğe sahip olabilir) hesaplamak için uygular. Evrişler iki parametreyle tanımlanır:

  • Çıkarılan karoların boyutu (genellikle 3x3 veya 5x5 piksel).
  • Uygulanan filtre sayısına karşılık gelen çıkış özelliği haritasının derinliği.

Bir evrim sırasında, filtreler (çizgi boyutuyla aynı boyuta sahiptir) giriş özelliği haritasının yatay ve dikey olarak etkin bir şekilde kaydırılması, her pikselin bir defada bir piksel boyutundan gelmesi (aşağıdaki Şekil 3'e bakın) gerekir.

4x4 özellik haritasına göre 3x3 kontur Şekil 3. 5x5 girişli bir özellik haritası üzerinde 1. derinlikte 3x3 kıvrım, ayrıca 1 derinliği de. Kutuları 5x5 özellik haritasından çıkarmak için dokuz olası 3x3 konum vardır. Böylece, evrişken 3x3 çıkış özellik haritası oluşturulur.

Her bir filtre döşemesi çifti için CNN, filtre matrisi ile karo matrisinin öğesel çarpımını gerçekleştirir ve ardından, ortaya çıkan matrisin tüm öğelerini toplayarak tek bir değer elde eder. Daha sonra her bir filtre döşeme çifti için bu değerlerden her biri, birleştirilmiş özellik matrisinde elde edilir (Şekil 4a ve 4b'ye bakın).

5x5 özellik haritası ve 3x3 evre Şekil 4a. Sol: 5x5 giriş özellikli bir harita (derinlik 1). Sağa: 3x3 konfigürasyon (derinlik 1).

Şekil 4b. Sol: 3x3 dönüş, 5x5 giriş özellik haritasında gerçekleştirilir. Sağa: Sonuçta ortaya çıkan birleştirilmiş özellik. Çıkış özelliği haritasındaki bir değeri tıklayarak bu değerin nasıl hesaplandığını görebilirsiniz.

Eğitim sırasında CNN, giriş özelliği haritasından anlamlı özellikler (dokular, kenarlar, şekiller) çıkarmasını sağlayan, filtre matrisleri için optimum değerleri öğrenir. Girişe uygulanan filtrelerin sayısı (çıkış özelliği harita derinliği) arttıkça, CNN'in çıkarabileceği özelliklerin sayısı da artar. Ancak, karşılığında CNN tarafından harcanan kaynakların büyük çoğunluğu filtreleri oluşturur, dolayısıyla 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 gereken özellikleri çıkarmak için gereken minimum sayıda filtreyi kullanan ağlar oluşturmayı hedefler.

2. UYGUN

Her bir bükülme işleminden sonra CNN, modele doğrusal olmayanlık eklemek için bükülen özelliğe Düzeltilmiş Bir Doğrusal Birim (RELU) dönüşümü uygular. ReLU işlevi ( \(F(x)=max(0,x)\)), tüm x > 0 değerleri için x değerini ve x ≤ 0 tüm değerleri için 0 değerini döndürür.

3. Havuz

ReLU, bir havuzlama adımına geçtikten sonra CNN'in, derlenmiş özelliği örnekleme yapıp (işleme süresini azaltmak için) özellik haritasının boyut sayısını azaltıp en önemli özellik bilgilerini koruyor. Bu işlem için yaygın olarak kullanılan bir algoritmaya maks. toplama denir.

Maksimum havuz, evrime benzer şekilde çalışır. Özellik haritasının üzerine gelip belirtilen boyuttaki kartları çıkarıyoruz. Her kutu için maksimum değer yeni bir özellik haritasına çıkar ve diğer tüm değerler silinir. Toplam toplama işlemleri iki parametre alır:

  • Toplam havuz filtresinin boyutu (genellikle 2x2 piksel)
  • Bölme: Çıkarılan her bir karoyu ayıran mesafe (piksel cinsinden). Filtrelerin özellik haritası pikselinin pikseller üzerinde kaydırıldığı evrimin aksine, maksimum havuz oluşturma sırasındaki adım, her bir karonun çıkarıldığı konumları belirler. 2x2 boyutlu bir filtre için 2'deki adım, maksimum havuz oluşturma işleminin özellik haritasından tüm çakışmayan 2x2 karoları çıkaracağını belirtir (Şekil 5'e bakın).

4x4 ve 2x2 filtreli maksimum harita üzerinde maksimum havuz animasyonu
2.

5. Şekil. Sol: 2x2 filtre ve 2 numaralı adımla 4x4 özellikli bir harita üzerinde gerçekleştirilen maksimum havuzlama. Sağ: Maks. havuz oluşturma işleminin sonucu. Ortaya çıkan özellik eşlemesinin artık 2x2 olduğunu ve yalnızca her karodaki maksimum değerleri koruduğunu unutmayın.

Tamamıyla Bağlı Katmanlar

Evrişimli bir nöral ağın sonunda, bir veya daha fazla tam olarak bağlı katman vardır (iki katman "tamamen bağlandığında", ilk katmandaki her düğüm ikinci katmandaki her düğüme bağlanır). İşleri, konturlardan çıkarılan özelliklere göre sınıflandırma yapmaktır. Genellikle tamamen bağlı olan son katman, modelin tahmin etmeye çalıştığı sınıflandırma etiketlerinin her biri için 0 ile 1 arasındaki bir olasılık değerini veren bir softmax etkinleştirme işlevi içerir.

6. şekilde, evrişimli bir nöral ağın uçtan uca yapısı gösterilmektedir.

Giriş, iki evrişim modülü ve sınıflandırma için tamamen bağlı iki katmanın gösterildiği, evrişimli bir nöral ağın uçtan uca şeması

6. Şekil. Burada gösterilen CNN, özellik çıkarma için iki evrişim modülü (dönüştürme + ReLU + toplama) ve sınıflandırma için tamamen bağlı iki katman içerir. Diğer CNN'lerde çok sayıda veya daha az konfigürasyon modülü ve birbirine bağlı çok sayıda veya daha az katman bulunabilir. Mühendisler modelleri için en iyi sonuçları sağlayacak yapılandırmayı bulmak amacıyla sık sık denemeler yaparlar.