Görüntü Tanıma için Derin Kalıntı Öğrenme

Cahit Barkin Ozer
18 min readJun 19, 2024

--

2015'de yayımlanmış “Deep Residual Learning for Image Recognition” makalesinin Türkçe çevirisidir.

Basit Açıklama

Diyelim ki bilgisayarların resimleri tanımasını istiyoruz. Örneğin, bir bilgisayara bir kedi resmi gösterdiğimizde, onun bir kedi olduğunu anlamasını istiyoruz. Bunun için sinir ağları kullanılır. Ancak, sinir ağları çok karmaşık hale geldiğinde, yani katman sayısı arttığında, daha iyi çalışmak yerine bazen daha kötü çalışmaya başlarlar. Bu, bilim insanları için büyük bir sorundur.

Bu makale, bu sorunu çözmek için yeni bir yöntem öneriyor. Bu yöntemin adı “Residual Learning” (Artık Öğrenme). Bu yöntem sinir ağlarının daha derin (yani daha fazla katmanlı) olmasını sağlar, fakat her katmanın sadece küçük düzeltmeler yapmasına izin verir. Böylece, derin ağlar daha iyi çalışır ve bilgisayarlar resimleri daha doğru tanıyabilir.

Makaledeki bu yenilik, “residual blok” adı verilen özel yapılar kullanarak sinir ağlarını daha etkili hale getirir. Bu bloklar, bilgiyi doğrudan ileri taşır ve sadece gerekli düzeltmeleri yapar. Bu sayede, sinir ağları hem daha derin olabilir hem de daha iyi öğrenebilir.

Öz

Sinir ağları derinleştikçe eğitmek daha da zorlaşır. Daha önce kullanılanlardan çok daha derin ağların eğitimini kolaylaştırmak için bir kalıntı öğrenme çerçevesi (residual learning framework) sunuyoruz. Katmanları, referanssız işlevler öğrenmek yerine, katman girdilerine referansla kalıntı işlevler öğrenmek olarak açıkça yeniden formüle ediyoruz. Bu kalıntı ağların optimize edilmesinin daha kolay olduğunu ve önemli ölçüde artırılmış derinlikten doğruluk kazanabildiğini gösteren kapsamlı ampirik kanıtlar sağlıyoruz. ImageNet veri setinde, VGG ağlarından [41] 152 katmana kadar 8x daha derin, ancak yine de daha düşük karmaşıklığa sahip kalıntı ağları değerlendiriyoruz Bu kalıntı ağlardan oluşan bir topluluk, ImageNet test setinde %3.57 hata oranı elde ediyor. Bu sonuç, ILSVRC 2015 sınıflandırma görevinde birincilik kazandı. Ayrıca, 100 ve 1000 katmanlı CIFAR-10 analizini de sunuyoruz. Temsillerin derinliği, birçok görsel tanıma görevi için merkezi öneme sahiptir. Sadece son derece derin temsillerimiz sayesinde, COCO nesne tespit veri kümesinde %28 oranında göreli bir iyileşme elde ediyoruz. Derin kalıntı ağlar, ILSVRC & COCO 2015 yarışmalarına katılımlarımızın temelini oluşturuyor; burada ImageNet tespiti, ImageNet lokalizasyon, COCO tespiti ve COCO segmentasyonu görevlerinde de birincilik kazandık.

1. Giriş

Derin evrişimli sinir ağları [22, 21], görüntü sınıflandırmasında bir dizi çığır açıcı gelişmelere yol açmıştır [21, 50, 40]. Derin ağlar doğal olarak düşük/orta/yüksek seviyeli özellikleri [50] ve sınıflandırıcıları uçtan uca çok katmanlı bir biçimde entegre eder ve özelliklerin “seviyeleri” yığılmış katmanların sayısı (derinlik) ile zenginleştirilebilir. Son kanıtlar [41, 44] ağ derinliğinin çok önemli olduğunu ortaya koymaktadır ve zorlu ImageNet veri kümesindeki [36] önde gelen sonuçların [41, 44, 13, 16] tümü “çok derin” [41] on altı [41] ile otuz [16] arası derinlikteki modellerden yararlanmaktadır. Diğer pek çok önemsiz olmayan görsel tanıma görevi de [8, 12, 7, 32, 27] çok derin modellerden büyük ölçüde faydalanmıştır.

Şekil 1. 20 katmanlı ve 56 katmanlı “düz” ağlara sahip CIFAR-10'da eğitim hatası (solda) ve test hatası (sağda). Daha derindeki ağ daha yüksek eğitim hatasına ve dolayısıyla test hatasına sahiptir. ImageNet’teki benzer olaylar Şekil 4'te sunulmaktadır.

Derinliğin öneminden hareketle şu soru ortaya çıkıyor: Daha iyi ağları öğrenmek, daha fazla katmanı istiflemek kadar kolay mı? Bu soruyu yanıtlamanın önündeki bir engel, yakınsamayı baştan engelleyen, yok olan/patlayan gradyanlar (vanishing/exploding gradients) [1, 9] sorunuydu. Ancak bu sorun, normalleştirilmiş başlatma (normalized initialization) [23, 9, 37, 13] ve ara normalleştirme katmanları [16] tarafından büyük ölçüde ele alınmıştır; bunlar, onlarca katmana sahip ağların, geri yayılımla stokastik gradyan iniş (SGD) için yakınsamaya başlamasını sağlar [22 ]

Daha derin ağlar yakınsamaya başlayabildiğinde, bir bozulma sorunu ortaya çıkar: ağ derinliği arttıkça doğruluk doyuma ulaşır (ki bu şaşırtıcı olmayabilir) ve ardından hızla düşer. Beklenmedik bir şekilde, bu tür bir bozulma aşırı uyumdan kaynaklanmıyor ve uygun şekilde derin bir modele daha fazla katman eklemek, [11, 42]’de bildirildiği ve deneylerimiz tarafından ayrıntılı olarak doğrulandığı gibi daha yüksek eğitim hatasına yol açıyor. 1. Şekil tipik bir örneği göstermektedir.

