- Vision Transformers (ViT'ler), görüntü sınıflandırma görevlerinde en yüksek performansa ulaşan derin öğrenme model sınıflarından biridir
- Doğal dil işleme (NLP) için tasarlanan transformer mimarisini görüntü verisine uygular
- Bu rehber, görselleştirmeler ve kısa açıklamalar kullanarak bu modellerin nasıl çalıştığını ve veri modelden geçerken veri akışının nasıl göründüğünü anlamaya yardımcı olur
Ana noktalar
- Görüntüyü
p x p boyutunda, aynı büyüklükte parçalara böler
- Her parçanın kodlanmış vektörü sabit
d boyutuna sahiptir
- Geriye
n x d boyutunda bir dizi kalır (n görüntü parçası sayısı, d ise parça embedding boyutudur)
- Modeli etkili şekilde eğitmek için, sınıflandırma token'ı (
cls token'ı) adı verilen ek bir vektörle parça embedding dizisi genişletilir
- Konum bilgisi olmadığından, rastgele başlatılmış konumsal embedding vektörleri eklenir
- Konumsal embedding vektörleri eklendikten sonra, boyutu
(n+1) x d olan dizi transformer'ın girdisi olarak verilir
- Transformer'ın içinde
- 10.1 Transformer giriş parça embedding vektörleri, birden çok büyük vektöre doğrusal olarak gömülür: Q - sorgu vektörü, K - anahtar vektörü, V - değer vektörü
- 10.2 Attention skoru
Ayı hesaplamak için tüm sorgu vektörleri Q ile tüm anahtar vektörleri K çarpılır
- 10.3 Attention skor matrisi
A elde edildikten sonra, her satırın toplamı 1 olacak şekilde tüm satırlara softmax fonksiyonu uygulanır
- 10.4 İlk parça embedding vektörü için toplanmış bağlam bilgisini hesaplamak üzere attention matrisinin ilk satırına odaklanılır ve öğeler, değer vektörleri
V için ağırlık olarak kullanılır
- 10.5 Şimdi bu süreç attention skor matrisinin tüm satırları için tekrarlandığında,
N+1 adet toplanmış bağlam bilgisi vektörü üretilir (parça başına bir tane + sınıflandırma token'ı için bir tane); bu adımla ilk attention head tamamlanır
- 10.6 Multi-head attention kullanıldığı için, farklı QKV eşlemeleriyle 10.1 - 10.5 adımlarındaki tüm süreç yeniden tekrarlanır
- 10.7 Son attention katmanı adımı: head'ler bir araya getirilir ve parça embedding'lerle aynı boyutta olan
d boyutlu bir vektöre eşlenir
- 10.8 Önceki adımlarda attention katmanı tamamlanmıştır ve geriye girdinin tam olarak aynı boyutunda, aynı sayıda embedding kalır
- 10.9 Transformer, residual connection'ları yoğun biçimde kullanır; bu, basitçe önceki katmanın girdisinin mevcut katmanın çıktısına eklenmesi anlamına gelir
- 10.10 Residual connection (toplama) sonucunda yine aynı boyutta vektörler oluşur
- 10.11 Bu çıktı, doğrusal olmayan aktivasyon fonksiyonlarına sahip bir feed-forward sinir ağından geçer
- 10.12 Transformer adımından sonra bir residual connection daha vardır, ancak burada atlanmıştır. Böylece transformer katmanı tamamlanır. Sonuç olarak transformer, girdisiyle aynı boyutta bir çıktı üretir
- Ardından transformer için tüm hesaplama adımları 10.1 - 10.12, birden çok kez (örneğin 6 kez) tekrarlanır
- Son adım, sınıflandırma token'ı çıktısını belirlemektir. Bu vektör, Vision Transformer'ın son aşamasında kullanılacaktır
- Son aşamada, bu sınıflandırma çıkış token'ı ve başka bir tam bağlı sinir ağı kullanılarak giriş görüntüsünün sınıflandırma olasılıkları tahmin edilir
- Vision Transformer, tahmin edilen sınıf olasılıklarını gerçek sınıf etiketleriyle karşılaştıran standart çapraz entropi kayıp fonksiyonu kullanılarak eğitilir
- Model, geri yayılım ve gradyan inişi kullanılarak eğitilir ve kayıp fonksiyonunu en aza indirecek şekilde model parametreleri güncellenir
1 yorum
Tanıttığınız yazıyı görünce, görsellerle birlikte açıklamanın iyi olacağını düşündüm; bu yüzden yazardan izin alıp özgün metni çevirdim: