Tüm yazılar
Matematik19 Mayıs 2025

ResNet: Derin Ağları Eğitebilen "Residual" Fikri

2015'te Microsoft'tan çıkan ve 152 katmanlı sinir ağlarının eğitilmesini mümkün kılan sade ama derin fikir.

Matematik Karavanı 7 dk okuma 5 soru
Tünel — residual connection'ın "atlama bağlantısı" metaforu

Derinleştikçe kötüleşmek

2014'e kadar bir gözlem vardı: derin sinir ağları eklenen her katmanla daha iyi performans verir. 20 katman > 10 katman. Mantıklı.

2014 sonunda bir tuhaflık çıktı: 30 katmandan sonra performans düşmeye başladı. 56 katmanlı ResNet öncesi modeller 20 katmanlıdan daha kötü sonuç veriyordu.

İlginç olan: overfitting değildi (test ve eğitim hatası beraber yüksek). Sorun eğitim süreciydi. Derin ağlar öğrenemiyordu.

Vanishing gradient ve daha fazlası

Klasik açıklama: vanishing gradient. Derin ağlarda gradyan geriye akarken küçülerek kaybolur. ReLU bunu kısmen çözmüştü. Batch normalization da. Ama yine de 30+ katman zor.

He Kaiming ve ark. (Microsoft Research Beijing) 2015'te radikal bir teklif yaptı:

"Eğer derin ağ öğrenemiyorsa, ona kestirme bir yol göster. Her bloka identity (özdeş) bağlantı ekle."

Residual blok

Standart blok: H(x)=F(x)H(x) = F(x). ResNet bloğu:

H(x)=F(x)+xH(x) = F(x) + x

Yani: katman bloğunun çıktısı, dönüştürülmüş giriş + orijinal giriş. Bu skip connection ya da residual connection denir.

Görsel olarak: girişi sağa atla, bloğun çıkışıyla topla. "Tünelin altından bir alternatif yol".

Matematiksel anlam

Klasik blok F(x)=H(x)F(x) = H(x)'i öğrenmeye çalışır. Residual blok F(x)=H(x)xF(x) = H(x) - x'i öğrenir — yani farkı (residual).

Bu küçük gibi görünen fark çok önemli. Eğer doğru çıkış H(x)xH(x) \approx x ise (yani giriş zaten iyi), klasik blok zor öğrenir. Residual blok için F(x)0F(x) \approx 0 olur — kolay.

Kısacası: ResNet "bu katman zaten iyi olabilir, gerek yoksa hiçbir şey yapma" diyebilir. Identity öğrenmek kolay, klasik mimarilerde zordu.

Gradient akışı

Geri yayılım sırasında gradient şu şekilde akar:

Lx=LH(Fx+1)\frac{\partial L}{\partial x} = \frac{\partial L}{\partial H} \cdot \left( \frac{\partial F}{\partial x} + 1 \right)

Buradaki +1 kritik. Skip connection sayesinde gradient her zaman doğrudan akabilir. Vanishing gradient sorunu büyük ölçüde çözüldü.

Etki — anında devrim

ResNet 2015'te ImageNet yarışmasında %3.57 hata aldı. İnsan seviyesinin (%5) altında. Birkaç yıllık çabanın sonucu.

Daha önemlisi: 152 katman kullandı. ResNet öncesi 30 katman zor. ResNet ile 152, sonra 1000+ katman mümkün.

ResNet makalesi (He ve ark., 2015) bilgisayar bilimi tarihinin en çok atıf alan makalelerinden biri: 200.000+ atıf.

Mimarinin yayılması

Residual connection fikri bir CV tekniği değil, bütün modern AI'ın temel taşı oldu:

  • CNN'ler: ResNet, DenseNet, EfficientNet.
  • Transformer: Her attention bloğunda residual connection. Transformer ResNet olmadan mümkün değildi.
  • VAE, GAN: Encoder ve decoder'da residual.
  • Diffusion model: U-Net mimarisinde residual.
  • Tüm modern büyük modeller: Hep var.

Yani: 2017'deki transformer makalesinde "Add & Norm" katmanı — bu skip connection. ResNet'in mirası.

DenseNet — uzantı

ResNet'in geliştirilmiş versiyonu: DenseNet (2016). Her katmanı tüm önceki katmanlara bağlar. Daha agresif gradient akışı.

ImageNet performansı biraz daha iyi ama hesap pahalı. ResNet endüstri standartı oldu, DenseNet niş.

"Pre-activation" varyantı (2016)

He Kaiming bir yıl sonra Identity Mappings in Deep Residual Networks ile geliştirme yaptı: ReLU'yu skip connection'ın dışına koy. 1000+ katmanlı ResNet mümkün oldu.

Bu pre-activation ResNet modern transformer'ın da temeli. GPT-2 ve sonrası "pre-norm" yapısı buradan.

He init — yan keşif

ResNet makalesinden önce He Kaiming, He initialization'ı önermişti (2015):

WN(0,2/n)W \sim \mathcal{N}(0, \sqrt{2/n})

Klasik Xavier init'in ReLU için uyarlanmış versiyonu. Modern derin ağlar He init kullanır.

Klasik benzetme

Bir kargo taşıma sistemi düşün. Klasik mimari: Her istasyon, kargoyu tamamen işler, yeni paket olarak gönderir. Eğer istasyon hata yaparsa, kargo kaybolur.

Residual mimari: Her istasyon kargo + işleme sonucu birlikte gönderir. Eğer istasyon kötü çalışırsa, en azından orijinal kargo elimde — kötü bir şeyle çarpmadım.

ResNet, sinir ağında bu güvenliği sağlar.

Sade ders

ResNet hikâyesinden iki şey:

  1. Mimaride küçük değişiklik büyük etki yapabilir. Residual connection bir satırlık değişiklik. Derin öğrenmenin tamamını değiştirdi.
  2. Engelleri çözmek için engelleri anlamak gerek. He Kaiming "neden derin ağlar öğrenemiyor" sorusunu sordu, identity öğrenmenin zor olduğunu fark etti. Sorun teşhisi çözümün yarısıdır.

Bağlam

Batch Normalization için: [[batch-normalization-derin-aglarin-sessiz-katalizoru]]. Transformer'da residual: [[transformer-attention-is-all-you-need]]. Modern norm yöntemleri için: [[rmsnorm-layernorm-un-daha-hizli-kardeshi]]. Diffusion U-Net için: [[diffusion-modelleri-gurultu-ile-resim-yapmanin-sasirtici-yolu]].

Etiketler

ResNetresidual connectionderin öğrenmeCNNHe Kaiming

Kendinizi Test Edin

Cevaplarınız profilinizde istatistik olarak saklanır.

1. ResNet'in temel fikri nedir?

2. Niye işe yarar?

3. ResNet ImageNet'te ne yaptı?

4. Residual fikri başka nerede kullanılır?

5. Pre-activation ResNet ne yapar?