(Eğitim doğruluğunun) bozulması, tüm sistemlerin optimize edilmesinin benzer şekilde kolay olmadığını gösterir. Daha yüzeysel bir mimariyi ve ona daha fazla katman ekleyen daha derindeki karşılığını ele alalım. Daha derin modele yapısal olarak bir çözüm mevcuttur: eklenen katmanlar kimlik eşlemedir (identity mapping) ve diğer katmanlar öğrenilen daha sığ modelden kopyalanır. Bu yapılandırılmış çözümün varlığı, daha derin bir modelin, daha sığ modeline göre daha yüksek eğitim hatası üretmemesi gerektiğini göstermektedir. Ancak deneyler, mevcut çözümleyicilerimizin, oluşturulan çözümle karşılaştırılabilir derecede iyi veya daha iyi çözümler bulamadığını (veya bunu uygun bir sürede bulamadığını) gösteriyor.

Şekil 2. Bir kalıntı öğrenme yapı taşı.

Bu yazıda, derin bir kalıntı öğrenme çerçevesi sunarak bozulma (degradation) sorununu ele alıyoruz. Her birkaç yığılmış katmanın (stacked layers) istenen temel eşlemeye doğrudan uymasını ummak yerine, bu katmanların kalıntı bir eşlemeye uymasına açıkça izin verdik. Resmi olarak, istenen temel eşlemeyi H(x) olarak belirterek, yığılmış doğrusal olmayan katmanların başka bir F(x):= H(x)−x eşlemesine uymasına izin verdik. Orijinal eşleme F(x)+x şeklinde yeniden düzenlenir. Kalıntı haritalamayı optimize etmenin orijinal, referanssız haritalamayı optimize etmekten daha kolay olduğunu varsayıyoruz. En uç noktada, eğer kimlik haritalaması optimal olsaydı, kalıntı değeri sıfıra itmek, bir kimlik haritasını doğrusal olmayan katmanlardan oluşan bir yığınla sığdırmaktan daha kolay olurdu.

F(x) + x ’in formülleştirilmesi “kısayol bağlantıları” (shortcut connections) olan ileri beslemeli sinir ağları ile gerçekleştirilebilir (Şekil 2). Kısayol bağlantıları [2, 34, 49] bir veya daha fazla katmanı atlayan (skipping) bağlantılardır. Bizim durumumuzda, kısayol bağlantıları basitçe kimlik eşlemesi (identity mapping) gerçekleştirir ve bunların çıktıları, yığılmış katmanların çıktılarına eklenir (Şekil 2). Kimlik kısayolu bağlantıları ne ekstra parametreler ne de hesaplama karmaşıklığı eklemez. Ağın tamamı hala SGD tarafından geri yayılımla uçtan uca eğitilebilir ve çözücüleri değiştirmeden ortak kütüphaneler (örneğin, Caffe [19]) kullanılarak kolayca uygulanabilir.

Bozunma (degration) problemini göstermek ve yöntemimizi değerlendirmek için ImageNet [36] üzerinde kapsamlı deneyler sunuyoruz. Şunu gösteriyoruz: 1) Son derece derin kalıntı ağlarımızın optimize edilmesi kolaydır, ancak karşılık gelen “düz” ağlar (sadece katmanları istifleyen), derinlik arttığında daha yüksek eğitim hatası sergiler; 2) Derin kalıntı ağlarımız, büyük ölçüde artan derinlikten kolaylıkla doğruluk kazanımlarının keyfini çıkarabilir ve önceki ağlara göre önemli ölçüde daha iyi sonuçlar üretebilir.

Benzer fenomenler CIFAR-10 setinde de [20] gösterilmektedir, bu da optimizasyon zorluklarının ve yöntemimizin etkilerinin sadece belirli bir veri setine benzemediğini göstermektedir. 100'den fazla katmana sahip bu veri kümesi üzerinde başarıyla eğitilmiş modeller sunuyoruz ve 1000'den fazla katmana sahip modelleri araştırıyoruz.

ImageNet sınıflandırma veri setinde [36], son derece derin kalıntı ağlarla mükemmel sonuçlar elde ediyoruz. 152 katmanlı kalıntı ağımız, ImageNet’te şimdiye kadar sunulan en derin ağdır ve yine de VGG ağlarından (classic CNNs) daha düşük karmaşıklığa sahiptir [41]. Topluluğumuz ImageNet test setinde %3,57'lik ilk 5 hatasıyla ILSVRC 2015 sınıflandırma yarışmasında 1. oldu. Son derece derin temsiller ayrıca diğer tanıma görevlerinde mükemmel genelleme performansına sahiptir ve ILSVRC & COCO 2015 yarışmalarında ImageNet tespiti, ImageNet yerelleştirmesi, COCO tespiti ve COCO segmentasyonu konularında birincilik kazanmamızı sağladı. Bu güçlü kanıt, kalıntı öğrenme ilkesinin genel olduğunu göstermektedir ve bunun diğer görme ve görme dışı problemler için de geçerli olmasını bekliyoruz.

2. Benzer Çalışmalar (Related Work)

Kalıntı Temsiller. Görüntü tanımada VLAD [18] bir sözlüğe göre kalıntı vektörler tarafından kodlanan bir temsildir ve Fisher Vector [30], VLAD’ın olasılıksal bir versiyonu [18] olarak formüle edilebilir. Her ikisi de görüntü alma ve sınıflandırma için güçlü, sığ temsillerdir [4, 48]. Vektör kuantizasyonu için, kalıntı vektörlerin [17] kodlanmasının, orijinal vektörlerin kodlanmasından daha etkili olduğu gösterilmiştir.

