प्रक्रिया: (1) एक 224×224 इमेज को 16×16 पिक्सेल के 196 पैच में विभाजित करें, (2) प्रत्येक पैच को एक वेक्टर में फ़्लैटन करें और पैच embeddings बनाने के लिए एक रैखिक लेयर से गुज़ारें, (3) positional embeddings जोड़ें ताकि मॉडल को पता चले कि प्रत्येक पैच कहां है, (4) एक [CLS] टोकन को पहले जोड़ें जिसका अंतिम प्रतिनिधित्व क्लासिफ़िकेशन के लिए उपयोग किया जाता है, (5) मानक Transformer एन्कोडर लेयर्स से प्रोसेस करें। आउटपुट पैच प्रतिनिधित्वों का एक अनुक्रम है जिसका उपयोग क्लासिफ़िकेशन, डिटेक्शन, या अन्य मॉडलों के लिए फ़ीचर्स के रूप में किया जा सकता है।
CNNs में अंतर्निहित inductive biases हैं: locality (आसपास के पिक्सेल संबंधित हैं) और translation equivariance (पैटर्न स्थिति की परवाह किए बिना पहचाने जाते हैं)। ViT में कोई भी नहीं है — यह पैच को एक अनियंत्रित सेट के रूप में मानता है (स्थिति सीखे गए embeddings से आती है) और सभी पैच पर समान रूप से ध्यान देता है। यह ViT को छोटे डेटासेट के लिए CNNs की तुलना में कम डेटा-कुशल बनाता है लेकिन बड़े डेटासेट के लिए अधिक शक्तिशाली, जहां यह हार्ड-कोडेड होने के बजाय डेटा से इन biases को सीख सकता है।
ViT ने विज़न Transformers का एक परिवार उत्पन्न किया: DeiT (डेटा-कुशल प्रशिक्षण), Swin Transformer (शिफ़्टेड विंडो के साथ हायरार्किकल विज़न), MAE (सेल्फ-सुपरवाइज़्ड विज़न के लिए masked autoencoder), और DINO/DINOv2 (सेल्फ-सुपरवाइज़्ड विज़ुअल प्रतिनिधित्व)। ये मॉडल अब विज़न कार्यों में हावी हैं: इमेज क्लासिफ़िकेशन, ऑब्जेक्ट डिटेक्शन, सेगमेंटेशन, और फ़ीचर एक्सट्रैक्शन। ViT आर्किटेक्चर अधिकांश मल्टीमोडल मॉडलों (LLaVA, GPT-4V) में भी इमेज एन्कोडर है।