विज़न ट्रांसफॉर्मर (ViT) एक प्रकार का ट्रांसफॉर्मर है जिसे कंप्यूटर विज़न के लिए डिज़ाइन किया गया है। कन्वोल्यूशनल न्यूरल नेटवर्क (CNN) के विपरीत, जो कन्वोल्यूशनल फिल्टर के माध्यम से पिक्सल को प्रोसेस करते हैं, एक ViT इनपुट छवि को वर्गाकार पैच की एक श्रृंखला में विघटित करता है, प्रत्येक पैच को एक वेक्टर में क्रमबद्ध करता है, और एक एकल मैट्रिक्स गुणन का उपयोग करके इसे निम्न-आयामी एम्बेडिंग में मैप करता है। इन पैच एम्बेडिंग को फिर एक ट्रांसफॉर्मर एनकोडर द्वारा प्रोसेस किया जाता है, जो पैच के बीच संबंधों को कैप्चर करने के लिए मल्टी-हेड-अटेंशन तंत्र लागू करता है। ViT को CNN के विकल्प के रूप में पेश किया गया था, जो विभिन्न इंडक्टिव बायस, प्रशिक्षण स्थिरता और डेटा दक्षता प्रदान करते हैं। वे आम तौर पर CNN की तुलना में कम डेटा-कुशल होते हैं लेकिन उच्च क्षमता रखते हैं, और कुछ सबसे बड़े आधुनिक कंप्यूटर विज़न मॉडल, जैसे कि 22 बिलियन पैरामीटर वाला एक, ViT हैं।
ViT आर्किटेक्चर पहली बार 2020 में प्रस्तावित किया गया था और छवि वर्गीकरण में तेजी से अत्याधुनिक परिणाम प्राप्त किए, जिससे CNN का पिछला प्रभुत्व समाप्त हो गया। बाद के शोध ने कई प्रकार उत्पन्न किए, जिनमें हाइब्रिड आर्किटेक्चर शामिल हैं जो ViT और CNN दोनों की विशेषताओं को जोड़ते हैं। ViT ने छवि पहचान, छवि विभाजन, मौसम पूर्वानुमान और स्वायत्त ड्राइविंग में अनुप्रयोग पाए हैं।
इतिहास
ट्रांसफॉर्मर को 2017 के पेपर "Attention Is All You Need" में पेश किया गया था और प्राकृतिक भाषा प्रोसेसिंग में व्यापक रूप से उपयोग किया गया। 2019 में, एक पेपर ने ResNet, एक मानक CNN, से शुरू करके और सभी कन्वोल्यूशनल कर्नेल को सेल्फ-अटेंशन तंत्र के साथ बदलकर ट्रांसफॉर्मर विचारों को कंप्यूटर विज़न पर लागू किया। इस दृष्टिकोण ने बेहतर प्रदर्शन प्राप्त किया लेकिन यह एक सच्चा विज़न ट्रांसफॉर्मर नहीं था।
2020 में, एक एनकोडर-ओनली ट्रांसफॉर्मर को कंप्यूटर विज़न के लिए अनुकूलित किया गया, जिससे ViT प्राप्त हुआ, जो छवि वर्गीकरण में अत्याधुनिक स्तर पर पहुंच गया। मास्क्ड ऑटोएनकोडर (2022) ने ViT को अनसुपरवाइज्ड प्रशिक्षण के साथ काम करने के लिए विस्तारित किया। इन विकासों ने कन्वोल्यूशनल न्यूरल नेटवर्क में भी नई प्रगति को प्रेरित किया, जिससे दोनों दृष्टिकोणों के बीच पारस्परिक संवर्धन हुआ।
2021 में, दक्षता, सटीकता या डोमेन उपयुक्तता में सुधार के लिए कई महत्वपूर्ण ViT प्रकार प्रस्तावित किए गए। दो अध्ययनों ने एक CNN को प्रीप्रोसेसर के रूप में जोड़कर दक्षता और मजबूती में सुधार किया। स्विन ट्रांसफॉर्मर ने अटेंशन के कन्वोल्यूशन-जैसे स्लाइडिंग विंडो और एक पिरामिड संरचना का उपयोग करके COCO जैसे ऑब्जेक्ट डिटेक्शन डेटासेट पर अत्याधुनिक परिणाम प्राप्त किए।
अवलोकन
मूल 2020 ViT की मूल आर्किटेक्चर एक BERT-जैसा एनकोडर-ओनली ट्रांसफॉर्मर है। इनपुट छवि को H × W × C आकार के टेंसर के रूप में दर्शाया जाता है, जहां H, W, और C ऊंचाई, चौड़ाई और चैनलों की संख्या (आमतौर पर RGB) हैं। छवि को P × P × C आकार के वर्गाकार पैच में विभाजित किया जाता है। प्रत्येक पैच को चपटा किया जाता है और पैच एम्बेडिंग प्राप्त करने के लिए एक रैखिक परत के माध्यम से पारित किया जाता है। एक पोजिशनल एन्कोडिंग, जो छवि में पैच की स्थिति को एन्कोड करती है, एम्बेडिंग में जोड़ी जाती है। मूल पेपर ने कोई एम्बेडिंग नहीं, 1D, 2D, और सापेक्ष एम्बेडिंग की तुलना की, और 1D को अपनाया।
पैच एम्बेडिंग के अनुक्रम को फिर कई ट्रांसफॉर्मर एनकोडर परतों द्वारा प्रोसेस किया जाता है। ViT में अटेंशन तंत्र बार-बार छवि पैच के प्रतिनिधित्व वैक्टर को बदलता है, पैच के बीच शब्दार्थ संबंधों को शामिल करता है, जैसे NLP में ट्रांसफॉर्मर शब्दों के बीच संबंधों को कैप्चर करते हैं।
आउटपुट को डाउनस्ट्रीम कार्यों के लिए उपयोग करने के लिए, एक अतिरिक्त हेड प्रशिक्षित किया जाता है। वर्गीकरण के लिए, शीर्ष पर एक उथला MLP (रैखिक-GeLU-रैखिक-सॉफ्टमैक्स) जोड़ा जाता है, जो कक्षाओं पर एक संभाव्यता वितरण आउटपुट करता है।
प्रकार
मूल ViT
मूल ViT एक एनकोडर-ओनली ट्रांसफॉर्मर था जिसे पैच से छवि लेबल की भविष्यवाणी करने के लिए पर्यवेक्षण के साथ प्रशिक्षित किया गया था। इसने इनपुट में एक विशेष [CLS] टोकन का उपयोग किया, और संबंधित आउटपुट वेक्टर अंतिम MLP हेड के इनपुट के रूप में कार्य करता था। इस आर्किटेक्चरल हैक ने मॉडल को सभी लेबल-प्रासंगिक जानकारी को एक वेक्टर में संपीड़ित करने की अनुमति दी।
ट्रांसफॉर्मर ने शुरू में NLP में सफलता पाई, जैसा कि BERT और GPT-3 जैसे मॉडलों में देखा गया। इसके विपरीत, विशिष्ट छवि प्रोसेसिंग में CNN का उपयोग किया जाता था, जिसके प्रसिद्ध उदाहरणों में Xception, ResNet, EfficientNet, DenseNet और Inception शामिल हैं। ट्रांसफॉर्मर इनपुट टोकन के जोड़े के बीच संबंधों को मापते हैं, जिसकी लागत टोकन की संख्या के वर्ग के समानुपाती होती है। छवियों के लिए, प्रत्येक पिक्सल जोड़ी के लिए संबंधों की गणना करना निषेधात्मक है, इसलिए ViT छोटे वर्गों (जैसे, 16×16 पिक्सल) में पिक्सल के बीच संबंधों की गणना करता है, जिससे लागत काफी कम हो जाती है। प्रत्येक वर्ग को चपटा किया जाता है, एक एम्बेडिंग मैट्रिक्स से गुणा किया जाता है, और ट्रांसफॉर्मर को खिलाने से पहले एक पोजिशनल एम्बेडिंग में जोड़ा जाता है।
पूलिंग
प्रोसेसिंग के बाद, ViT एम्बेडिंग वैक्टर उत्पन्न करता है जिन्हें एक एकल वर्ग भविष्यवाणी में परिवर्तित किया जाना चाहिए। मूल ViT और मास्क्ड ऑटोएनकोडर ने BERT का अनुसरण करते हुए एक डमी [CLS] टोकन का उपयोग किया। [CLS] पर आउटपुट को LayerNorm-फीडफॉरवर्ड-सॉफ्टमैक्स मॉड्यूल द्वारा प्रोसेस किया जाता है।
ग्लोबल एवरेज पूलिंग (GAP) इसके बजाय सभी आउटपुट टोकन के औसत को वर्गीकरण टोकन के रूप में लेता है, और मूल पेपर में इसे समान रूप से अच्छा बताया गया था। मल्टीहेड अटेंशन पूलिंग (MAP) वैक्टर को पूल करने के लिए एक मल्टी-हेड अटेंशन ब्लॉक लागू करता है, जो इनपुट के रूप में वैक्टर की एक सूची लेता है और एक भारित संयोजन उत्पन्न करता है।
अनुप्रयोग और प्रभाव
ViT को वर्गीकरण से परे कंप्यूटर विज़न कार्यों की एक विस्तृत श्रृंखला पर लागू किया गया है, जिसमें ऑब्जेक्ट डिटेक्शन, विभाजन और वीडियो समझ शामिल हैं। वे चिकित्सा इमेजिंग और रिमोट सेंसिंग में भी उपयोग किए जाते हैं। आर्किटेक्चर ने बड़े पैमाने पर विज़न मॉडल के विकास को प्रभावित किया है और इसे मल्टीमॉडल सिस्टम में एकीकृत किया गया है जो विज़न और भाषा को जोड़ते हैं।
अपने लाभों के बावजूद, ViT को CNN की तुलना में प्रभावी ढंग से प्रशिक्षित करने के लिए अधिक डेटा की आवश्यकता होती है, जिससे हाइब्रिड मॉडल और ज्ञान आसवन और सेल्फ-सुपरवाइज्ड प्रीट्रेनिंग जैसी तकनीकों का विकास हुआ। मास्क्ड ऑटोएनकोडर दृष्टिकोण ने अनसुपरवाइज्ड लर्निंग को सक्षम किया, जिससे लेबल किए गए डेटा की आवश्यकता कम हो गई।
ViT ने हार्डवेयर और सॉफ्टवेयर अनुकूलन में भी नवाचार को प्रेरित किया है, क्योंकि उनके अटेंशन तंत्र कम्प्यूटेशनल रूप से गहन हैं। दक्षता, व्याख्यात्मकता और मजबूती में सुधार पर शोध जारी है।
यह भी देखें
- ट्रांसफॉर्मर
- कन्वोल्यूशनल न्यूरल नेटवर्क (सूची में नहीं, लेकिन एक अवधारणा के रूप में)
- मास्क्ड-ऑटोएनकोडर (सूची में नहीं, लेकिन एक अवधारणा के रूप में)
- छवि-वर्गीकरण (सूची में नहीं, लेकिन एक अवधारणा के रूप में)