Düşük seviyeli görü ve bilgisayar grafiğinde, Kısmi Diferansiyel Denklemlerin (PDE’ler) çözülmesi için, yaygın olarak kullanılan Çoklu Izgara yöntemi (multigrid method) [3], sistemi, her bir alt problemin daha kaba ve daha ince arasındaki kalıntı çözümden sorumlu olduğu çoklu ölçeklerde alt problemler olarak yeniden formüle eder. ölçek. Çoklu şebekeye bir alternatif, iki ölçek arasındaki kalıntı vektörleri temsil eden değişkenlere dayanan hiyerarşik temel ön koşullandırmadır [45, 46]. Bu çözücülerin, çözümlerin kalıntı doğasından habersiz standart çözücülere göre çok daha hızlı yakınsadığı gösterilmiştir [3, 45, 46]. Bu yöntemler, iyi bir yeniden formülasyon veya ön koşullandırmanın optimizasyonu basitleştirebileceğini göstermektedir.

Kısayol Bağlantıları. Kısayol bağlantılarına yol açan uygulamalar ve teoriler [2, 34, 49] uzun süredir araştırılmaktadır. Çok katmanlı algılayıcıları (MLP’ler) eğitmeye yönelik ilk uygulamalardan biri, ağ girişinden çıkışa bağlanan doğrusal bir katmanın eklenmesidir [34, 49]. [44, 24]’te, birkaç ara katman, kaybolan/patlayan gradyanları adreslemek için doğrudan yardımcı sınıflandırıcılara (auxilliary classifiers) bağlanmıştır. [39, 38, 31, 47]’nin makaleleri, kısayol bağlantılarıyla uygulanan katman yanıtlarını, gradyanları ve yayılan hataları ortalamak için yöntemler önermektedir. [44]’te, bir “başlangıç” katmanı bir kısayol dalından ve birkaç derin daldan oluşur.

Çalışmamızla eş zamanlı olarak, “otoyol ağları” (highway networks) [42, 43], geçit fonksiyonlarıyla (gating functions) [15] kısayol bağlantıları sunar. Bu kapılar verilere bağımlıdır ve parametre içermeyen kimlik kısayollarımızın aksine parametrelere sahiptir. Kapılı bir kısayol “kapalı” olduğunda (sıfıra yaklaştığında), otoyol ağlarındaki katmanlar kalıntı olmayan işlevleri temsil eder. Tam tersine, formülasyonumuz her zaman kalıntı fonksiyonları öğrenir; kimlik kısayollarımız (identity shourtcuts) asla kapatılmaz ve tüm bilgiler her zaman öğrenilecek ek işlevlerle birlikte aktarılır. Ek olarak, otoyol ağları aşırı derecede artan derinlikle (örneğin 100 katmanın üzerinde) doğruluk kazanımları göstermemiştir.

3. Derin Kalıntı Öğrenme (Deep Residual Learning)

3.1 Kalıntı Öğrenme (Residual Learning)

H(x)’i, birkaç yığılmış katmana (mutlaka ağın tamamına değil) sığacak bir temel eşleme olarak düşünelim; x, bu katmanlardan ilkinin girdilerini belirtir. Eğer birden fazla doğrusal olmayan katmanın karmaşık fonksiyonlara asimptotik olarak yaklaşabileceği hipotezi varsayılırsa, bu, bunların artık fonksiyonlara asimptotik olarak yaklaşabileceği hipotezine eşdeğerdir, yani H(x) − x (girdi ve çıktının aynı boyutlarda olduğu varsayılarak). Dolayısıyla, yığılmış katmanların H(x)’e yaklaşık olmasını beklemek yerine, bu katmanların açıkça F(x):= H(x) − x artık fonksiyonuna yaklaşmasına izin veriyoruz. Böylece orijinal fonksiyon F(x) + x olur. Her iki formun da istenen fonksiyonlara asimptotik olarak yaklaşabilmesi gerekmesine rağmen (varsayıldığı gibi), öğrenme kolaylığı farklı olabilir.

Bu yeniden formülasyon, bozulma sorununun mantık dışı fenomeni tarafından motive edilmiştir (Şekil 1, sol). Girişte tartıştığımız gibi, eğer eklenen katmanlar kimlik eşlemeleri olarak oluşturulabiliyorsa, daha derin bir modelin, daha sığ modelinden daha büyük olmayan bir eğitim hatasına sahip olması gerekir. Bozulma sorunu, çözücülerin çoklu doğrusal olmayan katmanlarla kimlik eşlemelerine yaklaşma konusunda zorluklar yaşayabileceğini göstermektedir. Artık öğrenme yeniden formülasyonu ile, eğer kimlik eşlemeleri optimal ise, çözücüler kimlik eşlemelerine yaklaşmak için çoklu doğrusal olmayan katmanların ağırlıklarını basitçe sıfıra doğru yönlendirebilirler.

Gerçek durumlarda kimlik eşlemelerinin optimal olması pek olası değildir, ancak yeniden formüle etmemiz sorunun önceden koşullandırılmasına yardımcı olabilir. Eğer optimal fonksiyon bir kimlik eşlemesine sıfır eşlemesinden daha yakınsa, çözücünün pertürbasyonları bir kimlik eşlemesine referansla bulması, işlevi yeni bir işlev olarak öğrenmekten daha kolay olmalıdır. Deneylerle (Şekil 7) öğrenilen artık fonksiyonların genel olarak küçük yanıtlara sahip olduğunu gösteriyoruz, bu da kimlik eşlemelerinin makul ön koşullandırma sağladığını gösteriyor.

3.2. Kısayollarla Kimlik Eşleme (Identity Mapping by Shortcuts)

