Görüntü Dönüştürücü (ViT)
Bilgisayarlı görüde Vision Transformer'ların (ViT'ler) gücünü keşfedin. Global görüntü bağlamını yakalayarak CNN'lerden nasıl daha iyi performans gösterdiklerini öğrenin.
Görüntü İşleme (Vision) Transformer'ı (ViT), başlangıçta doğal dil işleme (NLP) için tasarlanan, oldukça başarılı Transformer modelini bilgisayarlı görü (CV) görevlerine uygulayan bir sinir ağı mimarisi türüdür. Google araştırmacıları tarafından "Bir Görüntü 16x16 Kelimeye Bedeldir" adlı makalede tanıtılan ViT'ler, baskın Evrişimli Sinir Ağı (CNN) mimarilerinden önemli bir sapmayı temsil etmektedir. Bir ViT, görüntüleri kayan filtrelerle işlemek yerine, bir görüntüyü bir dizi yama (patch) olarak ele alarak, self-attention mekanizması'nı kullanarak bir görüntünün farklı bölümleri arasındaki küresel ilişkileri yakalamasını sağlar.
Görüntü Transformatörleri Nasıl Çalışır
Bir ViT'nin ardındaki temel fikir, bir görüntüyü Transformer'ların metni işleme biçimine benzer bir şekilde işlemektir. Bu süreç birkaç temel adım içerir:
- Görüntü Yamalama: Girdi görüntüsü önce sabit boyutlu, örtüşmeyen yamalardan oluşan bir ızgaraya bölünür. Örneğin, 224x224 piksellik bir görüntü, her biri 16x16 piksel olan 196 yamaya bölünebilir.
- Yama Gömme (Patch Embedding): Her yama tek bir vektöre düzleştirilir. Bu vektörler daha sonra "yama gömmeleri" oluşturmak için daha düşük boyutlu bir alana yansıtılır. Uzamsal bilgileri korumak için her yama gömme işlemine öğrenilebilir bir "konumsal gömme" eklenir.
- Transformer Kodlayıcı: Bu gömme dizisi, standart bir Transformer kodlayıcıya beslenir. Model, self-attention katmanları aracılığıyla tüm yama çiftleri arasındaki ilişkileri öğrenir ve en başından itibaren tüm görüntüdeki küresel bağlamı yakalamasını sağlar.
- Sınıflandırma Katmanı: Görüntü sınıflandırması gibi görevler için, diziye ekstra öğrenilebilir bir gömme (gömme katmanı) (BERT'deki [CLS] belirtecine benzer) eklenir. Transformer'dan elde edilen ilgili çıktı, tahmini üretmek için son bir sınıflandırma katmanına aktarılır.
ViT'ler ve CNN'ler
ViT'ler ve CNN'ler bilgisayarlı görüde temel mimariler olmasına rağmen, yaklaşımları önemli ölçüde farklıdır:
- Tümevarımsal Yönlendirme: CNN'ler, evrişim ve havuzlama katmanları aracılığıyla yerellik ve öteleme eşdeğerliliği gibi güçlü tümevarımsal yönlendirmelere (veriler hakkındaki varsayımlara) sahiptir. ViT'ler çok daha zayıf tümevarımsal yönlendirmelere sahiptir, bu da onları daha esnek hale getirir, ancak aynı zamanda doğrudan verilerden kalıpları öğrenmeye daha bağımlı hale getirir.
- Veri Bağımlılığı: Daha zayıf ön yargıları nedeniyle, ViT'ler genellikle son teknoloji CNN'lerden daha iyi performans göstermek için büyük veri kümelerine (örneğin, ImageNet-21k) veya kapsamlı ön eğitime ihtiyaç duyar. Daha küçük veri kümeleriyle, CNN'ler genellikle daha iyi genelleme yapar. Bu nedenle transfer öğrenimi ViT'ler için kritik öneme sahiptir.
- Global - Yerel Bağlam: CNN'ler, yerel desenlerden global olanlara doğru hiyerarşik özellikler oluşturur. Buna karşılık, ViT'ler en erken katmanlardan itibaren yamalar arasındaki global etkileşimleri modelleyebilir ve bu da belirli görevler için daha geniş bir bağlamı daha etkili bir şekilde yakalayabilir.
- Hesaplama Maliyeti: ViT'leri eğitmek, genellikle önemli GPU kaynakları gerektiren, yoğun işlem gücü gerektirebilir. PyTorch ve TensorFlow gibi framework'ler, bu modelleri eğitmek için uygulamalar sağlar.
Uygulamalar ve Hibrit Modeller
ViT'ler, özellikle genel bağlamı anlamanın önemli olduğu çeşitli uygulamalarda olağanüstü bir performans göstermiştir.
- Tıbbi Görüntü Analizi: ViT'ler, MR veya histopatoloji görüntüleri gibi tıbbi taramaları analiz etmek için oldukça etkilidir. Örneğin, tümör tespitinde bir ViT, uzak dokular arasındaki ilişkileri belirleyebilir ve bu da tümörleri yalnızca yerel dokulara odaklanan modellere göre daha doğru bir şekilde sınıflandırmaya yardımcı olur.
- Autonomous Driving (Otonom Sürüş): Sürücüsüz arabalarda, ViT'ler nesne tespiti ve segmentasyonu için karmaşık sahneleri analiz edebilir. Tüm sahneyi küresel olarak işleyerek, araçlar, yayalar ve altyapı arasındaki etkileşimleri daha iyi anlayabilirler, bu da çeşitli otomotiv YZ çalışmalarında ayrıntılı olarak açıklanmıştır.
ViT'lerin başarısı, hibrit mimarilere de ilham verdi. RT-DETR gibi modeller, nesne ilişkilerini modellemek için Transformer tabanlı bir kodlayıcı-çözücü ile verimli özellik çıkarımı için bir CNN omurgasını birleştirir. Bu yaklaşım, her iki dünyanın da en iyisini elde etmeyi amaçlar: CNN'lerin verimliliği ve Transformer'ların küresel bağlam farkındalığı.
Birçok gerçek zamanlı uygulama için, özellikle kaynak kısıtlı uç cihazlarda, Ultralytics YOLO ailesi (örneğin, YOLOv8 ve YOLO11) gibi yüksek oranda optimize edilmiş CNN tabanlı modeller genellikle daha iyi bir hız ve doğruluk dengesi sağlar. Ödünleşimleri anlamak için RT-DETR ve YOLO11 arasındaki ayrıntılı karşılaştırmayı görebilirsiniz. Bir ViT ve bir CNN arasındaki seçim nihayetinde belirli göreve, mevcut verilere ve hesaplama bütçesine bağlıdır.