Positional Encoding in Transformers | Deep Learning | CampusX
1:13:15

Positional Encoding in Transformers | Deep Learning | CampusX

CampusX

6 chapters6 takeaways15 key terms5 questions

Overview

यह वीडियो ट्रांसफॉर्मर आर्किटेक्चर में पोजीशनल एनकोडिंग की महत्वपूर्ण भूमिका को विस्तार से समझाता है। यह बताता है कि सेल्फ-अटेंशन मैकेनिज्म शब्दों के क्रम को कैसे नहीं समझ पाता और इस समस्या को हल करने के लिए पोजीशनल एनकोडिंग की आवश्यकता क्यों पड़ती है। वीडियो विभिन्न समाधानों पर चर्चा करता है, सरल गिनती से शुरू होकर साइन और कोसाइन फ़ंक्शंस के उपयोग तक, और अंततः 'अटेंशन इज़ ऑल यू नीड' पेपर में प्रस्तुत किए गए गणितीय दृष्टिकोण की व्याख्या करता है, जिसमें सापेक्ष स्थिति को कैप्चर करने के महत्व पर जोर दिया गया है।

How was this?

Save this permanently with flashcards, quizzes, and AI chat

Chapters

  • सेल्फ-अटेंशन कॉन्टेक्स्चुअल एंबेडिंग उत्पन्न कर सकता है और समानांतर में गणना कर सकता है, जो इसे RNNs की तुलना में तेज़ बनाता है।
  • सेल्फ-अटेंशन का एक प्रमुख नुकसान यह है कि यह शब्दों के क्रम या स्थिति को नहीं समझता है।
  • शब्दों के क्रम की जानकारी के बिना, 'नितिश ने शेर को मारा' और 'शेर ने नितिश को मारा' जैसे वाक्यों का अर्थ समान हो जाएगा, जो NLP अनुप्रयोगों के लिए एक बड़ी समस्या है।
यह समझना महत्वपूर्ण है कि सेल्फ-अटेंशन, अपनी समानांतर प्रसंस्करण क्षमताओं के बावजूद, शब्दों के क्रम को समझने में विफल रहता है, जिससे पोजीशनल एनकोडिंग की आवश्यकता उत्पन्न होती है।
सेल्फ-अटेंशन के लिए 'नितिश किल्ड लायन' और 'लायन किल्ड नितिश' वाक्य समान हैं क्योंकि यह शब्दों के क्रम को कैप्चर नहीं करता।
  • एक सरल समाधान प्रत्येक शब्द की एंबेडिंग में उसकी स्थिति (जैसे 1, 2, 3, 4) को एक अतिरिक्त डायमेंशन के रूप में जोड़ना है।
  • पहली समस्या यह है कि यह समाधान 'अनबाउंड' है; बहुत लंबे वाक्यों के लिए संख्याएं बहुत बड़ी हो सकती हैं, जिससे न्यूरल नेटवर्क अस्थिर हो जाते हैं।
  • दूसरी समस्या यह है कि संख्याएं 'डिस्क्रीट' (अलग-अलग) होती हैं, जबकि न्यूरल नेटवर्क 'कंटीन्यूअस' (लगातार) मानों को पसंद करते हैं।
  • तीसरी समस्या यह है कि यह विधि 'रिलेटिव पोजीशन' (सापेक्ष स्थिति) को कैप्चर नहीं कर पाती, यानी शब्दों के बीच की दूरी को नहीं समझ पाती।
सरल समाधानों की सीमाओं को समझने से हमें अधिक परिष्कृत और प्रभावी तरीकों की आवश्यकता का पता चलता है।
बहुत लंबे दस्तावेज़ के लिए, अंतिम शब्द की स्थिति एक लाख हो सकती है, जो न्यूरल नेटवर्क के लिए एक बहुत बड़ी संख्या है।
  • एक बेहतर समाधान के लिए एक 'बाउंड', 'कंटीन्यूअस', और 'पीरियोडिक' फ़ंक्शन की आवश्यकता होती है, जैसे कि साइन फ़ंक्शन।
  • केवल साइन फ़ंक्शन का उपयोग करने से मान दोहराए जा सकते हैं, जिससे विभिन्न स्थितियों के लिए समान पोजीशनल एनकोडिंग हो सकती है।
  • इस समस्या को हल करने के लिए, साइन और कोसाइन फ़ंक्शंस के जोड़े का उपयोग किया जाता है, जिससे प्रत्येक शब्द के लिए एक वेक्टर (स्केलर के बजाय) बनता है।