Artık öğrenmeyi her birkaç yığılmış katmana uyguluyoruz. Şekil 2'de bir yapı bloğu gösterilmektedir. Resmi olarak, bu yazıda şu şekilde tanımlanan bir yapı bloğunu ele alıyoruz:

Burada x ve y, dikkate alınan katmanların girdi ve çıktı vektörleridir. F(x, {Wi}) fonksiyonu öğrenilecek kalan haritalamayı temsil eder. Şekil 2'deki iki katmana sahip örnek için, F = W2σ(W1x) burada σ, ReLU’yu [29] belirtir ve gösterimleri basitleştirmek için önyargılar ihmal edilir. F + x işlemi, kısayol bağlantısı ve öğe bazında ekleme yoluyla gerçekleştirilir. Toplamadan sonra ikinci doğrusal olmamayı benimseriz (yani σ(y), bkz. Şekil 2).

Denklem (1)’deki kısayol bağlantıları ne ekstra parametreler ne de hesaplama karmaşıklığı getirmez. Bu sadece pratikte çekici olmakla kalmıyor, aynı zamanda düz ve artık ağlar arasındaki karşılaştırmalarımızda da önemli. Aynı anda aynı sayıda parametreye, derinliğe, genişliğe ve hesaplama maliyetine sahip olan düz/artık ağları adil bir şekilde karşılaştırabiliriz (eleman bazında ihmal edilebilir toplama hariç).

Denklem (1)’de x ve F’nin boyutları eşit olmalıdır. Durum böyle değilse (örneğin girdi/çıktı kanallarını değiştirirken), boyutları eşleştirmek için kısayol bağlantılarıyla doğrusal bir Ws projeksiyonu gerçekleştirebiliriz:

Denklem (1)’de Ws kare matrisini de kullanabiliriz. Ancak kimlik haritalamanın bozulma sorununu çözmek için yeterli olduğunu ve ekonomik olduğunu deneylerle göstereceğiz ve bu nedenle Ws yalnızca boyutları eşleştirirken kullanılır.

F artık fonksiyonunun formu esnektir. Bu makaledeki deneyler, iki veya üç katmanı olan bir F fonksiyonunu içerir (Şekil 5), ancak daha fazla katman da mümkündür. Ancak F’nin yalnızca tek bir katmanı varsa, Denklem (1) doğrusal bir katmana benzer: y = W1x + x, bunun avantajlarını gözlemlemedik.

Ayrıca, yukarıdaki gösterimlerin basitlik açısından tamamen bağlantılı katmanlarla ilgili olmasına rağmen, bunların evrişimli katmanlara da uygulanabileceğini belirtmeliyiz. F(x, {Wi}) fonksiyonu birden fazla evrişimli katmanı temsil edebilir. Öğe bazında ekleme, kanal kanal olmak üzere iki özellik haritası üzerinde gerçekleştirilir.

3.3. Ağ Mimarileri (Network Architectures)

Çeşitli düz/artık ağları test ettik ve tutarlı olayları gözlemledik. Tartışmaya örnekler sağlamak amacıyla ImageNet için iki modeli aşağıda açıklıyoruz.

Düz Ağ. Düz taban çizgilerimiz (Şekil 3, orta) esas olarak VGG ağlarının felsefesinden esinlenmiştir [41] (Şekil 3, sol). Evrişimli katmanlar çoğunlukla 3x3 filtreye sahiptir ve iki basit tasarım kuralını takip eder: (i) aynı çıktı özelliği harita boyutu için katmanlar aynı sayıda filtreye sahiptir; ve (ii) özellik haritası boyutu yarıya indirilirse, katman başına zaman karmaşıklığının korunması için filtre sayısı iki katına çıkarılır. Aşağı örneklemeyi doğrudan 2 adımlı evrişimli katmanlarla gerçekleştiriyoruz. Ağ, global ortalama havuzlama katmanı ve softmax ile 1000 yollu tam bağlı katmanla sona eriyor. Ağırlıklı katmanların toplam sayısı Şekil 3'te (ortada) 34'tür.

Modelimizin VGG ağlarına göre daha az filtreye ve daha düşük karmaşıklığa sahip olduğunu belirtmekte fayda var [41] (Şekil 3, sol). 34 katmanlı temel çizgimiz 3,6 milyar FLOP’a (çarpma-eklemeler) sahiptir; bu, VGG-19'un (19,6 milyar FLOP) yalnızca %18'idir.

Şekil 3. ImageNet için örnek ağ mimarileri. Sol: Referans olarak VGG-19 modeli [41] (19,6 milyar FLOP). Orta: 34 parametre katmanına (3,6 milyar FLOP) sahip düz bir ağ. Sağda: 34 parametre katmanına (3,6 milyar FLOP) sahip artık bir ağ. Kesikli çizgili kısayollar boyutları artırır. Tablo 1'de daha fazla ayrıntı ve diğer değişkenler gösterilmektedir.

Artık Ağ. Yukarıdaki düz ağa dayanarak, ağı kendi kalıntı versiyonuna dönüştüren kısayol bağlantıları (Şekil 3, sağ) ekliyoruz. Girdi ve çıktı aynı boyutlarda olduğunda kimlik kısayolları (Denklem(1)) doğrudan kullanılabilir (Şekil 3'teki düz çizgi kısayolları). Boyutlar arttığında (Şekil 3'teki noktalı çizgi kısayolları), iki seçeneği göz önünde bulundururuz: (A) Kısayol, artan boyutlar için doldurulmuş ekstra sıfır girdileriyle kimlik eşlemesini gerçekleştirmeye devam eder. Bu seçenek hiçbir ekstra parametre sunmaz; (B) Denklem(2)’deki projeksiyon kısayolu boyutları eşleştirmek için kullanılır (1×1 evrişimlerle yapılır). Her iki seçenek için de kısayollar iki boyuttaki özellik haritalarının üzerinden geçtiğinde, bunlar 2 adımlık adımlarla gerçekleştirilir.

