AI EducademyAIEducademy
🌳

AI की नींव

🌱
AI Seeds

शून्य से शुरू करें

🌿
AI Sprouts

नींव बनाएं

🌳
AI Branches

व्यवहार में लागू करें

🏕️
AI Canopy

गहराई में जाएं

🌲
AI Forest

AI में महारत हासिल करें

🔨

AI में महारत

✏️
AI Sketch

शून्य से शुरू करें

🪨
AI Chisel

नींव बनाएं

⚒️
AI Craft

व्यवहार में लागू करें

💎
AI Polish

गहराई में जाएं

🏆
AI Masterpiece

AI में महारत हासिल करें

🚀

करियर रेडी

🚀
इंटरव्यू लॉन्चपैड

अपनी यात्रा शुरू करें

🌟
व्यवहारिक इंटरव्यू में महारत

सॉफ्ट स्किल्स में महारत

💻
तकनीकी इंटरव्यू

कोडिंग राउंड में सफल हों

🤖
AI और ML इंटरव्यू

ML इंटरव्यू में महारत

🏆
ऑफर और उससे आगे

सबसे अच्छा ऑफर पाएं

सभी कार्यक्रम देखें→

लैब

7 प्रयोग लोड हुए
🧠न्यूरल नेटवर्क प्लेग्राउंड🤖AI या इंसान?💬प्रॉम्प्ट लैब🎨इमेज जनरेटर😊सेंटिमेंट एनालाइज़र💡चैटबॉट बिल्डर⚖️एथिक्स सिमुलेटर
🎯मॉक इंटरव्यूलैब में जाएँ→
nav.journeyब्लॉग
🎯
हमारे बारे में

हर जगह, हर किसी के लिए AI शिक्षा सुलभ बनाना

❓
nav.faq

Common questions answered

✉️
Contact

Get in touch with us

⭐
ओपन सोर्स

GitHub पर सार्वजनिक रूप से निर्मित

सीखना शुरू करें - यह मुफ्त है
AI EducademyAIEducademy

MIT लाइसेंस - ओपन सोर्स

सीखें

  • कार्यक्रम
  • पाठ
  • लैब

समुदाय

  • GitHub
  • योगदान करें
  • आचार संहिता
  • हमारे बारे में
  • सामान्य प्रश्न

सहायता

  • कॉफ़ी खरीदें ☕
  • footer.terms
  • footer.privacy
  • footer.contact
AI और इंजीनियरिंग प्रोग्राम›🌿 AI Sprouts›पाठ›बैकप्रोपेगेशन
⛓️
AI Sprouts • मध्यम⏱️ 16 मिनट पढ़ने का समय

बैकप्रोपेगेशन

बैकप्रोपेगेशन - सीखने का इंजन

पिछले पाठों में आपने देखा कि न्यूरल नेटवर्क में वेट्स होते हैं, और ट्रेनिंग उन वेट्स को एडजस्ट करती है। लेकिन नेटवर्क को कैसे पता चलता है कि कौन से वेट्स बदलने हैं, और कितना? इसका जवाब है बैकप्रोपेगेशन - मॉडर्न डीप लर्निंग का सबसे महत्वपूर्ण एल्गोरिदम।

Andrej Karpathy इसे "न्यूरल नेटवर्क के बारे में समझने की सबसे ज़रूरी चीज़" कहते हैं। आइए देखें क्यों।

फॉरवर्ड पास की त्वरित समीक्षा

फॉरवर्ड पास के दौरान, डेटा नेटवर्क में बाएँ से दाएँ प्रवाहित होता है:

  1. इनपुट्स को वेट्स से गुणा किया जाता है और जोड़ा जाता है।
  2. एक बायस जोड़ा जाता है।
  3. एक एक्टिवेशन फंक्शन (जैसे ReLU) लगाया जाता है।
  4. आउटपुट अगली लेयर में जाता है, यह प्रक्रिया दोहराई जाती है जब तक अंतिम प्रेडिक्शन नहीं आ जाता।

फिर प्रेडिक्शन की तुलना सही उत्तर से लॉस फंक्शन (अगले पाठ में) का उपयोग करके की जाती है। लॉस एक संख्या है जो कहती है: "आप इतने गलत हैं।"

एक कम्प्यूटेशन ग्राफ जो तीन नोड्स से गुज़रते फॉरवर्ड पास को दिखाता है, जिसमें तीर इनपुट से लॉस तक डेटा प्रवाह को इंगित करते हैं
फॉरवर्ड पास एक कम्प्यूटेशन ग्राफ बनाता है। बैकप्रोपेगेशन फिर इसे उल्टा चलता है।

मुख्य अंतर्दृष्टि - दोष का निर्धारण

कल्पना करें कि आपने एक केक बनाया और उसका स्वाद खराब निकला। आपने पाँच सामग्रियाँ इस्तेमाल कीं। सवाल यह है: कौन सी सामग्री ने खराब स्वाद में सबसे ज़्यादा योगदान दिया, और कितना?