साइन और कोसाइन फ़ंक्शंस का उपयोग करके, हम बाउंडेड और कंटीन्यूअस मान प्राप्त करते हैं, और उनके जोड़े का उपयोग करके हम मानों के दोहराव की समस्या को कम करते हैं।
एक शब्द की स्थिति के लिए sin(position) और cos(position) दोनों की गणना करना, जिससे दो मानों का एक वेक्टर बनता है।
  • पोजीशनल एनकोडिंग वेक्टर का डायमेंशन शब्द एंबेडिंग वेक्टर के डायमेंशन के बराबर होता है।
  • प्रत्येक शब्द के लिए, उसके एंबेडिंग वेक्टर को उसके पोजीशनल एनकोडिंग वेक्टर के साथ जोड़ा (ऐड) जाता है, न कि जोड़ा (कॉन्कैटिनेट) जाता है, ताकि डायमेंशन न बढ़े।
  • वेक्टर के भीतर मानों की गणना करने के लिए विभिन्न फ्रीक्वेंसी वाले साइन और कोसाइन फ़ंक्शंस के कई जोड़े (पेयर्स) का उपयोग किया जाता है।
एंबेडिंग और पोजीशनल एनकोडिंग को जोड़ना यह सुनिश्चित करता है कि अंतिम वेक्टर में शब्द के अर्थ और उसकी स्थिति दोनों की जानकारी हो, जबकि डायमेंशन को स्थिर रखा जाए।
यदि एंबेडिंग 6-डायमेंशनल है, तो पोजीशनल एनकोडिंग भी 6-डायमेंशनल होगी, और दोनों को जोड़कर एक 6-डायमेंशनल वेक्टर बनाया जाएगा।
  • पेपर में पोजीशनल एनकोडिंग के लिए एक विशिष्ट गणितीय सूत्र का उपयोग किया गया है, जिसमें पोजीशन (pos) और डायमेंशन (i) शामिल हैं।
  • सूत्र में 10000^(2i/d_model) जैसे टर्म्स का उपयोग विभिन्न फ्रीक्वेंसी वाले साइन और कोसाइन तरंगें उत्पन्न करने के लिए किया जाता है।
  • यह विधि बाइनरी एनकोडिंग के समान है लेकिन कंटीन्यूअस डोमेन में, जो न्यूरल नेटवर्क के लिए बेहतर है।
  • अलग-अलग फ्रीक्वेंसी वाले साइन और कोसाइन पेयर्स का उपयोग करके, उच्च डायमेंशन में मान धीरे-धीरे बदलते हैं, जबकि निम्न डायमेंशन में तेजी से, जिससे सापेक्ष स्थिति की जानकारी कैप्चर होती है।
पेपर में प्रस्तुत सूत्र एक मजबूत गणितीय आधार प्रदान करता है जो यह सुनिश्चित करता है कि पोजीशनल एनकोडिंग बाउंडेड, कंटीन्यूअस हो और सापेक्ष स्थिति की जानकारी को प्रभावी ढंग से कैप्चर करे।
सूत्र `PE(pos, 2i) = sin(pos / 10000^(2i/d_model))` और `PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))` का उपयोग करके पोजीशनल एनकोडिंग मानों की गणना करना।
  • पोजीशनल एनकोडिंग की सबसे महत्वपूर्ण प्रॉपर्टी यह है कि यह सापेक्ष स्थिति (relative position) को कैप्चर कर पाती है।
  • एक विशेष लीनियर ट्रांसफॉर्मेशन (मैट्रिक्स) को पोजीशनल एनकोडिंग वेक्टर पर लागू करने से, हम एक निश्चित 'डेल्टा' (जैसे 10 पोजीशन आगे) के बाद वाले वेक्टर पर पहुंच सकते हैं।
  • यह प्रॉपर्टी हर डेल्टा के लिए उपलब्ध है, जिसका अर्थ है कि मॉडल शब्दों के बीच की दूरी को समझ सकता है।
  • साइन और कोसाइन पेयर्स का उपयोग इस लीनियर ट्रांसफॉर्मेशन को संभव बनाता है, जो सापेक्ष दूरी को कैप्चर करने के लिए आवश्यक है।