3.4. Uygulama (Implementation)

ImageNet uygulamamız [21, 41]’deki uygulamayı takip etmektedir. Görüntü, ölçek büyütme [41] için [256, 480]’de daha kısa tarafı rastgele örneklenecek şekilde yeniden boyutlandırılır. 224×224'lük bir kırpma, bir görüntüden veya yatay çevirmesinden, piksel başına ortalama çıkarılarak rastgele örneklenir [21]. [21]’deki standart renk büyütme kullanılır. Toplu normalleştirmeyi (batch normalization) [16], her evrişimden hemen sonra ve aktivasyondan önce, [16]’yı takip ederek benimsiyoruz. Ağırlıkları [13]’teki gibi başlatıyoruz ve tüm düz/artık ağları sıfırdan eğitiyoruz. Mini batch boyutu 256 olan SGD kullanıyoruz. Öğrenme oranı 0,1 'den başlar ve hata platoları (error plateaus) ve modeller 60 × 104 yinelemeye kadar eğitildiğinde 10'a bölünür. 0,0001'lik bir ağırlık azalması ve 0,9'luk bir momentum kullanıyoruz. [16]’daki uygulamayı takip ederek sönümleme [14]’ü kullanmıyoruz. Testlerde, karşılaştırma çalışmaları için standart 10 ürün testini benimsiyoruz [21]. En iyi sonuçları elde etmek için, [41, 13]’teki gibi tam evrişimli formu benimsiyoruz ve puanların birden fazla ölçekte ortalamasını alıyoruz (görüntüler, kısa kenar {224, 256, 384, 480, 640} olacak şekilde yeniden boyutlandırılır).

4. Deneyler

4.1. ImageNet Sınıflandırması

Yöntemimizi 1000 sınıftan oluşan ImageNet 2012 sınıflandırma veri seti [36] üzerinde değerlendiriyoruz. Modeller 1,28 milyon eğitim görüntüsü üzerinde eğitilir ve 50 bin doğrulama görüntüsü üzerinde değerlendirilir. Ayrıca test sunucusu tarafından bildirilen 100.000 test görüntüsünden de nihai bir sonuç elde ettik. Hem ilk 1 hem de ilk 5 hata oranlarını değerlendiriyoruz.

Düz Ağlar. Öncelikle 18 katlı ve 34 katlı düz ağları değerlendiriyoruz. 34 katmanlı düz ağ Şekil 3'te (ortada) görülmektedir. 18 katmanlı düz ağ da benzer formdadır. Ayrıntılı mimariler için Tablo 1'e bakın.

Tablo 2'deki sonuçlar, daha derin olan 34 katmanlı düz ağın, daha sığ olan 18 katmanlı düz ağa göre daha yüksek doğrulama hatasına sahip olduğunu göstermektedir. Sebeplerini ortaya çıkarmak için Şekil 4'te (solda) eğitim prosedürü sırasındaki eğitim/doğrulama hatalarını karşılaştırıyoruz. Bozulma (degration) problemini gözlemledik — 18 katmanlı düz ağın çözüm alanı 34 katmanlı olanın çözüm uzayı olmasına rağmen, 34 katmanlı düz ağın tüm eğitim prosedürü boyunca daha yüksek eğitim hatasına sahip olduğunu gözlemledik.

Tablo 1. ImageNet Mimarileri. Yapı blokları parantez içinde (ayrıca bkz. Şekil 5) istiflenmiş blok sayılarıyla birlikte gösterilmiştir. Aşağı örnekleme conv3 1, conv4 1 ve conv5 1 tarafından 2 adımla gerçekleştirilir.
Şekil 4. ImageNet Eğitimi. İnce eğriler eğitim hatasını, kalın eğriler ise merkez mahsullerin doğrulama hatasını belirtir. Sol: 18 ve 34 katmanlı düz ağlar. Sağda: 18 ve 34 katmanlı ResNet’ler. Bu çizimde, artık ağların, düz ağlara kıyasla ekstra bir parametresi yoktur.
Tablo 2. ImageNet doğrulamasında ilk 1 hata (%, 10 ürün testi). Burada ResNet’lerin düz muadillerine kıyasla ekstra bir parametresi yoktur. Şekil 4 eğitim prosedürlerini göstermektedir.

34 katmanlı düz ağ, 18 katmanlı düz ağın çözüm uzayı 34 katmanlı olanın çözüm uzayının bir alt uzayı olmasına rağmen, tüm eğitim prosedürü boyunca daha yüksek eğitim hatasına sahiptir.

Bu optimizasyon zorluğunun kaybolan gradyanlardan kaynaklanma ihtimalinin düşük olduğunu savunuyoruz. Bu düz ağlar, ileri yayılan sinyallerin sıfır olmayan varyanslara sahip olmasını sağlayan BN [16] ile eğitilir. Ayrıca geriye doğru yayılan gradyanların BN (batch normalization) ile sağlıklı normlar sergilediğini de doğruladık. Yani ne ileri ne de geri sinyaller kaybolmaz. Aslında 34 katmanlı düz ağ hala rekabetçi doğruluk elde edebiliyor (Tablo 3), bu da çözücünün bir dereceye kadar işe yaradığını gösteriyor. Derin düz ağların katlanarak düşük yakınsama oranlarına sahip olabileceğini ve bunun da eğitim hatasının azaltılmasını etkilediğini tahmin ediyoruz3. Bu tür optimizasyon zorluklarının nedeni gelecekte incelenecektir.