बैकप्रोपेगेशन न्यूरल नेटवर्क के लिए बिल्कुल यही सवाल का जवाब देता है। यह हर एक वेट को दोष देता है, यह पूछकर: "अगर मैं इस वेट को थोड़ा सा बदलूँ, तो लॉस कितना बदलेगा?"

परिवर्तन की उस दर को ग्रेडिएंट कहते हैं, और यह कैलकुलस से आता है - विशेष रूप से, डेरिवेटिव से।

🤯

Geoffrey Hinton, जो "AI के गॉडफादर्स" में से एक हैं, ने कहा है कि बैकप्रोपेगेशन वह मुख्य विचार है जिसने डीप लर्निंग को व्यावहारिक बनाया। इसके बिना, लाखों पैरामीटर्स वाले नेटवर्क को ट्रेन करना कम्प्यूटेशनल रूप से असंभव होता।

चेन रूल - सबको नियंत्रित करने वाला एक विचार

न्यूरल नेटवर्क सरल ऑपरेशनों की श्रृंखलाएँ हैं जो एक साथ जुड़ी होती हैं। कैलकुलस का चेन रूल हमें बताता है कि संयोजित फंक्शनों का डिफरेंशिएशन कैसे करें:

अगर y = f(g(x)) है, तो dy/dx = f'(g(x)) × g'(x)।

पाठ 6 / 160% पूर्ण
←AI नैतिकता और पूर्वाग्रह

Discussion

Sign in to join the discussion

lessons.suggestEdit

रोज़मर्रा का उदाहरण: आप एक दुकान तक ड्राइव करते हैं। आपकी गति इस पर निर्भर करती है कि आप एक्सेलरेटर कितना दबाते हैं। एक्सेलरेटर की स्थिति ट्रैफिक पर निर्भर करती है। यह जानने के लिए कि ट्रैफिक आपकी गति को कैसे प्रभावित करता है, आप गुणा करते हैं: (गति प्रति एक्सेलरेटर प्रेस) × (एक्सेलरेटर प्रेस प्रति ट्रैफिक स्थिति)। यही चेन रूल है - एक श्रृंखला के साथ स्थानीय परिवर्तन दरों को गुणा करना।

🤯

बैकप्रोपेगेशन को Rumelhart, Hinton और Williams के 1986 के एक ऐतिहासिक पेपर में लोकप्रिय बनाया गया था, लेकिन रिवर्स-मोड ऑटोमैटिक डिफरेंशिएशन का मूल विचार 1960 के दशक से है।

कम्प्यूटेशन ग्राफ - गणित को विज़ुअलाइज़ करना

PyTorch जैसे आधुनिक फ्रेमवर्क फॉरवर्ड पास के दौरान एक कम्प्यूटेशन ग्राफ बनाते हैं। हर ऑपरेशन - जोड़, गुणा, ReLU - एक नोड बन जाता है। बैकप्रोपेगेशन फिर इस ग्राफ को उल्टा चलता है, हर नोड पर चेन रूल लगाकर ग्रेडिएंट्स की गणना करता है।

इसे एक नदी प्रणाली की तरह सोचें। लॉस अंत में समुद्र है। बैकप्रोप हर सहायक नदी को ऊपर की ओर ट्रेस करता है यह पता लगाने के लिए कि हर स्रोत (वेट) ने अंतिम प्रवाह में कितना योगदान दिया।

एक छोटा कार्यात्मक उदाहरण

मान लीजिए L = (w × x - y)² जहाँ w = 2, x = 3, y = 10।

  1. फॉरवर्ड: w × x = 6, फिर 6 - 10 = -4, फिर (-4)² = 16। लॉस = 16।
  2. बैकवर्ड: dL/d(diff) = 2 × (-4) = -8, फिर d(diff)/d(wx) = 1, तो dL/d(wx) = -8।
  3. अंत में, d(wx)/dw = x = 3, तो dL/dw = -8 × 3 = -24।

−24 का ग्रेडिएंट हमें बताता है: w बढ़ाने से लॉस तेज़ी से कम होगा। यही वह सिग्नल है जो हमें सुधार के लिए चाहिए।

🧠त्वरित जांच

चेन रूल में, हम हर नोड पर स्थानीय डेरिवेटिव्स के साथ क्या करते हैं?

लेयर्स के माध्यम से ग्रेडिएंट प्रवाह

एक गहरे नेटवर्क में, ग्रेडिएंट्स को कई लेयर्स से गुज़रना पड़ता है। हर लेयर ग्रेडिएंट को अपने स्थानीय डेरिवेटिव से गुणा करती है। इससे दो खतरनाक विफलता मोड बनते हैं:

वैनिशिंग ग्रेडिएंट्स