सापेक्ष स्थिति को कैप्चर करने की क्षमता ट्रांसफॉर्मर को वाक्यों में शब्दों के बीच संबंधों को गहराई से समझने में मदद करती है, जो भाषा की समझ के लिए महत्वपूर्ण है।
एक मैट्रिक्स जो वेक्टर v10 पर लागू होने पर v20 देता है, वही मैट्रिक्स v3 पर लागू होने पर v40 दे सकता है, यह दर्शाता है कि यह 10 पोजीशन के डेल्टा को कैप्चर कर सकता है।

Key takeaways

  1. 1सेल्फ-अटेंशन शब्दों के क्रम को नहीं समझता, इसलिए ट्रांसफॉर्मर में पोजीशनल एनकोडिंग आवश्यक है।
  2. 2सरल संख्यात्मक स्थिति जोड़ने वाले तरीके 'अनबाउंड', 'डिस्क्रीट' होते हैं और सापेक्ष स्थिति नहीं बता पाते, जो न्यूरल नेटवर्क के लिए उपयुक्त नहीं हैं।
  3. 3साइन और कोसाइन फ़ंक्शंस का उपयोग करके बाउंडेड, कंटीन्यूअस पोजीशनल एनकोडिंग बनाई जाती है।
  4. 4प्रत्येक शब्द के लिए एक पोजीशनल एनकोडिंग वेक्टर बनाया जाता है, जिसका डायमेंशन एंबेडिंग वेक्टर के बराबर होता है, और इसे एंबेडिंग में जोड़ा जाता है।
  5. 5विभिन्न फ्रीक्वेंसी वाले साइन/कोसाइन पेयर्स का उपयोग करके, पोजीशनल एनकोडिंग सापेक्ष स्थिति की जानकारी को प्रभावी ढंग से कैप्चर करती है।
  6. 6पोजीशनल एनकोडिंग की गणितीय संरचना मॉडल को शब्दों के बीच की दूरी और संबंधों को समझने में सक्षम बनाती है।

Key terms

Positional EncodingSelf-AttentionTransformer ArchitectureEmbeddingContextual EmbeddingRNN (Recurrent Neural Network)UnboundedDiscrete vs ContinuousRelative PositionPeriodic FunctionSine and Cosine FunctionsVector AdditionLinear Transformationd_modelFrequency

Test your understanding

  1. 1ट्रांसफॉर्मर आर्किटेक्चर में सेल्फ-अटेंशन के बावजूद पोजीशनल एनकोडिंग की आवश्यकता क्यों पड़ती है?
  2. 2सरल संख्यात्मक स्थिति जोड़ने वाले पोजीशनल एनकोडिंग के तीन मुख्य नुकसान क्या हैं?
  3. 3साइन और कोसाइन फ़ंक्शंस का उपयोग करके पोजीशनल एनकोडिंग कैसे बनाई जाती है और यह पिछले तरीकों से कैसे बेहतर है?
  4. 4पोजीशनल एनकोडिंग वेक्टर का डायमेंशन शब्द एंबेडिंग वेक्टर के डायमेंशन के बराबर क्यों होता है, और इन दोनों को कैसे संयोजित किया जाता है?
  5. 5पोजीशनल एनकोडिंग की कौन सी प्रॉपर्टी मॉडल को शब्दों के बीच सापेक्ष दूरी को समझने में मदद करती है?

Turn any lecture into study material

Paste a YouTube URL, PDF, or article. Get flashcards, quizzes, summaries, and AI chat — in seconds.

No credit card required