Artık Ağlar. Daha sonra 18 katmanlı ve 34 katmanlı artık ağları (ResNets) değerlendiriyoruz. Temel mimariler yukarıdaki düz ağlarla aynıdır; Şekil 3'te (sağda) olduğu gibi her 3x3 filtre çiftine bir kısayol bağlantısı eklenmesi beklenir. İlk karşılaştırmada (Tablo 2 ve Şekil 4 sağda), tüm kısayollar için kimlik eşlemeyi ve artan boyutlar için sıfır dolgulamayı kullanıyoruz (seçenek A). Yani düz muadillerine göre ekstra bir parametreleri yoktur. Tablo 2 ve Şekil 4'te üç önemli gözlemimiz var. Birincisi, artık öğrenmeyle durum tersine dönüyor — 34 katmanlı ResNet, 18 katmanlı ResNet’ten daha iyi (%2,8 oranında). Daha da önemlisi, 34 katmanlı ResNet önemli ölçüde daha düşük eğitim hatası sergiliyor ve doğrulama verilerine genelleştirilebilir. Bu, bozulma sorununun bu ortamda iyi bir şekilde ele alındığını ve artan derinlikten doğruluk kazanımları elde etmeyi başardığımızı gösterir.

İkincisi, düz muadili ile karşılaştırıldığında 34 katmanlı ResNet, eğitim hatasının başarılı bir şekilde azaltılmasından kaynaklanan ilk 1 hatasını %3,5 oranında azaltır (Tablo 2) (Şekil 4 sağ ve sol). Bu karşılaştırma, artık öğrenmenin son derece derin sistemler üzerindeki etkinliğini doğrulamaktadır. Son olarak, 18 katmanlı düz/artık ağların karşılaştırmalı olarak doğru olduğunu (Tablo 2) ancak 18 katmanlı ResNet’in daha hızlı yakınsadığını da not ediyoruz (Şekil 4 sağa ve sola). Ağ “aşırı derin olmadığında” (burada 18 katman), mevcut SGD çözücüsü hala düz ağa iyi çözümler bulabilir. Bu durumda ResNet erken aşamada daha hızlı yakınsama sağlayarak optimizasyonu kolaylaştırır.

Tablo 3. ImageNet doğrulamasında hata oranları (%, 10 ürün testi). VGG-16 testimize dayanmaktadır. ResNet-50/101/152, yalnızca artan boyutlar için projeksiyonlar kullanan B seçeneğine sahiptir.
Tablo 4. ImageNet doğrulama setindeki tek model sonuçlarının hata oranları (%) (test setinde bildirilen † hariç).
Tablo 5. Toplulukların hata oranları (%). İlk 5 hata ImageNet’in test setindedir ve test sunucusu tarafından rapor edilir.

ResNet, eğitim hatasının başarılı bir şekilde azaltılmasından kaynaklanan ilk 1 hatasını %3,5 oranında azaltır (Tablo 2) (Şekil 4 sağ ve sol). Bu karşılaştırma, artık öğrenmenin son derece derin sistemler üzerindeki etkinliğini doğrulamaktadır. Son olarak, 18 katmanlı düz/artık ağların karşılaştırmalı olarak doğru olduğunu (Tablo 2) ancak 18 katmanlı ResNet’in daha hızlı yakınsadığını da not ediyoruz (Şekil 4 sağa ve sola). Ağ “aşırı derin olmadığında” (burada 18 katman), mevcut SGD çözücüsü hala düz ağa iyi çözümler bulabilir. Bu durumda ResNet erken aşamada daha hızlı yakınsama sağlayarak optimizasyonu kolaylaştırır.

Kimlik ve Projeksiyon Kısayolları. Parametresiz, kimlik kısayollarının eğitime yardımcı olduğunu gösterdik. Daha sonra projeksiyon kısayollarını araştırıyoruz (Denklem (2)). Tablo 3'te üç seçeneği karşılaştırıyoruz: (A) boyutları artırmak için sıfır dolgulu kısayollar kullanılır ve tüm kısayollar parametresizdir (sağdaki Tablo 2 ve Şekil 4 ile aynı); (B) boyutları arttırmak için projeksiyon kısayolları kullanılır ve diğer kısayollar özdeşliktir; ve © tüm kısayollar projeksiyonlardır. Tablo 3, her üç seçeneğin de düz muadilinden önemli ölçüde daha iyi olduğunu göstermektedir. B, A’dan biraz daha iyidir. Bunun, A’daki sıfır dolgulu boyutların aslında hiçbir öğrenme kalıntısının olmamasından kaynaklandığını ileri sürüyoruz. C, B’den marjinal olarak daha iyidir ve bunu birçok (on üç) projeksiyon kısayolunun getirdiği ekstra parametrelere bağlıyoruz. Ancak A/B/C arasındaki küçük farklılıklar, projeksiyon kısayollarının bozulma sorununu çözmek için gerekli olmadığını göstermektedir. Bu nedenle, bellek/zaman karmaşıklığını ve model boyutlarını azaltmak için bu makalenin geri kalanında C seçeneğini kullanmıyoruz. Kimlik kısayolları, aşağıda tanıtılan darboğaz mimarilerinin karmaşıklığının artmaması açısından özellikle önemlidir.

Şekil 5. ImageNet için daha derin bir artık fonksiyon F. Sol: ResNet34 için Şekil 3'teki gibi bir yapı taşı (56x56 özellik haritalarında). Sağda: ResNet-50/101/152 için “darboğaz” yapı taşı.

Daha Derin Darboğaz Mimarileri. Daha sonra ImageNet için daha derin ağlarımızı açıklıyoruz. Ödeyebileceğimiz eğitim süresiyle ilgili endişelerden dolayı yapı taşını darboğaz tasarımı4 olarak değiştiriyoruz. Her F artık fonksiyonu için 2 yerine 3 katmandan oluşan bir yığın kullanıyoruz (Şekil 5). Üç katman 1×1, 3×3 ve 1×1 evrişimlilerdir; burada 1×1 katmanlar boyutları azaltmak ve ardından artırmaktan (geri yüklemek) sorumludur ve 3×3 katmanı daha küçük girdi/çıktı boyutlarıyla bir darboğaz bırakır. Şekil 5, her iki tasarımın da benzer zaman karmaşıklığına sahip olduğu bir örneği göstermektedir. Parametresiz kimlik kısayolları darboğaz mimarileri için özellikle önemlidir. Şekil 5'teki (sağ) kimlik kısayolu projeksiyonla değiştirilirse, kısayol iki yüksek boyutlu uca bağlandığı için zaman karmaşıklığının ve model boyutunun iki katına çıktığı gösterilebilir. Dolayısıyla kimlik kısayolları, darboğaz tasarımları için daha verimli modellere yol açar.

