Vision Transformer (ViT)
Vision Transformer'ların (ViT) gücünü keşfet. Öz-ilgi (self-attention) ve yama belirteçleştirmenin (patch tokenization) Ultralytics ile CNN'lerin ötesinde bilgisayarlı görüyü nasıl dönüştürdüğünü öğren.
Bir Vision Transformer (ViT), görsel görevleri çözmek için orijinal olarak Natural Language Processing (NLP) için tasarlanmış öz-dikkat mekanizmalarını uyarlayan derin öğrenme mimarisidir. Görüntüleri yerel piksel ızgaralarının bir hiyerarşisi aracılığıyla işleyen geleneksel bir Convolutional Neural Network (CNN)'nin aksine ViT, bir görüntüyü ayrık yamalardan oluşan bir dizi olarak ele alır. Bu yaklaşım, saf transformer mimarilerinin evrişim katmanlarına güvenmeden computer vision (CV) alanında son teknoloji performansa ulaşabileceğini gösteren çığır açıcı "An Image is Worth 16x16 Words" araştırma makalesiyle popülerleşti. ViT'ler, küresel dikkati kaldırarak ilk katmandan itibaren tüm bir görüntü boyunca uzun menzilli bağımlılıkları yakalayabilir.
Vision Transformer'lar Nasıl Çalışır?#
ViT'nin temel yeniliği, girdi verilerini yapılandırma biçimidir. Bir görüntüyü standart bir Transformer ile uyumlu hale getirmek için model, görsel bilgileri tıpkı bir dil modelinin bir kelime cümlesini işlemesini taklit ederek bir vektör dizisine ayırır.
-
Yama Tokenizasyonu: Girdi görüntüsü, tipik olarak 16x16 piksel boyutunda sabit boyutlu karelerden oluşan bir ızgaraya bölünür. Her kare bir vektöre düzleştirilir ve etkili bir şekilde görsel bir token haline gelir.
-
Doğrusal İzdüşüm: Bu düzleştirilmiş yamalar, yoğun embeddings oluşturmak için eğitilebilir doğrusal bir katmandan geçirilir. Bu adım, ham piksel değerlerini modelin işleyebileceği yüksek boyutlu bir uzaya eşler.
-
Konumsal Kodlama: Mimari dizileri paralel olarak işlediği ve sıra veya mekana dair doğuştan gelen bir anlayıştan yoksun olduğu için, yama gömmelerine öğrenilebilir positional encodings eklenir. Bu, modelin orijinal görüntüde her bir yamanın nereye ait olduğu hakkındaki konumsal bilgileri korumasını sağlar.
-
Öz-Dikkat Mekanizması: Dizi, her bir yamanın diğer tüm yamalarla aynı anda etkileşime girmesini sağlayan self-attention özelliğinin bulunduğu Transformer kodlayıcısına girer. Bu, ağın küresel bağlamı öğrenmesini sağlayarak sol üst köşedeki bir pikselin sağ alt köşedekiyle nasıl ilişkili olduğunu anlamasını sağlar.
-
Sınıflandırma Başlığı: image classification gibi görevler için diziye genellikle özel bir "sınıf token'ı" eklenir. Bu token'ın nihai çıktı durumu, görüntünün toplu temsili olarak hizmet eder ve daha sonra multilayer perceptron (MLP) gibi bir sınıflandırıcıya beslenir.
Vision Transformer'lar ve CNN'ler#
Her iki mimari de görsel verileri anlamayı amaçlasa da operasyonel felsefelerinde önemli ölçüde farklılık gösterirler. CNN'ler, yerel özelliklerin (kenarlar ve dokular gibi) konumlarından bağımsız olarak önemli olduğunu doğası gereği varsaydıkları anlamına gelen ötteleme değişmezliği olarak bilinen güçlü bir "tümevarımsal önyargıya" sahiptir. Bu, CNN'leri yüksek düzeyde veri verimli ve daha küçük datasets üzerinde etkili kılar.
Buna karşılık, Vision Transformer'lar daha az görüntüye özgü önyargıya sahiptir. JFT-300M veya tam ImageNet veri kümeleri gibi devasa miktarda training data kullanarak uzamsal ilişkileri sıfırdan öğrenmeleri gerekir. Bu, eğitimi daha fazla hesaplama yoğunluklu hale getirse de ViT'lerin olağanüstü derecede iyi ölçeklenmesini sağlar; yeterli veri ve compute power ile yerel evrişimlerin gözden kaçırabileceği karmaşık küresel yapıları yakalayarak CNN'leri geride bırakabilirler.
Gerçek Dünya Uygulamaları#
Küresel bağlamı anlama yeteneği, ViT'leri özellikle karmaşık ve yüksek riskli ortamlar için yararlı kılar.
- Tıbbi Görüntü Analizi: healthcare AI alanında ViT'ler MR'lar veya histopatoloji slaytları gibi yüksek çözünürlüklü taramaları analiz etmek için kullanılır. Örneğin tumor detection işleminde bir ViT, dokudaki ince dokusal anormallikleri slayt üzerindeki daha geniş yapısal değişikliklerle ilişkilendirerek yerel işlemenin gözden kaçırabileceği malin örüntüleri tanımlayabilir.
- Uydu Görüntüleri ve Uzaktan Algılama: ViT'ler, nesneler arasındaki ilişkilerin büyük mesafelere yayıldığı satellite image analysis konusunda mükemmeldir. Örneğin, bir ormansızlaşma alanını uzak bir yoluna bağlamak, bir manzaranın "büyük resmini" anlamayı gerektirir; bu, bir ViT'nin küresel dikkatinin standart CNN'lerin sınırlı alıcı alanından daha iyi performans gösterdiği bir görevdir.
Ultralytics ile Transformer'ları Kullanma#
ultralytics kütüphanesi, Transformer tabanlı mimarileri, özellikle de RT-DETR (Real-Time Detection Transformer)'ı destekler. Amiral gemisi YOLO26 uç cihazlardaki hız ve doğruluk dengesi nedeniyle genellikle tercih edilirken RT-DETR, küresel bağlama öncelik veren senaryolar için güçlü bir alternatif sunar.
Aşağıdaki Python örneği, önceden eğitilmiş Transformer tabanlı bir modelin nasıl yükleneceğini ve çıkarımın nasıl çalıştırılacağını göstermektedir:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()Gelecek Görünümü#
ViT'lerin yüksek hesaplama maliyetini ele almak için araştırma hızla gelişmektedir. FlashAttention gibi teknikler bu modelleri daha hızlı ve bellek açısından daha verimli hale getirmektedir. Dahası, CNN'lerin verimliliğini Transformer'ların dikkatiyle birleştiren hibrit mimariler yaygınlaşmaktadır. Bu gelişmiş iş akışlarını yönetmek isteyen ekipler için Ultralytics Platform, verileri etiketlemek, bulut aracılığıyla karmaşık modeller eğitmek ve bunları çeşitli uç noktalara dağıtmak için birleşik bir ortam sunar.