अगर स्थानीय डेरिवेटिव्स छोटे हैं (जैसे, सिगमॉइड फंक्शन 0 या 1 के पास संतृप्त होता है), तो बार-बार गुणा करने से ग्रेडिएंट्स शून्य की ओर सिकुड़ जाते हैं। शुरुआती लेयर्स मुश्किल से सीख पाती हैं - उन्हें लगभग कोई सिग्नल नहीं मिलता। इस समस्या ने शुरुआती डीप नेटवर्क को परेशान किया।

एक्सप्लोडिंग ग्रेडिएंट्स

अगर स्थानीय डेरिवेटिव्स बड़े हैं, तो ग्रेडिएंट्स तेज़ी से बढ़ते हैं। वेट्स को भारी अपडेट मिलते हैं और नेटवर्क अस्थिर हो जाता है, NaN वैल्यूज़ पैदा करता है।

🤔
Think about it:

ReLU का डेरिवेटिव या तो 0 है या 1 - जब सक्रिय होता है तो यह कभी ग्रेडिएंट को नहीं सिकोड़ता। यह सरल गुण डीप नेटवर्क की ट्रेनिंग के लिए क्रांतिकारी क्यों रहा होगा?

आधुनिक समाधानों में शामिल हैं:

  • ReLU एक्टिवेशन - पॉज़िटिव इनपुट्स के लिए डेरिवेटिव 1 है, सिकुड़न से बचाता है।
  • रेसिड्युअल कनेक्शन (स्किप कनेक्शन) - ग्रेडिएंट्स को लेयर्स को बायपास करने का हाइवे देते हैं।
  • बैच नॉर्मलाइज़ेशन - वैल्यूज़ को स्वस्थ रेंज में रखता है।
  • ग्रेडिएंट क्लिपिंग - ग्रेडिएंट्स को विस्फोट से रोकने के लिए सीमित करता है।

वेट्स वास्तव में कैसे अपडेट होते हैं

एक बार बैकप्रोप हर ग्रेडिएंट की गणना कर लेता है, ऑप्टिमाइज़र (अगले पाठ में) हर वेट को अपडेट करता है:

w_new = w_old - learning_rate × gradient

लर्निंग रेट स्टेप साइज़ को नियंत्रित करता है। बहुत बड़ा होने पर आप ओवरशूट कर जाते हैं; बहुत छोटा होने पर ट्रेनिंग हमेशा के लिए चलती रहती है। ग्रेडिएंट आपको दिशा बताता है; लर्निंग रेट बताता है कि कितना आगे जाना है।

🧠त्वरित जांच

डीप नेटवर्क में वैनिशिंग ग्रेडिएंट्स का कारण क्या है?

बैकप्रोप क्यों मायने रखता है

हर बार जब ChatGPT अपनी नेक्स्ट-वर्ड प्रेडिक्शन में सुधार करता है, हर बार जब एक सेल्फ-ड्राइविंग कार अपनी स्टीयरिंग को बेहतर करती है, बैकप्रोपेगेशन नीचे चल रहा होता है। यह वह एल्गोरिदम है जो गलतियों से सीखना गणितीय रूप से सटीक बनाता है।

बैकप्रोप के बिना, लाखों - या अरबों - पैरामीटर्स वाले नेटवर्क को ट्रेन करने का कोई कुशल तरीका नहीं होता।

🧠त्वरित जांच

एक ग्रेडिएंट हमें एक वेट के बारे में क्या बताता है?

🤔
Think about it:

Karpathy ज़ोर देते हैं कि बैकप्रोप "बस चेन रूल का पुनरावर्ती अनुप्रयोग है।" अगर आप चेन रूल और कम्प्यूटेशन ग्राफ समझते हैं, तो आप बैकप्रोप समझते हैं। और कौन सी जटिल प्रणालियाँ सरल, संयोज्य टुकड़ों में तोड़कर समझी जा सकती हैं?

मुख्य सारांश

  • बैकप्रोपेगेशन कम्प्यूटेशन ग्राफ को उल्टा चलकर ग्रेडिएंट्स की गणना करता है।
  • चेन रूल हर पथ पर स्थानीय डेरिवेटिव्स को गुणा करता है।
  • वैनिशिंग ग्रेडिएंट्स सीखने को धीमा करते हैं; एक्सप्लोडिंग ग्रेडिएंट्स इसे अस्थिर करते हैं।
  • आधुनिक तरकीबें (ReLU, स्किप कनेक्शन, ग्रेडिएंट क्लिपिंग) ग्रेडिएंट प्रवाह को स्वस्थ रखती हैं।
  • बैकप्रोप + एक ऑप्टिमाइज़र = सभी मॉडर्न डीप लर्निंग का लर्निंग इंजन।

📚 आगे पढ़ें

  • Andrej Karpathy - nn-zero-to-hero (micrograd) - Python में शुरू से बैकप्रोप बनाएँ
  • 3Blue1Brown - Backpropagation Calculus - न्यूरल नेटवर्क में चेन रूल की सुंदर दृश्य व्याख्या
  • CS231n Backprop Notes - Stanford का कम्प्यूटेशन ग्राफ और ग्रेडिएंट प्रवाह पर संक्षिप्त संदर्भ