50 katmanlı ResNet: 34 katmanlı ağdaki her 2 katmanlı bloğu bu 3 katmanlı darboğaz blokla değiştiriyoruz ve sonuçta 50 katmanlı bir ResNet elde ediyoruz (Tablo 1). Boyutları artırmak için B seçeneğini kullanıyoruz. Bu modelin 3,8 milyar FLOP’u vardır.

4.2. CIFAR-10 ve Analiz

10 sınıfta 50 bin eğitim görüntüsü ve 10 bin test görüntüsünden oluşan CIFAR-10 veri seti [20] üzerinde daha fazla çalışma yaptık. Eğitim seti üzerinde eğitilen ve test seti üzerinde değerlendirilen deneyler sunuyoruz. Odak noktamız son derece derin ağların davranışları üzerinedir, ancak en son teknolojiye sahip sonuçları zorlamaya çalışmıyoruz, bu nedenle aşağıdaki gibi basit mimarileri bilinçli olarak kullanıyoruz.

Düz/artık mimariler Şekil 3'teki (orta/sağ) formu takip etmektedir. Ağ girdileri, piksel başına ortalamanın çıkarıldığı 32x32 görüntülerdir. İlk katman 3×3 evrişimdir. Daha sonra, her bir özellik haritası boyutu için 2n katman içeren, sırasıyla {32, 16, 8} boyutlarındaki özellik haritalarında 3x3 evrişimli 6n katmandan oluşan bir yığın kullanırız. Filtre sayıları sırasıyla {16, 32, 64}’tür. Alt örnekleme (subsampling), 2 adımlı evrişimler tarafından gerçekleştirilir. Ağ, genel ortalama havuzlama (global average pooling), 10 yollu tam bağlantılı katman ve softmax ile sona erer. Toplamda 6n+2 yığılmış ağırlıklı katman vardır. Aşağıdaki tablo mimariyi özetlemektedir:

Kısayol bağlantıları kullanıldığında, 3×3 katman çiftlerine (toplam 3n kısayol) bağlanırlar. Bu veri kümesinde her durumda kimlik kısayollarını kullanırız (yani A seçeneği), böylece artık modellerimiz düz modellerle tam olarak aynı derinliğe, genişliğe ve parametre sayısına sahip olurlar.

Tablo 6. CIFAR-10 test setindeki sınıflandırma hatası. Tüm yöntemler veri artırma özelliğine sahiptir. ResNet-110 için 5 kez çalıştırıyoruz ve [43]’teki gibi “en iyi (ortalama±std)” değerini gösteriyoruz.

0,0001'lik bir ağırlık azalması (weight decay) ve 0,9'luk bir momentum kullanıyoruz ve [13] ve batch normalizasyon’da [16] ağırlık başlatmayı benimsiyoruz, ancak hiçbir sönümleme (dropout) olmadan. Bu modeller, iki GPU üzerinde 128'lik mini batch boyutuyla eğitilir. 0,1 öğrenme oranıyla başlanılır, bunu 32k ve 48k yinelemelerde 10'a bölüyoruz ve 45k/5k train/val ayrımına göre belirlenen 64k yinelemede eğitimi sonlandırıyoruz. Eğitim için [24]’teki basit veri büyütmeyi takip ediyoruz: Her iki tarafta 4 piksel dolguludur ve dolgulu görüntüden veya yatay çevirmesinden 32x32'lik bir kırpma rastgele örneklenir. Test amacıyla orijinal 32×32 görüntünün yalnızca tekli görünümünü değerlendiriyoruz.

n = {3, 5, 7, 9}’yi karşılaştırırız, böylece 20, 32, 44 ve 56 katmanlı ağlar elde edilir. Şekil 6 (solda) düz ağların davranışlarını göstermektedir. Derin düz ağlar artan derinlikten muzdariptir ve daha derine inerken daha yüksek eğitim hatası sergiler. Bu olgu ImageNet (Şekil 4, sol) ve MNIST (bkz. [42]) üzerindeki olguya benzemektedir ve bu da böylesi bir optimizasyon zorluğunun temel bir sorun olduğunu göstermektedir.

Şekil 6 (ortada) ResNet’lerin davranışlarını göstermektedir. ImageNet durumlarına benzer şekilde (Şekil 4, sağ), ResNet’lerimiz optimizasyon zorluğunun üstesinden gelmeyi başarıyor ve derinlik arttığında doğruluk kazanımları gösteriyor.

Ayrıca 110 katmanlı bir ResNet’e yol açan n = 18'i de araştırıyoruz. Bu durumda, 0,1'lik başlangıç ​​öğrenme oranının yakınsamaya (converging) başlamak için biraz fazla yüksek olduğunu görüyoruz5. Bu nedenle, eğitim hatası %80'in altına düşene kadar (yaklaşık 400 yineleme) eğitimi ısıtmak (warmup) için 0,01'i kullanıyoruz ve ardından 0,1'e geri dönüp eğitime devam ediyoruz. Öğrenme programının geri kalanı daha önce yapıldığı gibidir. Bu 110 katmanlı ağ iyi bir şekilde birleşiyor (Şekil 6, orta). FitNet [35] ve Highway [42] gibi diğer derin ve ince ağlara göre daha az parametreye sahiptir (Tablo 6), ancak en son teknoloji sonuçları arasındadır (%6,43, Tablo 6).

