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