Swin Transformer
Swin Transformer mimarisinin verimli bilgisayarlı görü için kaydırılmış pencereleri nasıl kullandığını keşfet ve Ultralytics Platform'daki iş akışlarını incele.
Microsoft'taki araştırmacılar tarafından 2021'de yayımlanan dönüm noktası niteliğindeki "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows" makalesinde tanıtılan bu derin öğrenme (DL) mimarisi, yüksek çözünürlüklü görsel verilerin karmaşıklığını ele almak için dikkat mekanizmasını uyarlar. Sabit uzunluktaki metin belirteçlerini işleyen doğal dil işleme modellerinin aksine bu mimari, görsel öğelerin ölçeklerinin büyük ölçüde değiştiğini kabul eder. Hiyerarşik bir temsil oluşturarak ve benzersiz bir pencereleme tekniğinden yararlanarak görüntü boyutuna göre doğrusal hesaplama karmaşıklığı elde eder ve bu da onu çeşitli bilgisayarlı görü (CV) görevleri için son derece verimli bir omurga hâline getirir.
Kaydırılmış Pencereler ve Hiyerarşik Tasarım Nasıl Çalışır#
Temel yenilik, modelin özellik çıkarma işlemini yapılandırma biçiminde yatar. Model, giriş görüntüsünü küçük ve örtüşmeyen parçalara bölerek başlar. Ancak önceki modellerden farklı olarak, daha derin katmanlarda bu komşu parçaları aşamalı olarak daha büyük bölgelere birleştirir. Bu hiyerarşik yaklaşım, ağın küçük görsel ayrıntılardan büyük nesnelere kadar çeşitli ölçeklerde küresel bağlamı temsil eden zengin özellik haritaları çıkarmasına olanak tanır.
Hesaplama verimliliğini korumak için öz-dikkat, görüntünün tamamında değil, yalnızca yerel ve yalıtılmış pencerelerin içinde hesaplanır. Bilginin bu sınırlar arasında akmasını sağlamak için pencereler ardışık katmanlar arasında "kaydırılır". Bu kaydırılmış pencere şeması, bağımsız alanlar arasında etkili bir köprü kurarak küresel dikkatin beraberinde getirdiği yüksek hesaplama yükü olmadan kapsamlı çok ölçekli uzamsal hiyerarşiler sağlar.
Swin Transformer ve Görsel Transformer (ViT)#
Modern mimariler karşılaştırılırken bu modeli standart Görsel Transformer (ViT) modelinden ayırmak önemlidir. Orijinal ViT, görüntüleri sabit boyutlu parçalardan oluşan bir dizi olarak ele alır ve bunların tümü arasında aynı anda küresel dikkat hesaplar. Son derece doğru sonuçlar verse de bu durum, karesel hesaplama karmaşıklığı ile sonuçlanır; yani görüntü çözünürlüğü arttıkça işlem süresi ve bellek gereksinimleri hızla yükselir.
Buna karşılık Swin mimarisinin hiyerarşik ve pencere tabanlı tasarımı karmaşıklığı doğrusal tutar. Bu özellik, onu yüksek çözünürlüklü giriş ve çıkışlar gerektiren yoğun tahmin görevleri için çok daha pratik hâle getirir. Sonuç olarak model, çok ölçekli nesne algılama için COCO test-dev veri kümesi ve hassas görüntü segmentasyonu için ADE20K anlamsal segmentasyon veri kümesi gibi kıyaslamalarda en iyi sonuçları elde eder.
Modern Yapay Zekâda Gerçek Dünya Uygulamaları#
Esnekliği ve verimliliği sayesinde resmi Microsoft Research GitHub deposundaki uygulama, karmaşık ve kritik öneme sahip sektörlerde kullanılmak üzere uyarlanmıştır.
- Tıbbi Görüntü Analizi: Klinik ortamlarda Swin-Unet gibi ağlar, hacimsel 3D MRI taramaları ve yüksek çözünürlüklü histopatoloji analizi için bu mimariden yararlanır. Modelin yoğun uzamsal hiyerarşileri koruma yeteneği, erken evre tümörler gibi küçük anormalliklerin belirlenmesine yardımcı olur. Tıbbi görüntüleme araştırmalarındaki son gelişmeler hakkında daha fazla bilgi edinebilirsin.
- Uydu Görüntüsü Analizi: Çevresel izleme ve uzaktan algılama için geniş ölçekli coğrafi bağlamı yakalamak kritik öneme sahiptir. Hiyerarşik yapı, ormansızlaşma takibi, kentsel planlama ve mahsul sağlığının izlenmesi için devasa hava görüntüsü veri kümelerini verimli bir şekilde işler.
PyTorch ve Ultralytics ile Entegrasyon#
Özel sinir ağları oluşturan geliştiriciler için bu mimariyi resmi PyTorch belgelerini kullanarak uygulamak kolaydır. torchvision kütüphanesi, ImageNet üzerinde optimize edilmiş hafif Tiny varyantı gibi önceden eğitilmiş sürümleri içerir.
import torch
from torchvision.models import Swin_T_Weights, swin_t
# Load a pre-trained Tiny variant with ImageNet weights
weights = Swin_T_Weights.IMAGENET1K_V1
model = swin_t(weights=weights)
model.eval()
# Run a single batch containing a 3-channel, 224x224 dummy image tensor
dummy_image = torch.randn(1, 3, 224, 224)
output = model(dummy_image)
# The output shape is [1, 1000], representing the 1000 ImageNet classes
print(f"Prediction tensor shape: {output.shape}")Transformer tabanlı omurgalar mükemmel çok ölçekli temsiller sunsa da modern uygulamalar çoğu zaman uç AI cihazları için tamamen uçtan uca optimizasyonlar gerektirir. Örneğin Ultralytics YOLO26, kutudan çıktığı hâliyle daha küçük, daha hızlı ve son derece doğru, yerel olarak uçtan uca bir mimari sunar ve gerçek zamanlı uç ortamlarda üstün performans gösterir. İster Transformer ağırlıklı mimariler ister hızlı evrişimli modeller kullanıyor ol, geliştiriciler veri etiketlemeden eğitime kadar tüm iş akışlarını Ultralytics Platformu üzerinden yönetebilir. Bu kapsamlı bulut araç zinciri, model dağıtımını ve sürekli model izlemeyi basit ve verimli hâle getirir.









