स्व-ध्यान (self-attention) मशीन लर्निंग में एक तंत्र है जहाँ अनुक्रम का प्रत्येक तत्व अन्य सभी तत्वों पर ध्यान देता है, उनके संबंधों के आधार पर ध्यान भार (attention weights) की गणना करता है। पहले के ध्यान तंत्रों के विपरीत, जो एनकोडर और डिकोडर अनुक्रमों के बीच संचालित होते थे, स्व-ध्यान समान इनपुट अनुक्रम से क्वेरी, कुंजी और मान प्राप्त करता है, जिससे मॉडल सीधे वैश्विक निर्भरताओं को पकड़ सकता है। यह अवधारणा ट्रांसफॉर्मर वास्तुकला का केंद्र है, जिसने पुनरावृत्ति (recurrence) को ध्यान तंत्रों से बदल दिया, और BERT, T5, और जनरेटिव प्री-ट्रेंड ट्रांसफॉर्मर (GPT) जैसे मॉडलों की नींव बन गई।
स्व-ध्यान में, इनपुट अनुक्रम का प्रत्येक टोकन तीन वैक्टरों में परिवर्तित होता है: एक क्वेरी, एक कुंजी, और एक मान। दो टोकनों के बीच ध्यान भार की गणना एक टोकन की क्वेरी और दूसरे की कुंजी के डॉट उत्पाद के रूप में की जाती है, जिसे आमतौर पर स्केल किया जाता है और सॉफ्टमैक्स फ़ंक्शन से गुजारा जाता है। ये भार, जिन्हें अक्सर "सॉफ्ट" भार कहा जाता है, केवल फॉरवर्ड पास में मौजूद होते हैं और प्रत्येक इनपुट चरण के साथ बदलते हैं, प्रशिक्षण के दौरान गणना किए गए "हार्ड" भार के विपरीत। प्रत्येक टोकन के लिए आउटपुट मानों का एक भारित योग होता है, जहाँ भार अन्य टोकनों की वर्तमान टोकन से प्रासंगिकता को दर्शाते हैं।
इतिहास
ध्यान तंत्र पुनरावर्ती तंत्रिका नेटवर्क (RNN) की कमजोरियों को दूर करने के लिए विकसित किए गए थे, जो वाक्य में बाद के शब्दों की जानकारी को प्राथमिकता देते थे, जिससे पहले का संदर्भ कमजोर हो जाता था। प्रारंभिक ध्यान डिज़ाइनों ने मशीन अनुवाद के लिए एनकोडर-डिकोडर RNN पर एक ध्यान तंत्र जोड़ा, जैसा कि बहदानौ एट अल. ने 2014 में वर्णित किया। हालाँकि, प्रमुख सफलता स्व-ध्यान के साथ आई, जहाँ इनपुट अनुक्रम का प्रत्येक तत्व अन्य सभी पर ध्यान देता है, जिससे मॉडल वैश्विक निर्भरताओं को पकड़ सकता है। यह विचार ट्रांसफॉर्मर वास्तुकला का केंद्र था, जिसे 2017 के पेपर "Attention Is All You Need" में जैकब उज़कोरिट, लुकाज़ कैसर, और Google के सहयोगियों द्वारा पेश किया गया। ट्रांसफॉर्मर ने धीमे अनुक्रमिक RNN को हटा दिया और तेज़ समानांतर ध्यान पर निर्भर किया, जिससे BERT, T5, और GPT जैसे मॉडल बने। गहन शिक्षण में ध्यान तंत्रों के अतिरिक्त सर्वेक्षण निउ एट अल. और सोयदानेर द्वारा प्रदान किए गए हैं।
तंत्र
स्व-ध्यान टोकन एम्बेडिंग के अनुक्रम पर संचालित होता है, जिनमें से प्रत्येक को एक वेक्टर के रूप में दर्शाया जाता है। प्रत्येक टोकन के लिए, मॉडल सीखे गए रैखिक परिवर्तनों के माध्यम से एक क्वेरी वेक्टर, एक कुंजी वेक्टर, और एक मान वेक्टर की गणना करता है। टोकन i और टोकन j के बीच ध्यान स्कोर की गणना query_i और key_j के डॉट उत्पाद के रूप में की जाती है, जिसे अक्सर ग्रेडिएंट्स को स्थिर करने के लिए आयाम के वर्गमूल से विभाजित किया जाता है। इन स्कोरों को सॉफ्टमैक्स से गुजारा जाता है ताकि ध्यान भार उत्पन्न हों जो प्रत्येक क्वेरी के लिए एक का योग करते हैं। टोकन i के लिए आउटपुट सभी मान वैक्टरों का भारित योग है, इन भारों का उपयोग करके।
यह तंत्र प्रत्येक टोकन को दूरी की परवाह किए बिना अनुक्रम के किसी भी भाग तक सीधे पहुँचने की अनुमति देता है, जिससे RNN की अनुक्रमिक बाधा दूर होती है। व्यवहार में, ट्रांसफॉर्मर मल्टी-हेड ध्यान का उपयोग करते हैं, जहाँ क्वेरी, कुंजी, और मान प्रक्षेपणों के कई सेट समानांतर में चलते हैं, जिससे मॉडल अनुक्रम के विभिन्न पहलुओं पर एक साथ ध्यान दे सकता है।
ध्यान भारों की व्याख्या
अनुवाद में, संरेखण (alignment) स्रोत वाक्य के शब्दों को अनुवादित वाक्य के शब्दों से मिलाने को संदर्भित करता है। जो नेटवर्क शब्द क्रम की परवाह किए बिना शाब्दिक अनुवाद करते हैं, वे संरेखण मैट्रिक्स के विकर्ण के साथ उच्चतम ध्यान स्कोर दिखाएंगे। ऑफ-विकर्ण प्रभुत्व अधिक सूक्ष्म संरेखण को इंगित करता है। उदाहरण के लिए, "I love you" का फ्रेंच में अनुवाद: पहले डिकोडर पास पर, 94% ध्यान भार "I" पर है, जिससे "je" उत्पन्न होता है; दूसरे पास पर, 88% "you" पर, जिससे "t'" उत्पन्न होता है; तीसरे पास पर, 95% "love" पर, जिससे "aime" उत्पन्न होता है। यह एक संरेखण मैट्रिक्स देता है जहाँ "love" "aime" के साथ संरेखित होता है।
कभी-कभी संरेखण कई-से-कई होता है, जैसे "look it up" "cherchez-le" के अनुरूप होता है। सॉफ्ट ध्यान भार, जो छिपे हुए वैक्टरों का भारित योग उत्पन्न करते हैं, हार्ड ध्यान (एक भार को 1 और बाकी को 0 पर सेट करना) से बेहतर काम करते हैं, क्योंकि एक सर्वोत्तम छिपा हुआ वेक्टर नहीं हो सकता है।
विविधताएँ
ध्यान की कई विविधताएँ सॉफ्ट भार लागू करती हैं। प्रारंभिक रूपों में फास्ट वेट प्रोग्रामर या फास्ट वेट कंट्रोलर (1992) शामिल हैं, जहाँ एक "धीमा" तंत्रिका नेटवर्क बाहरी उत्पादों के माध्यम से दूसरे नेटवर्क के "तेज़" भार आउटपुट करता है, जिसे बाद में "रैखिककृत स्व-ध्यान" नाम दिया गया। बहदानौ-शैली ध्यान, जिसे योगात्मक ध्यान भी कहा जाता है, और लुओंग-शैली ध्यान, या गुणात्मक ध्यान, RNN-आधारित प्रणालियों में आम हैं। आधुनिक स्व-ध्यान के समान प्रारंभिक ध्यान तंत्र RNN का उपयोग करके प्रस्तावित किए गए थे, लेकिन अत्यधिक समानांतर स्व-ध्यान 2017 में पेश किया गया और ट्रांसफॉर्मर में उपयोग किया गया। अन्य विविधताओं में स्थितीय ध्यान और गुणनखंडित स्थितीय ध्यान शामिल हैं। कन्वोल्यूशनल तंत्रिका नेटवर्क के लिए, ध्यान स्थानिक आयामों, चैनल आयामों, या संयोजनों पर संचालित हो सकता है। ये विविधताएँ प्रत्येक लक्ष्य आउटपुट पर प्रभावों को पुनर्वितरित करने के लिए एनकोडर-पक्ष इनपुट को पुनः संयोजित करती हैं, अक्सर पुनर्भारण के लिए डॉट उत्पादों के सहसंबंध-शैली मैट्रिक्स का उपयोग करती हैं।
अनुकूलन
ध्यान मैट्रिक्स का आकार टोकनों की संख्या के साथ द्विघात रूप से बढ़ता है, जिससे लंबे अनुक्रमों के लिए महत्वपूर्ण GPU मेमोरी की आवश्यकता होती है। 2022 में पेश किया गया फ्लैश अटेंशन, सटीकता का त्याग किए बिना मेमोरी आवश्यकताओं को कम करता है और दक्षता बढ़ाता है, ध्यान गणना को ब्लॉकों में विभाजित करके जो GPU की तेज़ ऑन-चिप मेमोरी में फिट होते हैं, मध्यवर्ती भंडारण को कम करते हैं। मेटा द्वारा विकसित फ्लेक्सअटेंशन, उपयोगकर्ताओं को सॉफ्टमैक्स से पहले ध्यान स्कोर संशोधित करने की अनुमति देता है और गतिशील रूप से इष्टतम ध्यान एल्गोरिदम चुनता है।
अनुप्रयोग
ध्यान प्राकृतिक भाषा प्रसंस्करण, कंप्यूटर विज़न, और भाषण पहचान में व्यापक रूप से उपयोग किया जाता है। NLP में, यह प्रश्न उत्तर और सारांशीकरण जैसे कार्यों में संदर्भ समझ में सुधार करता है। विज़न में, दृश्य ध्यान मॉडल को प्रासंगिक छवि क्षेत्रों पर ध्यान केंद्रित करने में मदद करता है, जिससे वस्तु पहचान और छवि कैप्शनिंग बढ़ती है। स्व-ध्यान बड़े भाषा मॉडल जैसे GPT का एक मुख्य घटक है, जो पाठ को संसाधित और उत्पन्न करने के लिए इसका उपयोग करते हैं।
विज़न ट्रांसफॉर्मर के लिए स्पष्टीकरण के रूप में ध्यान मानचित्र
मूल विज़न ट्रांसफॉर्मर (ViT) पेपर से, ध्यान स्कोर को हीट मैप के रूप में देखना, जिसे सैलिएंसी मैप या ध्यान मैप कहा जाता है, ViT मॉडल के निर्णय लेने की प्रक्रिया का निरीक्षण करने का एक नियमित तरीका बन गया है। कोई भी परत पर किसी भी ध्यान हेड के लिए ध्यान मैप की गणना कर सकता है, गहरी परतें अधिक अर्थपूर्ण रूप से सार्थक विज़ुअलाइज़ेशन दिखाती हैं। ध्यान रोलआउट एक पुनरावर्ती एल्गोरिदम है जो क्रमिक ध्यान मैपों के डॉट उत्पाद की गणना करके सभी परतों में ध्यान स्कोर को जोड़ता है। क्योंकि विज़न ट्रांसफॉर्मर आमतौर पर स्व-पर्यवेक्षित तरीके से प्रशिक्षित होते हैं, ध्यान मैप आम तौर पर वर्ग-संवेदनशील नहीं होते हैं। जब एक वर्गीकरण हेड जुड़ा होता है, तो वर्ग-विभेदक ध्यान मैप (CDAM) ध्यान मैप और वर्ग [CLS] टोकन के संबंध में ग्रेडिएंट्स को जोड़ते हैं। कुछ वर्ग-संवेदनशील व्याख्या विधियाँ जो मूल रूप से कन्वोल्यूशनल तंत्रिका नेटवर्क के लिए विकसित की गई थीं, उन्हें भी अनुकूलित किया जा सकता है।