Swin Transformer
Swin Transformer mimarisinin verimli bilgisayarlı görü için kaydırmalı pencereleri nasıl kullandığını keşfet ve Ultralytics Platformu üzerindeki iş akışlarını incele.
Microsoft araştırmacıları tarafından 2021 yılındaki çığır açan "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows" makalesinde tanıtılan bu derin öğrenme (DL) mimarisi, dikkat mekanizmasını yüksek çözünürlüklü görsel verilerin karmaşıklığını yönetmek için uyarlar. Metin belirteçlerini tek tip uzunlukta işleyen doğal dil işleme modellerinin aksine bu mimari, görsel öğelerin ölçek bakımından büyük farklılıklar gösterdiğini kabul eder. Hiyerarşik bir temsil oluşturarak ve benzersiz bir pencereleme tekniği kullanarak, 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 oldukça verimli bir temel yapı (backbone) haline getirir.
Link to this sectionKaydırılmış Pencereler ve Hiyerarşik Tasarım Nasıl Çalışır?#
Temel yenilik, modelin özellik çıkarımını nasıl yapılandırdığında yatar. İşe bir giriş görüntüsünü küçük, birbiriyle örtüşmeyen parçalara bölerek başlar. Ancak, önceki modellerin aksine, bu komşu parçaları daha derin katmanlarda giderek daha büyük bölgeler halinde birleştirir. Bu hiyerarşik yaklaşım, ağın minik görsel ayrıntılardan büyük nesnelere kadar çeşitli ölçeklerdeki küresel bağlamı temsil eden zengin özellik haritaları çıkarmasına olanak tanır.
Hesaplama verimliliğini korumak için, öz-dikkat (self-attention) tüm görüntü yerine yalnızca yerel, yalıtılmış pencereler içinde hesaplanır. Bilginin bu sınırlar arasında akışı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ı etkili bir şekilde birbirine bağlayarak küresel dikkatin getirdiği ağır hesaplama yükü olmadan kapsamlı çok ölçekli uzamsal hiyerarşiler sağlar.
Link to this sectionSwin Transformer ve Vision Transformer (ViT) Karşılaştırması#
Modern mimarileri karşılaştırırken, bu modeli standart Vision Transformer (ViT) modelinden ayırt etmek önemlidir. Orijinal ViT, görüntüleri sabit boyutlu parçalardan oluşan bir dizi olarak ele alır ve bunların tümünde aynı anda küresel dikkat hesaplar. Çok yüksek doğruluk sunmasına rağmen bu, karesel hesaplama karmaşıklığına yol açar; yani görüntü çözünürlüğü arttıkça işlem süresi ve bellek gereksinimleri hızla yükselir.
In contrast, the hierarchical and window-based design of the Swin architecture keeps complexity linear. This makes it far more practical for dense prediction tasks that require high-resolution inputs and outputs. Consequently, it achieves state-of-the-art results on benchmarks like the COCO test-dev dataset for multi-scale object detection and the ADE20K semantic segmentation dataset for precise image segmentation.
Link to this sectionModern Yapay Zekada Gerçek Dünya Uygulamaları#
Esnekliği ve verimliliği sayesinde, resmi Microsoft Research GitHub deposu uygulaması, karmaşık ve yüksek riskli endüstriler genelinde 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 anomalilerin tanımlanmasına 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ü Analizi: Çevresel izleme ve uzaktan algılama için geniş ölçekli coğrafi bağlamı yakalamak çok önemlidir. Hiyerarşik yapı, ormansızlaşmanın takibi, kentsel planlama ve ürün sağlığı izleme için devasa hava veri kümelerini verimli bir şekilde işler.
Link to this sectionPyTorch ve Ultralytics ile Entegrasyon#
Özel sinir ağları oluşturan geliştiriciler için bu mimariyi uygulamak, resmi PyTorch belgelerini kullanarak oldukça basittir. torchvision kitaplığı, 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ı temel yapılar mükemmel çok ölçekli temsil sunsa da, modern uygulamalar genellikle uç yapay zeka cihazları için tamamen uçtan uca optimizasyonlar gerektirir. Örneğin Ultralytics YOLO26, kutudan çıktığı gibi daha küçük, daha hızlı ve yüksek doğruluklu, gerçek zamanlı uç ortamlarda mükemmel performans gösteren yerel olarak uçtan uca bir mimari sunar. İster Transformer ağırlıklı mimariler ister hızlı evrişimli modeller kullanıyor ol, veri etiketlemeden eğitime kadar tüm iş akışını Ultralytics Platform aracılığıyla yönetebilirsin. Bu kapsamlı bulut araç zinciri, model dağıtımını ve sürekli model izlemeyi basit ve verimli hale getirir.






