Standart bir evrişimli katman tuhaf bir şekilde eşitlikçidir. Onlarca, hatta bazen yüzlerce özellik dedektörünü üst üste dizer ve ardından her birine aynı saygıyla yaklaşır. Diyagonal kenarları tespit etmeyi öğrenmiş bir kanal, mavi gökyüzü piksellerini tespit eden bir kanal ile aynı oy hakkına sahiptir. Bir kedi fotoğrafındaki tüy dokusuna tepki veren bir kanal, arka plan gürültüsüyle aktive olan bir kanal ile aynı ağırlıkla ileriye aktarılır. Bu tekdüzelik zayıf noktadır. Her kanal her görüntü için eşit derecede önemli değildir ve derin ağlar tarihsel olarak bunu belirtecek bir mekanizmadan yoksun kalmıştır.
Hu ve meslektaşları tarafından tanıtılan Squeeze-and-Excitation, bu sorunu oldukça küçük bir eklemeyle çözer. Herhangi bir evrişim bloğuna öğrenilebilir bir kapılama (gating) mekanizması ekleyerek ağın her bir kanalın ne kadar katkıda bulunacağını dinamik olarak yeniden kalibre etmesini sağlar ve bunu her girdi için sıfırdan yapar. Ek maliyet önemsizdir — ResNet-50'ye eklendiğinde yaklaşık yüzde 2,5 daha fazla parametre — ancak temsil gücündeki artış o kadar büyüktür ki SE blokları ILSVRC 2017'yi kazanmaya yardımcı olmuş ve günümüzde MobileNetV3 ve EfficientNet gibi üretim mimarilerinin içinde yer almaktadır.
Fikir, sıfırdan üç aşamada inşa edilebilecek kadar basittir.
Squeeze: Ağa Geniş Açılı Bir Lens Kazandırmak
Evrişim, doğası gereği yereldir. 3×3'lük bir çekirdek (kernel) görüntü üzerinde kayar ve yalnızca hemen yakınındaki komşuluğu görür. Yeterince katman üst üste eklendiğinde alıcı alan (receptive field) büyür, ancak hiçbir tekil işlem bir özellik haritasının (feature map) tamamına tek bir bakışta bakamaz. Bu, bir kanalın bir köpeğin veya bir arabanın tüm uzamsal alanı boyunca güçlü bir şekilde aktifleşebileceği, ancak bir sonraki katmanın asla "Bu dedektör her yerde ateşlendi" diyen açık bir özet almayacağı anlamına gelir.
Squeeze adımı, bu boşluğu global ortalama havuzlama (global average pooling) ile kapatır. Her bir kanal için, H×W uzamsal ızgarasındaki her değer tek bir sayıya indirgenerek ortalaması alınır. Eğer 512 kanalınız varsa, artık 512 skaleriniz vardır. Her bir skaler, o kanalın neyi tespit etmeyi öğrendiyse —ister bir jant, ister bir çim şeridi, ister bir cilt tonu yaması olsun— onun küresel varlığını kodlar. Bu, tüm sahnenin kanal bazlı bir özetidir.
Bu önemlidir çünkü bağlam anlamı değiştirir. Yatay çizgi dedektörü, bir görüntüde ufuk çizgisini tanıml
Son adım neredeyse heyecansızdır, ki bu da zarafetinin bir parçasıdır. Her bir orijinal özellik haritası (feature map), karşılık gelen sigmoid aktivasyonlu kapı (gate) değeriyle çarpılır. Eğer kapı bir değerine yakınsa, kanal değişmeden geçer. Eğer kapı sıfıra yakınsa, o özellik haritasının tamamı sessize alınır ve sönümlenerek yok olur. Sonuç, ağın bir sonraki katmanına beslenir.
Bu işlem uzamsal haritalar üzerinde saf bir çarpma işlemi olduğu için, çıkarım (inference) sırasında minimum hesaplama yükü ekler. Ağır iş yükü, çevredeki 3×3 konvolüsyonlara kıyasla ihmal edilebilir düzeyde olan global pooling ve iki küçük projeksiyon tarafından üstlenilmiştir.
Tasarım Neden Kalıcılığını Koruyor
Temiz matematiğinin ötesinde, Squeeze-and-Excitation mühendislik kısıtlamalarına saygı duyduğu için varlığını sürdürüyor.
Düşük parametre maliyeti. ResNet-50'ye SE blokları eklemek, sadece yaklaşık yüzde 2,5 oranında daha fazla parametre maliyeti getirir. MLP katmanları küçüktür; modeli şişirmezler. Doğruluk kazanımlarının genellikle model boyutunu iki katına çıkarmaktan geldiği bir çağda, SE nadir görülen bir "bedava öğle yemeği" (free lunch) sunar.
Modülerlik. SE, boru hattınızı (pipeline) yeniden tasarlamanızı gerektiren yeni bir backbone mimarisi değildir. Doğrudan kullanılabilen (drop-in) bir modüldür. ResNet, DenseNet veya özel yığınlardaki herhangi bir konvolüsyon bloğundan sonra, çevreleyen mantığı yeniden yazmaya gerek kalmadan yerleştirebilirsiniz. Bu esneklik, önce araştırmalarda, daha sonra ise mobil optimize edilmiş ağlarda hızlıca benimsenmesini sağladı.
Girdi uyumlu davranış. Eğitim sırasında öğrenilen ve dondurulan statik kanal ağırlıklarının aksine, SE kapıları her ileri geçiş (forward pass) için anlık olarak hesaplanır. Ağa düz ve özelliksiz bir gökyüzü verirseniz, ilgili kanallar düşük seviyede kalır. Ona yayalar, tabelalar ve araçlarla dolu hareketli bir sokak sahnesi gösterirseniz, kapılar o özel görüntü için önemli olan dedektörleri güçlendirmek üzere yeniden kalibre edilir. Aynı ağ, kendi hassasiyetini sahne sahne ayarlar.
Yarışma Kazananından Günlük Kullanıma
SE blokları ILSVRC 2017'de birinciliği elde etti, ancak asıl geçerliliklerini daha sonra kazandılar. Mobil bataryayı tüketmeden hafif modellerin kendi ağırlık sınıflarının üzerinde performans göstermelerine yardımcı oldukları MobileNetV3'e dahil edildiler. EfficientNet'in bileşik ölçeklendirme (compound scaling) tarifinde yer alarak, kanal dikkatinin (channel attention) ağır sıklet sunucular için bir lüks değil, verimli tasarım için pratik bir araç olduğunu kanıtladılar.
Bunun aslında ne kadar az kod gerektirdiğini görmek isterseniz, canlı demo bloğu satır satır parçalarına ayırıyor:
- Canlı demo: https://dev48v.infy.uk/dl/day40-squeeze-excitation.html
- Tam kurulum anlatımı: https://dev.to/dev48v/squeeze-and-excitation-from-scratch-cheap-channel-attention-that-learns-which-feature-maps-matter-1hic
Ve bir toplulukla birlikte inşa ediyorsanız: https://t.me/GyaanSetuAi
Asıl Çıkarım
Daha iyi görme modelleri her zaman daha derin yığınlara veya daha geniş filtrelere ihtiyaç duymaz. Bazen sadece önlerindeki görüntü için hangi kanalların gerçekten önemli olduğunu sormak için bir ana ihtiyaç duyarlar. Squeeze-and-Excitation, onlara bir havuzlanmış ortalama (pooled average), sıkıştırılmış bir MLP ve bir sigmoid kapısından fazlasını sunmadan bu anı sağlar. Sonuç; her özelliği eşit ses seviyesinde bağırmayı bırakan ve bunun yerine her kanalı tam olarak sahne gerektirdiğinde fısıldamayı, vurgulamayı veya sessize almayı öğrenen bir ağdır.