Şekil 6. CIFAR-10 Eğitimi. Kesikli çizgiler eğitim hatasını, kalın çizgiler ise test hatasını gösterir. Sol: düz ağlar. Düz-110'un hatası %60'ın üzerinde ve görüntülenmiyor. Orta: ResNet’ler. Sağda: 110 ve 1202 katmanlı ResNet’ler.
Şekil 7. CIFAR10'daki katman yanıtlarının standart sapmaları (std). Yanıtlar, BN’den sonra ve doğrusal olmamadan önce her 3x3 katmanın çıktılarıdır. Üst: katmanlar orijinal sıralarında gösterilir. Altta: Yanıtlar azalan sırada sıralanır.

Katman Yanıtlarının Analizi. Şekil 7, katman tepkilerinin standart sapmalarını (std) göstermektedir. Yanıtlar, BN’den sonra ve diğer doğrusal olmama durumlarından (ReLU/toplama) önce, her 3x3 katmanın çıktılarıdır. ResNets için bu analiz, kalan fonksiyonların yanıt gücünü ortaya çıkarır. Şekil 7, ResNet’lerin genellikle düz muadillerine göre daha küçük yanıtlara sahip olduğunu göstermektedir. Bu sonuçlar, artık fonksiyonların genellikle sıfıra, artık olmayan fonksiyonlardan daha yakın olabileceği yönündeki temel motivasyonumuzu (Bölüm 3.1) desteklemektedir. Ayrıca, Şekil 7'deki ResNet-20, 56 ve 110 arasındaki karşılaştırmalardan da anlaşılacağı üzere, daha derindeki ResNet’in daha küçük tepki büyüklüklerine sahip olduğunu fark ettik. Daha fazla katman olduğunda, ResNet’lerin tek bir katmanı sinyali daha az değiştirme eğilimindedir.

1000'den fazla katmanın keşfedilmesi. 1000'den fazla katmandan oluşan agresif derecede derin bir modeli araştırıyoruz. Yukarıda açıklandığı gibi eğitilen 1202 katmanlı bir ağa yol açan n = 200'ü ayarladık. Yöntemimiz hiçbir optimizasyon zorluğu göstermemektedir ve bu 103 katmanlı ağ, < %0,1 eğitim hatası elde edebilmektedir (Şekil 6, sağ). Test hatası hala oldukça iyidir (%7,93, Tablo 6).

Ancak bu kadar agresif derin modellerde hala bariz sorunlar vardır. Her ikisinde de benzer eğitim hataları olmasına rağmen, bu 1202 katmanlı ağın test sonucu, 110 katmanlı ağımızdan daha kötüdür. Bunun aşırı uyumdan kaynaklandığını düşünüyoruz. 1202 katmanlı ağ, bu küçük veri seti için gereksiz derecede büyük (19,4M) olabilir. Bu veri kümesinde en iyi sonuçları ([10, 25, 24, 35]) elde etmek için maksimum çıktı (maxout) [10] veya sönümleme (dropout) [14] gibi güçlü düzenleme uygulanır. Bu yazıda, maksimum çıkış/bırakma kullanmıyoruz ve optimizasyonun zorluklarına odaklanmayı dağıtmadan, tasarım yoluyla derin ve ince mimariler aracılığıyla basit bir şekilde düzenleme uyguluyoruz. Ancak daha güçlü bir düzenlemeyle birleştirmek, gelecekte üzerinde çalışacağımız sonuçları iyileştirebilir.

Tablo 7. Temel Faster R-CNN kullanılarak PASCAL VOC 2007/2012 test setlerinde nesne algılama mAP’si (%). Daha iyi sonuçlar için ayrıca Tablo 10 ve 11'e bakın.
Tablo 8. Temel Faster R-CNN kullanılarak COCO doğrulama setinde nesne algılama mAP’si (%). Daha iyi sonuçlar için ayrıca Tablo 9'a bakın.

4.3. PASCAL ve MS COCO’da Nesne Algılama

Yöntemimiz diğer tanıma görevlerinde iyi bir genelleme performansına sahiptir. Tablo 7 ve 8, PASCAL VOC 2007 ve 2012 [5] ve COCO’ya [26] ilişkin nesne algılama temel sonuçlarını göstermektedir. Tespit yöntemi olarak Faster R-CNN’yi [32] benimsiyoruz. Burada VGG-16'nın [41] ResNet-101 ile değiştirilmesindeki gelişmelerle ilgileniyoruz. Her iki modelin de tespit uygulaması (eke bakınız) aynıdır, dolayısıyla kazançlar yalnızca daha iyi ağlara atfedilebilir. En dikkat çekici olanı, zorlu COCO veri setinde, COCO’nun standart metriğinde (mAP@[.5, .95]) %6,0'lık bir artış elde ettik; bu %28'lik bir göreceli iyileşmedir. Bu kazanç tamamen öğrenilen temsillerden kaynaklanmaktadır. Derin artık ağlara dayanarak, ILSVRC ve COCO 2015 yarışmalarında çeşitli parkurlarda birincilik kazandık: ImageNet tespiti, ImageNet yerelleştirmesi, COCO tespiti ve COCO segmentasyonu. Detaylar ekte yer almaktadır.

Kaynak

[1] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun from Microsoft, (10 Dec 2015), Deep Residual Learning for Image Recognition:

[https://arxiv.org/abs/1512.03385]

--

--

Cahit Barkin Ozer
Cahit Barkin Ozer

Written by Cahit Barkin Ozer

Üretken YZ başta olmak üzere teknoloji alanındaki yenilikleri öğrenip sizlerle paylaşıyorum. Youtube Kanalım: https://www.youtube.com/@cbarkinozer

No responses yet