Derin Artık Ağlarda Kimlik Haritalamaları
2016'da yayımlanmış “Identity Mappings in Deep Residual Networks” makalesinin Türkçe özetidir.
Basit Açıklama
Bilgisayarlar, görüntüleri tanımak gibi şeyler yapmaya çalıştığında (örneğin, bir kediyi bir köpekten ayırmak), sinir ağı adı verilen bir şeyi kullanırlar. Bu, bir nevi dijital bir beyindir ve birçok örnekle eğitilerek öğrenir. Ağ ne kadar derinse (yani ne kadar çok katmanı varsa), karmaşık şeyleri o kadar iyi anlayabilir. Ancak şöyle bir sorun var: Çok fazla katman eklerseniz, ağın iyi bir şekilde eğitilmesi zorlaşır. Bu da işleri daha verimsiz hale getirir ve kötü sonuçlara yol açar.
Artık Ağlar (ResNets) Nedir?
Bunu çözmek için, bu makalenin yazarları önceki bir makalede “Artık Ağlar” (ResNets: Residual Ağlar) adı verilen bir fikir ortaya attılar. Her katmanın tamamen yeni şeyler öğrenmeye çalışması yerine, ResNets, her katmanın sadece önceki katmanların zaten öğrendiklerine küçük bir değişiklik (veya artık) eklemesini sağlar. Bu, derin ağları eğitmeyi kolaylaştırır. Bağlantı atlama (Skip connection) adı verilen bir yöntem kullanılır, bu da her katmanın eğer gerekliyse bazı öğrenme adımlarını atlayabileceği anlamına gelir. Böylece, bir katmanın çok fazla değişikliğe ihtiyacı yoksa, bunu “atlayıp” bilgiyi doğrudan bir sonraki katmana iletebilir.
Bu Makale Ne Yapıyor?
Bu makalede, önceki fikirlerini daha da geliştirerek bağlantı atlama yöntemini daha basit hale getiriyorlar. Bu iyileştirme, “kimlik haritalama” (identity mapping) olarak adlandırılıyor. Kimlik haritalamada, “bağlantı atlama yöntemini karmaşık bir şekilde değiştirmek yerine, “Bilgiyi olduğu gibi, hiçbir şey değiştirmeden iletelim” diyorlar. Bu, katmanların birbirini etkilemediği, sadece yeni bir şey eklemeleri gerektiğinde müdahale ettikleri anlamına gelmektedir.
Bu Neden Önemli?
- Daha Derin Ağları Eğitmek Kolaylaşıyor: Bu basit kimlik haritalamalar kullanılarak, diğer derin ağların karşılaştığı sorunlar olmadan çok derin ağları (100 hatta 1000 katmanlı) eğitebilmiştir.
- Daha İyi Performans: Kimlik haritalamalarını kullanan ağlar, öncekilere göre daha iyi ve daha hızlı öğrenmiştir, bu da görüntü sınıflandırma gibi görevlerde daha iyi sonuçlar vermiştir.
Sonuç olarak, yöntemlerinin ünlü görüntü tanıma yarışmalarında (örneğin ImageNet) iyi çalıştığını gösterdiler. Ağları, kimlik haritalamalarının derin ağları çok daha etkili ve eğitimi kolay hale getirdiğini kanıtlayarak önceki modellerden daha iyi performans gösterdi.
Öz
Derin artık ağlar [1], son derece derin mimarilerin bir ailesi olarak ortaya çıkmış ve etkileyici doğruluk ve iyi bir yakınsama davranışı sergilemiştir. Bu makalede, artık yapı taşlarının arkasındaki yayılma formüllerini analiz ediyoruz. Bu formüller, kimlik eşlemeleri atlama bağlantıları olarak kullanıldığında ve toplama sonrası aktivasyon uygulandığında, ileri ve geri sinyallerin bir bloktan diğer herhangi bir bloğa doğrudan yayılabileceğini öne sürmektedir. Bir dizi ablasyon deneyi, bu kimlik eşlemelerinin önemini desteklemektedir. Bu, eğitim sürecini kolaylaştıran ve genelleştirmeyi iyileştiren yeni bir artık birim önermemize neden oluyor. CIFAR-10 (Kanada İleri Araştırma Enstitüsü Görüntü Veri Seti) üzerinde 1001 katmanlı ResNet (4.62% hata) ve CIFAR-100 ile ImageNet üzerinde 200 katmanlı ResNet kullanarak geliştirilmiş sonuçlar bildiriyoruz. Kod şu adreste mevcuttur: https://github.com/KaimingHe/resnet-1k-layers .
Giriş
Derin kalıntı ağları (ResNets) [1], birçok yığılmış “Kalıcı Birim”den oluşur. Her birim (Şekil 1 (a)) genel bir biçimde ifade edilebilir:
xl ve xl+1 sırasıyla l’inci birimin girdisi ve çıktısı olup, F bir artık fonksiyondur. [1]’de h(xl) = xl bir özdeşlik (identity) eşlemesi ve f ise bir ReLU [2] fonksiyonudur. 100'den fazla katmana sahip olan ResNet’ler, ImageNet [3] ve MS COCO [4] yarışmalarında çeşitli zorlu tanıma görevlerinde son teknoloji doğruluklar göstermiştir. ResNet’lerin merkezi fikri, h(xl)’ye ilişkin toplamsal artık fonksiyonu F’yi öğrenmektir ve burada kritik tercih, h(xl) = xl özdeşlik eşlemesini kullanmaktır. Bu, bir özdeşlik atlama bağlantısının (“kısayol”) eklenmesiyle gerçekleştirilir.
Bu makalede, artık ağları analiz ediyoruz ve bilgiyi yalnızca bir artık birim içinde değil, tüm ağ boyunca “doğrudan” aktarma yolu oluşturmayı merkeze alıyoruz. Türevlerimiz gösteriyor ki, hem h(xl) hem de f(yl) özdeşlik eşlemesi ise, sinyal hem ileri hem de geri geçişlerde bir birimden herhangi bir başka birime doğrudan aktarılabilir. Deneylerimiz, mimari yukarıdaki iki koşula daha yakın olduğunda eğitimin genel olarak daha kolay hale geldiğini ampirik olarak göstermektedir.
Atlama bağlantılarının rolünü anlamak için çeşitli h(xl) türlerini analiz ediyor ve karşılaştırıyoruz. [1]’de seçilen h(xl) = xl özdeşlik eşlemesinin, incelediğimiz tüm varyantlar arasında en hızlı hata azaltma ve en düşük eğitim kaybını sağladığını bulduk. Ölçekleme, geçit (gating) [5,6,7] ve 1x1 evrişimler gibi atlama bağlantıları ise daha yüksek eğitim kaybı ve hataya yol açmaktadır. Bu deneyler, temiz bir bilgi yolunun korunmasının (Şekil 1, 2 ve 4'teki gri oklarla gösterilmiştir) optimizasyonu kolaylaştırdığını önermektedir.
Bir özdeşlik haritalaması f(yl) = yl oluşturmak için, aktivasyon fonksiyonlarını (ReLU ve BN [8]) ağırlık katmanlarının ‘ön-aktivasyon’ süreci olarak ele alıyoruz, geleneksel ‘son-aktivasyon’ anlayışının aksine. Bu bakış açısı, (Şekil 1(b)’de gösterildiği gibi) yeni bir artık birim tasarımına yol açıyor. Bu birime dayalı olarak, 1001 katmanlı bir ResNet ile CIFAR-10/100 üzerinde rekabetçi sonuçlar sunuyoruz; bu model, orijinal ResNet [1]’den çok daha kolay eğitiliyor ve daha iyi genelleme yapıyor. Ayrıca, ResNet-200 kullanarak ImageNet üzerinde geliştirilmiş sonuçlar rapor ediyoruz; bu derinlikte [1]’in karşılığı aşırı öğrenmeye başlıyor. Bu sonuçlar, modern derin öğrenmenin başarısının anahtarı olan ağ derinliği boyutundan daha fazla faydalanılabileceğini gösteriyor.
Derin Artık Ağların Analizi (Analysis of Deep Residual Networks)
[1]’de geliştirilen ResNet’ler, aynı bağlantı şekline sahip yapı taşlarını istifleyen modülerleştirilmiş mimarilerdir. Bu makalede, bu bloklara “Artık Birimler” adını veriyoruz. [1]’deki orijinal Artık Birim, aşağıdaki hesaplamayı gerçekleştirir:
Burada xl, l’inci Artık Birim’in girdi özelliğidir. Wl = {Wl,k|1≤k≤K}, l’inci Artık Birim ile ilişkili ağırlıkların (ve önyargıların) bir kümesidir ve K, bir Artık Birim’deki katman sayısıdır (K, [1]’de 2 veya 3'tür). F, artık fonksiyonu belirtir, örneğin, [1]’de iki 3×3 evrişimli katmanın yığını. f fonksiyonu, eleman bazında toplamadan sonraki işlemdir ve [1]’de f, ReLU’dur. h fonksiyonu, bir kimlik eşlemesi olarak ayarlanır: h(xl) = xl .
Eğer f de bir kimlik eşlemesiyse: xl+1 ≡ yl , Denklem (2)’yi Denklem (1)’e koyabilir ve şunu elde edebiliriz:
Yinelemeli olarak (xl+2 = xl+1 + F(xl+1, Wl+1) = xl + F(xl , Wl) + F(xl+1, Wl+1), vb.) şunu elde ederiz:
Herhangi bir derin birim L ve daha sığ birim l için, Denklem (4) bazı güzel özellikler sergiler. (i) Herhangi bir derin birim L’nin özelliği xL, daha sığ birim l’nin özelliği xl olarak ve l’den L−1'e kadar olan F’nin bir artık fonksiyonu (∑^{L−1}_{i=l} F) biçiminde temsil edilebilir; bu da modelin herhangi bir L ve l birimleri arasında artık bir tarzda olduğunu gösterir. (ii) Herhangi bir derin birim L’nin özelliği xL = x0 + ∑^{L−1}_{i=0} F(xi, Wi), tüm önceki artık fonksiyonların çıktılarının toplamıdır (artı x0). Bu, “düz bir ağ”da, bir özellik xL’nin, Π^{L-1}_{i}=0 Wix0 şeklinde bir dizi matris-vektör çarpımı olduğu durumdan farklıdır (BN ve ReLU göz ardı edilmiştir).
Denklem (4), ayrıca geri yayılım için güzel özellikler sağlar. Kayıp fonksiyonu ℰ olarak belirtildiğinde, geri yayılımın zincir kuralından [9] şu sonucu elde ederiz:
Denklem (5), ∂E / ∂xl gradyanının iki toplamsal terime ayrılabileceğini göstermektedir: Birinci terim, herhangi bir ağırlık katmanını dikkate almadan doğrudan bilgi taşıyan ∂E / ∂xL terimi, ikinci terim ise ağırlık katmanları boyunca bilgi taşıyan ∂E / ∂xL (∂ / ∂xl ∑^{L−1}_{i=l} F) terimidir. ∂E / ∂xL toplamsal terimi, bilginin doğrudan daha sığ birim l’e geri iletilmesini sağlar. Denklem (5) ayrıca, genellikle (∂ / ∂xl ∑^{L−1}_{i=l} F) teriminin bir mini-batch’teki tüm örnekler için her zaman -1 olamayacağı göz önüne alındığında, ∂E / ∂xl gradyanının bir mini-batch için sıfırlanmasının pek olası olmadığını öne sürer. Bu da, ağırlıklar keyfi olarak küçük olsa bile, bir katmanın gradyanının kaybolmadığını ima eder.
Tartışmalar
Denklem (4) ve Denklem (5), sinyalin herhangi bir birimden başka bir birime, hem ileri hem de geri yönde doğrudan iletilebileceğini öne sürmektedir. Denklem (4)’ün temeli iki kimlik eşlemesidir: (i) kimlik atlama bağlantısı h(xl) = xl ve (ii) f’nin bir kimlik eşlemesi olduğu durumu.
Bu doğrudan iletilen bilgi akışları Şekil 1, 2 ve 4'teki gri oklarla gösterilmiştir. Yukarıdaki iki koşul, bu gri oklar hiçbir işlem (toplama dışında) içermediğinde ve dolayısıyla “temiz” olduğunda geçerlidir. Aşağıdaki iki bölümde, bu iki koşulun etkilerini ayrı ayrı inceleyeceğiz.
Kimlik Atlama Bağlantılarının Önemi Üzerine (On the Importance of Identity Skip Connections)
Kimlik kısayolunu kırmak için basit bir değişiklik olan h(xl) = λlxl’i ele alalım:
Burada λl modüle eden bir skalerdir (basitleştirmek için hala f’nin bir birim olduğunu varsayıyoruz). Bu formülasyonu yinelemeli olarak uyguladığımızda Denklem (4)’e benzer bir denklem elde ederiz: xL = (Π^{L−1}_{i=l} λi)xl + ∑^{L−1}_{i=l} ( Π^{L−1}_{j=i+1} λj )F(xi , Wi), veya basitçe:
Fˆ gösterimi skalerleri kalıntı fonksiyonlarına emer. Denklem (5)’e benzer şekilde, aşağıdaki biçimde geri yayılımımız vardır:
Denklem (5)’ten farklı olarak, Eqn.(8)’de birinci toplamsal terim Π^{L−1}_{i=l} λi faktörüyle modüle edilmiştir. Çok derin bir ağ için (L büyük olduğunda), eğer λi > 1 ise bu faktör üstel olarak büyük olabilir; eğer λi < 1 ise bu faktör üstel olarak küçük olabilir ve kaybolabilir. Bu durum, geri yayılan sinyalin kısa yoldan engellenmesine ve ağırlık katmanları üzerinden akmaya zorlanmasına neden olur, bu da deneylerle gösterdiğimiz üzere optimizasyon zorluklarına yol açar.
Yukarıdaki analizde, Eqn.(3)’teki orijinal kimlik atlama bağlantısı basit bir ölçeklendirme olan h(xl) = λlxl ile değiştirilmiştir. Eğer h(xl) atlama bağlantısı daha karmaşık dönüşümler (örneğin, geçitler ve 1×1 evrişimler) temsil ediyorsa, Eqn.(8)’de birinci terim Π^{L−1}_{i=l} h’i olur ve h’ h’nin türevidir. Bu çarpım da bilgi yayılımını engelleyebilir ve takip eden deneylerde görüldüğü üzere eğitim sürecine zarar verebilir.
3.1 Atlama Bağlantıları Üzerine Deneyler
110 katmanlı ResNet’i [1]’de sunulduğu şekilde CIFAR-10 [10] üzerinde deniyoruz. Bu son derece derin ResNet-110, 54 adet iki katmanlı Artık Birime (3×3 evrişim katmanlarından oluşan) sahiptir ve optimize edilmesi zordur. Uygulama detaylarımız (bkz. ek) [1] ile aynıdır. Bu makale boyunca, CIFAR üzerindeki her mimari için 5 çalışmanın medyan doğruluğunu rapor ediyoruz, böylece rastgele varyasyonların etkisini azaltıyoruz. Yukarıdaki analizimiz f kimlik fonksiyonu tarafından yönlendirilse de, bu bölümdeki deneyler f = ReLU’ye dayanmaktadır (bkz. [1]); kimlik f’yi bir sonraki bölümde ele alacağız. Temel ResNet-110 modelimiz test setinde %6.61 hata oranına sahiptir. Diğer varyantların karşılaştırmaları (Şekil 2 ve Tablo 1) şu şekilde özetlenmiştir: Sabit ölçeklendirme. Tüm kısa yollar için λ = 0.5 olarak ayarlandı (Şekil 2(b)). F’nin iki durumunu daha inceledik: (i) F ölçeklendirilmedi; veya (ii) F, sabit bir skaler olan 1−λ = 0.5 ile ölçeklendirildi, bu da donmuş kapılarla birlikte otoyol geçidi [6,7] ile benzerdir. İlk durum iyi bir şekilde yakınsama göstermez; ikincisi yakınsama gösterebilir, ancak test hatası (Tablo 1, %12.35) orijinal ResNet-110'dan önemli ölçüde yüksektir. Şekil 3(a), eğitim hatasının orijinal ResNet-110'dan daha yüksek olduğunu gösteriyor ve bu da kısayol (shortcut) sinyalinin küçültüldüğünde optimizasyonun zorlaştığını öneriyor.
Özel geçit mekanizması (exclusive gating). Bir geçit mekanizması [5] benimseyen Otoyol Ağlarını (Highway Networks) [6,7] takiben, g(x) = σ(Wg x + bg) şeklinde bir geçit fonksiyonu düşünüyoruz. Burada dönüşüm, ağırlıklar Wg ve sapmalar bg ile temsil etmektir ve sigmoid fonksiyonu σ(x) = 1 / (1 + e^−x) tarafından izlenir. Bir evrişimli ağda g(x), 1×1 evrişim katmanı tarafından gerçekleştirilir. Geçit fonksiyonu, sinyali eleman bazında çarpma ile modüle eder.
Biz, [6,7]’de kullanılan “özel” geçitleri araştırıyoruz — F yolu g(x) ile ölçeklendirilirken, kestirme yol 1−g(x) ile ölçeklendirilir. Şekil 2(c)’ye bakın. Sapmaların bg’nin başlatılmasının, geçitli modellerin eğitimi için kritik olduğunu buluyoruz ve [6,7]’deki yönergeleri takip ederek, bg’nin başlangıç değerinin 0 ile -10 aralığında bir azaltma adımı -1 olacak şekilde eğitim kümesinde çapraz doğrulama ile hiper-parametre araması yapıyoruz. En iyi değer (burada -6) daha sonra eğitim kümesinde eğitim için kullanılır ve 8.70% test sonucu elde edilir (Tablo 1), bu sonuç hala ResNet-110 temel performansının çok gerisindedir. Şekil 3(b), eğitim eğrilerini gösterir. Tablo 1, ayrıca diğer başlangıç değerlerini kullanarak elde edilen sonuçları rapor eder ve bg uygun şekilde başlatılmadığında özel geçitli ağın iyi bir çözüme ulaşmadığını belirtir.
Özel geçit mekanizmasının etkisi iki yönlüdür. 1 − g(x) değeri 1'e yaklaştığında, geçitli kestirme bağlantıları kimlik fonksiyonuna daha yakın olur ve bu bilgi aktarımını kolaylaştırır; ancak bu durumda g(x) 0'a yaklaşır ve F fonksiyonunu baskılar. Geçit fonksiyonlarının yalnızca kestirme yol üzerindeki etkilerini izole etmek için, bir sonraki adımda özel olmayan bir geçit mekanizmasını araştırıyoruz.
Sadece kestirme geçidi. Bu durumda, F fonksiyonu ölçeklendirilmez; yalnızca kestirme yolu 1−g(x) ile geçitlenir. Şekil 2(d)’ye bakınız. Bu durumda da bg’nin başlangıç değeri önemlidir. Başlangıçta bg 0 olarak ayarlandığında (yani başlangıçta 1 − g(x) beklentisi 0.5 olduğunda), ağ kötü bir sonuç olan %12.86'ya yakınsar (Tablo 1). Bu aynı zamanda daha yüksek eğitim hatasından kaynaklanır (Şekil 3(c)).
Başlangıçtaki bg çok negatif bir şekilde önyargılı olduğunda (örneğin, -6), 1−g(x) değeri 1'e daha yakın olur ve kısayol bağlantısı neredeyse bir kimlik eşlemesi olur. Bu nedenle, sonuç (Tablo 1'de %6,91), ResNet-110 temel değerine çok daha yakındır.
1×1 evrişimli kısayol. Ardından, kimliği değiştiren 1×1 evrişimli kısayol bağlantılarıyla denemeler yapıyoruz. Bu seçenek, [1]’de (C seçeneği olarak bilinir) 34 katmanlı ResNet (16 Artık Birim) üzerinde araştırılmıştır ve iyi sonuçlar göstermektedir, bu da 1×1 kısayol bağlantılarının faydalı olabileceğini düşündürmektedir. Ancak, çok sayıda Artık Birim olduğunda bunun böyle olmadığını buluyoruz. 110 katmanlı ResNet, 1×1 evrişimli kısayollar kullanıldığında daha kötü bir sonuç (%12,22, Tablo 1) verir. Yine, eğitim hatası daha yüksek olur (Şekil 3(d)). Bu kadar çok Artık Birim (ResNet-110 için 54) üst üste konduğunda, en kısa yol bile sinyal yayılımını engelleyebilir. 1×1 evrişimli kısayollar kullanıldığında ResNet-101 ile ImageNet üzerinde benzer fenomenlere tanık olduk.
Dropout kısayolu. Son olarak, dropout [11] (oranı 0,5) ile denemeler yapıyoruz ve bunu kimlik kısayolunun çıktısında (Şekil 2(f)) kullanıyoruz. Ağ, iyi bir çözüme yakınsamayı başaramıyor. Dropout, kısayol üzerinde 0,5 beklentisiyle λ ölçeğini istatistiksel olarak uygular ve sabit 0,5 ile ölçeklendirmeye benzer şekilde sinyal yayılımını engeller.
3.2 Tartışmalar
Şekil 2'de gri oklarla gösterildiği gibi, kısa yol bağlantıları bilginin iletilmesi için en doğrudan yollardır. Kısa yollarda yapılan çarpımsal işlemler (ölçekleme, geçit mekanizmaları, 1×1 evrişimler ve dropout) bilgi iletimini zorlaştırabilir ve optimizasyon sorunlarına yol açabilir. Geçit mekanizmaları ve 1×1 evrişim kısa yollarının daha fazla parametre içerdiği ve kimlik kısa yollarından daha güçlü temsili yeteneklere sahip olması gerektiği dikkate değerdir. Sadece kısa yol geçit mekanizmaları ve 1×1 evrişim, kimlik kısa yollarının çözüm alanını kapsar (yani, kimlik kısa yolları olarak optimize edilebilirler). Ancak, bu modellerin eğitim hatası kimlik kısa yollarından daha yüksektir ve bu da bozulmanın temsili yeteneklerden ziyade optimizasyon sorunlarından kaynaklandığını göstermektedir.
Aktivasyon Fonksiyonlarının Kullanımı Üzerine (On the Usage of Activation Functions)
Yukarıdaki bölümdeki deneyler, denklem (5) ve denklem (8)’deki analizi desteklemektedir; her ikisi de ekleme sonrası aktivasyon fonksiyonu f’nin özdeşlik fonksiyonu olduğu varsayımı altında türetilmiştir. Ancak yukarıdaki deneylerde, f [1]’de tasarlandığı gibi ReLU’dur, bu nedenle denklem (5) ve denklem (8) yukarıdaki deneylerde yaklaşık sonuçlar vermektedir. Sonraki adımda, f’nin etkisini inceleyeceğiz. f’yi bir özdeşlik fonksiyonu yapmak istiyoruz, bu da aktivasyon fonksiyonlarını (ReLU ve/veya BN) yeniden düzenleyerek yapılır. [1]’deki orijinal Artık Birim, Şekil 4(a)’da gösterildiği gibi bir şekle sahiptir — her bir ağırlık katmanından sonra BN kullanılır ve BN’den sonra ReLU uygulanır, ancak bir ABirimdeki son ReLU, eleman bazlı toplama işleminden sonra uygulanır (f = ReLU). Şekil 4(b-e), incelediğimiz alternatifleri göstermektedir ve bunlar şu şekilde açıklanmıştır.
4.1 Aktivasyon Deneyleri
Bu bölümde ResNet-110 ve 164 katmanlı Darboğaz (Bottleneck) [1] mimarisi (ResNet-164 olarak adlandırılan) ile deneyler yapıyoruz. Bir Darboğaz Artık Birimi, boyutu azaltmak için bir 1×1 katman, ardından bir 3×3 katman ve boyutu eski haline getirmek için bir 1×1 katman içerir. [1]’de tasarlandığı gibi, hesaplama karmaşıklığı iki 3×3 Artık Birimi ile benzerdir. Daha fazla ayrıntı eklerde verilmiştir. Temel ResNet-164, CIFAR-10 üzerinde 5.93%’lük rekabetçi bir sonuç elde etmiştir (Tablo 2). Toplamadan sonra BN. f’yi bir kimlik haritasına dönüştürmeden önce, tam tersi bir yol izleyerek toplamadan sonra BN’yi benimsiyoruz (Şekil 4(b)). Bu durumda, f BN ve ReLU içerir. Sonuçlar, temel modele göre önemli ölçüde daha kötü hale gelir (Tablo 2). Orijinal tasarımdan farklı olarak, BN katmanı artık kestirme yoldan geçen sinyali değiştirir ve bilgi yayılımını engeller; bu, eğitimin başında eğitim kaybını azaltmada yaşanan zorluklarla yansıtılmaktadır (Şekil 6, sol).
Toplamadan önce ReLU. f’yi bir kimlik haritasına dönüştürmenin basit bir yolu, ReLU’yu toplamadan önce taşımaktır (Şekil 4(c)). Ancak, bu durumda F dönüşümünden gelen çıktı negatif olmayan bir değer olur, oysa sezgisel olarak bir “artık” fonksiyonun (-∞, +∞) aralığında değerler alması beklenir. Sonuç olarak, ileri yönde yayılan sinyal monoton bir şekilde artar. Bu, temsil yeteneğini etkileyebilir ve sonuç, temel modelden daha kötü olur (7.84%, Tablo 2). Bir artık fonksiyonun (-∞, +∞) aralığında değerler almasını bekleriz. Bu durum, aşağıda açıklanan diğer Artık Birimler tarafından sağlanmaktadır. Aktivasyon sonrası mı yoksa aktivasyon öncesi mi? Orijinal tasarımda (Denklem (1) ve Denklem (2)), xl+1 = f(yl) aktivasyonu, bir sonraki Artık Birimde her iki yolu da etkiler: yl+1 = f(yl) + F(f(yl), Wl+1). Daha sonra asimetrik bir form geliştiriyoruz, burada bir ˆf aktivasyonu yalnızca F yolunu etkiler: yl+1 = yl + F( ˆf(yl), Wl+1), her l için (Şekil 5 (a) ve (b)). Notasyonları yeniden adlandırarak şu formu elde ediyoruz:
Denklem (9)’un Denklem (4)’e benzediğini ve Denklem (5)’e benzer bir geriye dönük formülasyona olanak sağlayabileceğini görmek kolaydır. Denklem (9)’daki gibi bu yeni Artık Birim için, yeni ekleme sonrası aktivasyon bir kimlik eşlemesi haline gelir. Bu tasarım, yeni bir ekleme sonrası aktivasyon ˆf’nin asimetrik olarak benimsenmesi durumunda, ˆf’nin bir sonraki Artık Birim’in ön aktivasyonu olarak yeniden düzenlenmesine eşdeğer olduğu anlamına gelir. Bu, Şekil 5'te gösterilmiştir.
Post-aktivasyon/pre-aktivasyon arasındaki ayrım, element bazlı toplamanın varlığından kaynaklanmaktadır. N katmanlı bir düz ağ için, N − 1 aktivasyon (BN/ReLU) vardır ve bunları post-aktivasyon veya pre-aktivasyon olarak düşünmemiz fark etmez. Ancak toplama ile birleştirilen dallı katmanlar için aktivasyonun konumu önemlidir.
İki tasarımı denedik: (i) Sadece ReLU pre-aktivasyonu (Şekil 4(d)) ve (ii) tam pre-aktivasyon (Şekil 4(e)) burada BN ve ReLU, ağırlık katmanlarından önce kullanılır. Tablo 2, sadece ReLU pre-aktivasyonunun ResNet-110/164 üzerinde temel model ile çok benzer performans gösterdiğini göstermektedir. Bu ReLU katmanı, BN katmanı ile birlikte kullanılmamaktadır ve BN’nin avantajlarından faydalanamayabilir [8].
Şaşırtıcı bir şekilde, hem BN (Batch Normalization) hem de ReLU, ön aktivasyon olarak kullanıldığında, sonuçlar önemli ölçüde iyileşmektedir (Tablo 2 ve Tablo 3). Tablo 3'te çeşitli mimariler kullanarak elde ettiğimiz sonuçları raporluyoruz: (i) ResNet-110, (ii) ResNet-164, (iii) her kısa yolun sadece 1 katman atlattığı (yani, artık biriminde yalnızca 1 katman bulunan) 110 katmanlı bir ResNet mimarisi, “ResNet-110(1layer)” olarak adlandırılmıştır ve (iv) her özellik haritası boyutunda 111 artık birimi bulunan 333 artık birimlik, 1001 katmanlı bir dar boğaz mimarisi, “ResNet-1001” olarak adlandırılmıştır. Ayrıca CIFAR100 üzerinde de deneyler yaptık. Tablo 3, “ön aktivasyon” modellerimizin, temel modellerden sürekli olarak daha iyi performans gösterdiğini ortaya koymaktadır. Bu sonuçları aşağıda analiz ediyoruz.
4.2 Analiz
Ön aktivasyonun etkisinin iki yönlü olduğunu bulduk. Birincisi, f bir kimlik haritalaması olduğundan, optimizasyon daha da kolaylaşmaktadır (temel ResNet ile karşılaştırıldığında). İkincisi, BN’nin ön aktivasyon olarak kullanılması, modellerin düzenliliğini artırmaktadır.
Optimizasyonun kolaylaştırılması. Bu etki, özellikle 1001 katmanlı ResNet’in eğitiminde belirginleşmektedir. Şekil 1'de eğriler gösterilmiştir. [1]’deki orijinal tasarım kullanıldığında, eğitim hatası, eğitimin başında çok yavaş azalmaktadır. f = ReLU olduğunda, sinyal negatifse etkilenir ve birçok artık birim olduğunda bu etki belirginleşir; bu durumda Denklem (3) (ve dolayısıyla Denklem (5)) iyi bir yaklaşım olmaz. Öte yandan, f bir kimlik haritalaması olduğunda, sinyal herhangi iki birim arasında doğrudan iletilebilir. 1001 katmanlı ağımız, eğitim hatasını çok hızlı bir şekilde azaltmaktadır (Şekil 1). Ayrıca, incelediğimiz tüm modeller arasında en düşük hatayı elde ederek optimizasyonun başarısını göstermektedir. Ayrıca, f = ReLU’nun etkisinin, ResNet’in daha az katmana sahip olduğu durumlarda (örneğin, Şekil 6(sağda) gösterilen 164 katmanlı modelde) o kadar ciddi olmadığını fark ettik. Eğitim eğrisi başlangıçta biraz sıkıntı yaşasa da kısa süre sonra sağlıklı bir duruma geçmektedir. Tepkileri izleyerek, bu durumun, eğitimin ardından ağırlıkların öyle bir duruma ayarlandığını gözlemledik ki, Denklem (1)’deki yly^lyl daha sık pozitif olmaktadır ve f bunu kesmemektedir (önceki ReLU nedeniyle xlx^lxl her zaman pozitif olduğu için yl, yalnızca F’nin büyüklüğü çok negatif olduğunda sıfırın altına düşer). Ancak, 1000 katman olduğunda bu kesilme daha sık görülmektedir.
Aşırı uydurmayı (overfitting) azaltma. Önerilen ön aktivasyon biriminin bir diğer etkisi, düzenlileştirme üzerindedir; bu, Şekil 6'da (sağda) gösterilmiştir. Ön aktivasyon versiyonu, yakınsama sırasında biraz daha yüksek eğitim hatasına ulaşmakta ancak daha düşük test hatası üretmektedir. Bu fenomen, hem CIFAR-10 hem de CIFAR-100 üzerinde ResNet-110, ResNet-110(1-layer) ve ResNet-164 modellerinde gözlemlenmiştir. Bu muhtemelen BN’nin düzenlileştirme etkisinden kaynaklanmaktadır [8]. Orijinal Artık Birimde (Şekil 4(a)), BN sinyali normalleştirmesine rağmen, bu sinyal kısa yola eklenmekte ve dolayısıyla birleştirilen sinyal normalleştirilmemektedir. Bu normalleştirilmemiş sinyal, bir sonraki ağırlık katmanına girdi olarak kullanılmaktadır. Buna karşın, bizim ön aktivasyon versiyonumuzda, tüm ağırlık katmanlarının girdileri normalleştirilmiştir.
Bulgular
CIFAR-10/100'deki karşılaştırmalar. Tablo 4, rekabetçi sonuçlar elde ettiğimiz CIFAR-10/100'deki en son yöntemleri karşılaştırır. Ağ genişliğini veya filtre boyutlarını özel olarak uyarlamadığımızı veya bu küçük veri kümeleri için çok etkili olan düzenleme tekniklerini (örneğin, bırakma) kullanmadığımızı belirtiyoruz. Bu sonuçları basit ama temel bir kavramla elde ediyoruz: daha derine inmek. Bu sonuçlar, derinlik sınırlarını zorlamanın potansiyelini göstermektedir.
ImageNet karşılaştırmaları. Sonraki adımda, 1000 sınıflı ImageNet veri kümesi [3] üzerindeki deneysel sonuçları rapor ediyoruz. Şekil 2 ve 3'te incelenen skip bağlantılarını kullanarak ResNet-101 [1] ile ImageNet üzerinde ön deneyler yaptık ve benzer optimizasyon zorlukları gözlemledik. Bu kimlik olmayan kısa yol ağlarının eğitim hatası, ilk öğrenme oranında orijinal ResNet’e göre daha yüksektir (Şekil 3'e benzer) ve sınırlı kaynaklar nedeniyle eğitimi durdurmaya karar verdik. Ancak, ResNet-101'in ImageNet üzerindeki “toplamadan sonra BN” (Şekil 4(b)) versiyonunu tamamladık ve daha yüksek eğitim kaybı ve doğrulama hatası gözlemledik. Bu modelin tek kırpma (224×224) doğrulama hatası %24.6/%7.5, orijinal ResNet-101'in ise %23.6/%7.1'dir. Bu sonuç, Şekil 6'da (sol) CIFAR üzerindeki sonuçlarla uyumludur.
Tablo 5, sıfırdan eğitilen ResNet-152 [1] ve ResNet-2003'ün sonuçlarını göstermektedir. Orijinal ResNet makalesinin [1] modelleri, daha kısa kenar s ∈ [256, 480] ile ölçek titremesi kullanılarak eğittiğini fark ettik, bu yüzden 224×224 kırpma testinin s = 256 üzerinde yapılması (tıpkı [1]’deki gibi) olumsuz bir yanlılık içerir. Bunun yerine, tüm orijinal ve bizim ResNet’ler için s = 320'den tek bir 320×320 kırpma testi yapıyoruz. ResNet’ler daha küçük kırpmalarla eğitilmiş olsalar da, tamamen evrişimsel tasarımları sayesinde kolayca daha büyük kırpmalarla test edilebilirler. Bu boyut ayrıca, Inception v3 [19] tarafından kullanılan 299×299 boyutuna da yakın olup, daha adil bir karşılaştırma sağlar.
Orijinal ResNet-152 [1], 320×320 kırpma üzerinde %21.3'lük bir top-1 hata oranına sahipken, bizim ön-aktivasyon karşılığımız %21.1'dir. ResNet-152 üzerinde kazanç büyük değil çünkü bu modelde ciddi genelleme zorlukları gözlemlenmemiştir. Ancak, orijinal ResNet-200 %21.8'lik bir hata oranına sahip olup, temel ResNet-152'den daha yüksektir. Ancak, orijinal ResNet-200'ün, ResNet-152'den daha düşük bir eğitim hatasına sahip olduğunu ve aşırı öğrenmeden muzdarip olduğunu bulduk. Bizim ön-aktivasyonlu ResNet-200 modelimiz %20.7'lik bir hata oranına sahip olup, bu oran temel ResNet-200'den %1.1 daha düşüktür ve ayrıca iki versiyon ResNet-152'den de daha düşüktür. [20,19]’daki ölçek ve en-boy oranı artırmasını kullandığımızda, ResNet-200'ümüz Inception v3'ten [19] daha iyi bir sonuç vermektedir (Tablo 5). Bizim çalışmamızla eşzamanlı olarak, bir Inception-ResNet-v2 modeli [21] %19.9/%4.9'luk tek kırpma sonucu elde etmiştir. Gözlemlerimizin ve önerilen Residual Unit’in bu tür ve genel olarak diğer türdeki ResNet’lere yardımcı olacağını umuyoruz.
Hesaplama Maliyeti. Modellerimizin hesaplama karmaşıklığı derinlik ile doğrusaldır (yani 1001 katmanlı bir ağ, 100 katmanlı bir ağın yaklaşık 10 katı karmaşıktır). CIFAR üzerinde, ResNet-1001'in eğitimi 2 GPU ile yaklaşık 27 saat sürmektedir; ImageNet üzerinde ise ResNet-200'ün eğitimi 8 GPU ile yaklaşık 3 hafta sürmektedir (VGG ağları ile [22] benzer).
Sonuç
Bu makale, derin artık ağların (deep residual networks) bağlantı mekanizmalarının ardındaki yayılım (propagation) formülasyonlarını incelemektedir. Çıkarımlarımız, kimlik kısayol bağlantılarının (identity shortcut connections) ve toplama sonrası kimlik aktivasyonunun (identity after-addition activation) bilgi yayılımını düzgün hale getirmek için gerekli olduğunu göstermektedir. Ablasyon deneyleri, çıkarımlarımızla tutarlı olan fenomenleri ortaya koymaktadır. Ayrıca, kolayca eğitilebilen ve geliştirilmiş doğruluk sağlayan 1000 katmanlı derin ağlar sunuyoruz.
Ek: Uygulama Ayrıntıları
Uygulama detayları ve hiperparametreler [1]’deki ile aynıdır. CIFAR üzerinde yalnızca [1]’de belirtilen çevirme ve döndürme artırmalarını eğitim için kullanıyoruz. Öğrenme hızı 0.1'den başlar ve 32k ve 48k iterasyonlarında 10 kat azaltılır. [1]’i takip ederek, tüm CIFAR deneyleri için eğitimi 400 iterasyon boyunca başlangıçta daha küçük bir öğrenme hızı olan 0.01 ile başlatıyoruz ve ardından 0.1'e geri dönüyoruz, ancak önerdiğimiz Residual Unit için bunun gerekli olmadığını belirtiyoruz. Mini-batch boyutu 2 GPU üzerinde 128'dir (her biri için 64), weight decay 0.0001, momentum 0.9 ve ağırlıklar [23]’teki gibi başlatılmaktadır.
ImageNet’te, modelleri [1]’deki ile aynı veri artırımı ile eğitiyoruz. Öğrenme hızı 0.1'den başlar (ısındırma yoktur) ve 30 ve 60 epoch’ta 10 kat azaltılır. Mini-batch boyutu 8 GPU üzerinde 256'dır (her biri için 32). Weight decay, momentum ve ağırlık başlatma yukarıdaki ile aynıdır.
Bottleneck Residual Units (CIFAR üzerindeki ResNet-164/1001 için) [1]’e göre inşa edilmiştir. Örneğin, ResNet-110’daki [[3x3, 16], [3x3, 16]] birimi, ResNet-164’teki [[1x1, 16], [3x3, 16], [1x1, 64]] birimi ile değiştirilmiştir ve her ikisi de yaklaşık olarak aynı parametre sayısına sahiptir. Bottleneck ResNet’ler için, özellik haritası boyutunu küçültürken, boyutları artırmak için projeksiyon kısayolları [1] kullanıyoruz ve eğer preaktivasyon kullanılıyorsa, bu projeksiyon kısayolları da preaktivasyon ile birlikte uygulanmaktadır.
Kaynaklar
[1] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, (16 March 2016), Identity Mappings in Deep Residual Networks: