Residual Networks (ResNet)
Artık ağ (ResNet), çok derin ağların eğitilebilmesi için her bloğun girdisini bir atlama bağlantısı üzerinden çıktısına ekler. Bloklar, çeşitleri ve kod örneği.
Artık ağ (ResNet), artık bloklardan oluşan derin bir evrişimli sinir ağıdır (CNN). Bu bloklarda bir kısa yol bağlantısı, her bloğun girdisini çıktısına ekler. Böylece her blok yalnızca girdisine bir düzeltme öğrenir ve 50, 152 ya da 1.000'den fazla katmanlı ağlar güvenilir biçimde eğitilebilir. Microsoft Research'ten Kaiming He, Xiangyu Zhang, Shaoqing Ren ve Jian Sun, ResNet'i 2015 tarihli Görüntü Tanıma için Derin Artık Öğrenme makalesinde tanıttı. Artık ağlardan oluşan bir topluluk, ImageNet üzerindeki ILSVRC 2015 sınıflandırma görevini %3,57 ilk-5 hatasıyla kazandı. Artık bağlantılar o zamandan beri Transformer modelleri ve gerçek zamanlı nesne algılayıcıları dâhil çoğu derin mimarinin standart bir parçası hâline geldi.
Bozulma Problemi#
ResNet'ten önce, düz bir evrişim yığınına katman eklemek sonunda sonuçları kötüleştiriyordu. ResNet yazarları, 56 katmanlı düz bir ağın eğitim hatasının 20 katmanlı olandan yüksek olduğunu gösterdi; dolayısıyla düşüşü aşırı öğrenme açıklayamazdı. Daha derin ağ, fazladan katmanlarını özdeşlik işlevine ayarlayarak sığ olanla eşleşebilirdi; ancak gradyan inişi bu çözümü bulamadı. Yazarlar buna bozulma problemi adını verdi. Kaybolan gradyan problemi, normalleştirilmiş ağırlık başlatma ve parti normalleştirme sayesinde büyük ölçüde çözülmüştü; bu nedenle derin düz ağlar yakınsıyordu, ancak daha kötü çözümlere.
Artık Bloklar Nasıl Çalışır#
Artık blok, y = F(x) + x değerini hesaplar; burada x bloğun girdisi, F ise genellikle parti normalleştirme ve ReLU içeren iki ya da üç evrişimden oluşan küçük bir katman yığınıdır. Blok için en iyi eşleme bir özdeşlik eşlemesine yakınsa katmanların yalnızca F'yi sıfıra yaklaştırması gerekir; bu, özdeşliği sıfırdan öğrenmekten çok daha kolaydır. Kısa yol ayrıca gradyanlara her bloktan geriye doğru doğrudan bir yol sağlar. Özdeşlik kısa yolları parametre eklemez ve neredeyse hiç hesaplama gerektirmez. Bir blok kanal sayısını değiştirdiğinde veya 2 adım boyutuyla alt örnekleme yaptığında x artık F(x) ile aynı şekle sahip olmaz; bu durumda 1×1 evrişim, kısa yolu yeni şekle yansıtır.
ResNet-18 ve ResNet-34, bu temel iki evrişimli bloktan oluşur. ResNet-50, ResNet-101 ve ResNet-152 üç evrişimli bir darboğaz blok kullanır: 1×1 evrişim kanal sayısını azaltır, 3×3 evrişim bu kanalları işler ve ikinci bir 1×1 evrişim kanalları eski hâline getirir; bu da derin modellerin maliyetini makul düzeyde tutar. ResNet-50 yaklaşık 25,6 milyon parametreye sahiptir. Orijinal makalede ayrıca CIFAR-10 üzerinde 1.202 katmanlı bir ağ, %0,1'in altında eğitim hatasına ulaşana kadar eğitildi; ancak %7,93 test hatası, 110 katmanlı ağın %6,43'lük test hatasından kötüydü. Yazarlar bu farkı küçük veri kümesindeki aşırı öğrenmeye bağladı.
ResNet Çeşitleri#
- Ön etkinleştirmeli ResNet: Aynı yazarların 2016'da yayımladığı devam çalışmasında parti normalleştirme ve ReLU her evrişimden önceye taşındı, kısa yol saf bir özdeşlik olarak bırakıldı ve CIFAR-10 üzerinde 1.001 katmanlı bir ağ eğitildi.
- ResNeXt: Her darboğazı kardinalite adı verilen çok sayıda paralel, dar yola böler; bu sayede aynı hesaplama maliyetiyle doğruluğu artırır.
- Geniş ResNet: Daha az sayıda, daha geniş blok kullanarak genişliğin derinliğin bir kısmının yerini alabileceğini gösterir.
- Modernleştirilmiş ResNet'ler: ConvNeXt (2022), görüntü Transformer modelleriyle rekabet etmek için ResNet tasarımını daha büyük çekirdekler, katman normalleştirme ve GELU aktivasyonlarıyla güncelledi.
Önceden Eğitilmiş ResNet Kullanımı#
Önceden eğitilmiş ResNet'ler, aktarılabilir öğrenme için yaygın temel modeller ve omurgalar olmaya devam ediyor. torchvision ResNet modelleri, ImageNet ağırlıkları ve bunlara uygun ön işleme adımlarıyla birlikte gelir; böylece bir görüntüyü sınıflandırmak birkaç satır sürer:
import urllib.request
import torch
from torchvision.io import decode_image
from torchvision.models import ResNet50_Weights, resnet50
# Load ResNet-50 with ImageNet weights and its matching preprocessing
weights = ResNet50_Weights.DEFAULT
model = resnet50(weights=weights).eval()
preprocess = weights.transforms()
# Download and decode a sample image
data = urllib.request.urlopen("https://ultralytics.com/images/bus.jpg").read()
image = decode_image(torch.frombuffer(bytearray(data), dtype=torch.uint8))
# Classify the image and report the most likely ImageNet class
with torch.no_grad():
probs = model(preprocess(image).unsqueeze(0)).softmax(dim=1)
score, index = probs.max(dim=1)
print(f"{weights.meta['categories'][index.item()]}: {score.item():.2f}")Fotoğraftaki şehir otobüsüne en yakın ImageNet sınıfı olan minibus: 0.25 değerini yazdırır. Özel bir görev için son tam bağlantılı katmanı değiştirmek ve yeni etiketlerle ince ayar yapmak, artık katmanların ImageNet üzerinde öğrendiği özellikleri yeniden kullanır.
ResNet ve İlgili Mimariler#
- VGG gibi düz ağlar: VGG, kısa yol kullanmadan 3×3 evrişimleri üst üste dizer ve en fazla 19 ağırlık katmanına ulaşır. ResNet-152, VGG-19'dan sekiz kat daha derindir ve daha az karmaşıktır.
- Highway ağları: ResNet ile aynı dönemde geliştirilen bu ağlar, kısa yolu kapatabilen öğrenilmiş geçitler ekler. ResNet'in özdeşlik kısa yolları hiçbir zaman kapanmaz ve parametre eklemez.
- DenseNet: Tek bir kısa yolu toplamak yerine bir bloktaki tüm önceki katmanların çıktılarını birleştirir; bu, kanal sayılarının artması pahasına özellikleri yeniden kullanır.
- U-Net: Atlama bağlantıları, kodlayıcı özellik haritalarını kod çözücüye taşır ve orada birleştirir; tek tek blokları çevrelemek yerine uzak aşamaları birbirine bağlar.
- Görüntü Transformer'ları (ViT): Evrişimleri öz dikkatle değiştirir, ancak her Transformer'da olduğu gibi her dikkat ve ileri beslemeli alt katmanın çevresindeki artık bağlantıları korur.
Modern Modellerde Artık Bağlantılar#
Artık bağlantı fikri, belirli ResNet mimarilerinden daha uzun ömürlü oldu. Bir büyük dil modelinin (LLM) her katmanı, dikkat ve ileri beslemeli çıktıları, devam eden artık akışa ekler; çoğu CNN algılayıcı da omurgasını artık bloklardan oluşturur. YOLO26 içindeki C3k2 blokları, girdi ve çıktı kanalları eşleştiğinde x + F(x) döndüren darboğaz modüllerinden oluşur. Ultralytics paketi, Baidu'nun ResNet-50 ve ResNet-101 omurgalı RT-DETR yapılandırmalarını da içerir. ResNet makalesi CVPR 2016 En İyi Makale Ödülü'nü kazandı ve 2025'te yayımlanan bir Nature analizi, makaleyi yirmi birinci yüzyılın en çok atıf alan çalışması olarak sıraladı.










