न्यूरल नेटवर्क में बैकप्रोपैगेशन: एमएल एल्गोरिदम और उदाहरण
⚡ स्मार्ट सारांश
बैकप्रोपैगेशन एक न्यूरल नेटवर्क का मुख्य प्रशिक्षण एल्गोरिदम है, जो पिछले युग में मापी गई त्रुटि से प्रत्येक भार को ठीक करता है ताकि मॉडल अनदेखे डेटा पर बेहतर ढंग से सामान्यीकरण कर सके, एक समय में एक परत।
एक कृत्रिम तंत्रिका नेटवर्क क्या है?
कृत्रिम तंत्रिका नेटवर्क (आर्टिफिशियल न्यूरल नेटवर्क) आपस में जुड़े इनपुट/आउटपुट इकाइयों का एक समूह है, जहाँ प्रत्येक कनेक्शन का एक भार होता है। यह बड़े डेटाबेस से पूर्वानुमान मॉडल बनाने में मदद करता है, और इसका डिज़ाइन मानव तंत्रिका तंत्र से प्रेरित है। इस प्रकार के नेटवर्क छवि समझ, मशीन लर्निंग, कंप्यूटर स्पीच और कई अन्य पैटर्न-पहचान कार्यों में सहायक होते हैं।
बैकप्रोपैगेशन वह एल्गोरिदम है जो यह तय करता है कि वे भार क्या होने चाहिए, इसलिए इन दोनों विचारों को एक साथ पढ़ना सबसे अच्छा है।
बैकप्रॉपैगेशन क्या है?
बैकप्रॉपेगेशन न्यूरल नेटवर्क प्रशिक्षण का मूल आधार है। यह पिछले चरण (यानी, पुनरावृति) में प्राप्त त्रुटि दर के आधार पर न्यूरल नेटवर्क के भार को ठीक करने की विधि है। भारों को सही ढंग से समायोजित करने से त्रुटि दर को कम किया जा सकता है और मॉडल की सामान्यीकरण क्षमता बढ़ाकर उसे अधिक विश्वसनीय बनाया जा सकता है।
तंत्रिका नेटवर्क में बैकप्रोपेगेशन "त्रुटियों के पिछड़े प्रसार" का संक्षिप्त रूप है। यह कृत्रिम तंत्रिका नेटवर्क को प्रशिक्षित करने की एक मानक विधि है। यह विधि नेटवर्क में सभी भारों के संबंध में हानि फ़ंक्शन के ग्रेडिएंट की गणना करने में मदद करती है।
दो शब्दों को अक्सर भ्रमित किया जाता है। बैकप्रोपैगेशन केवल गणना करता है ग्रेडिएंट; ग्रेडिएंट डिसेंट जैसा एक ऑप्टिमाइज़र ही वास्तव में यह काम करता है। परिवर्तन उस ग्रेडिएंट का उपयोग करके भार निर्धारित करें। लगभग हर आधुनिक फ्रेमवर्क अपने ऑटोडिफ़ इंजन के माध्यम से स्वचालित रूप से बैकप्रॉपैगेशन करता है।
बैकप्रोपेगेशन एल्गोरिदम कैसे काम करता है
न्यूरल नेटवर्क में बैक प्रोपेगेशन एल्गोरिदम चेन रूल का उपयोग करके एक सिंगल वेट के लिए लॉस फंक्शन का ग्रेडिएंट कंप्यूट करता है। यह सरल डायरेक्ट कंप्यूटेशन के विपरीत, एक समय में एक लेयर को कुशलतापूर्वक कंप्यूट करता है। यह ग्रेडिएंट को कंप्यूट तो करता है, लेकिन यह परिभाषित नहीं करता कि ग्रेडिएंट का उपयोग कैसे किया जाएगा। यह डेल्टा रूल में कंप्यूटेशन को सामान्यीकृत करता है।
श्रृंखला नियम ही इसे कुशल बनाता है। अंतिम हानि पर प्रारंभिक भार का प्रभाव आउटपुट तक के पथ में स्थानीय व्युत्पन्नों का गुणनफल होता है, इसलिए एल्गोरिदम वापसी के रास्ते में प्रत्येक परत के मध्यवर्ती परिणाम को कैश करता है और प्रत्येक भार के लिए पूरे नेटवर्क की पुनर्गणना करने के बजाय नीचे की परत में प्रत्येक भार के लिए इसका पुन: उपयोग करता है।
इसे समझने के लिए निम्नलिखित बैक प्रोपेगेशन न्यूरल नेटवर्क उदाहरण आरेख पर विचार करें। tracयह एक पूर्ण पास है: इनपुट बाईं ओर से प्रवेश करते हैं, सक्रियण छिपी हुई परत के माध्यम से आउटपुट तक आगे बढ़ते हैं, और मापी गई त्रुटि फिर भार को सही करने के लिए उन्हीं कनेक्शनों के साथ वापस यात्रा करती है।
- इनपुट X, पूर्व-संयोजित पथ से पहुँचते हैं
- इनपुट को वास्तविक भार W का उपयोग करके मॉडल किया जाता है। भार आमतौर पर यादृच्छिक रूप से चुने जाते हैं।
- इनपुट परत से लेकर छिपी परतों तक, आउटपुट परत तक प्रत्येक न्यूरॉन के लिए आउटपुट की गणना करें।
- आउटपुट में त्रुटि की गणना करें:
ErrorB= Actual Output – Desired Output
- आउटपुट परत से छिपी परत तक वापस जाएँ और भार को समायोजित करें ताकि त्रुटि कम हो जाए।
- वांछित परिणाम प्राप्त होने तक इस प्रक्रिया को दोहराते रहें।
कई पाठ्यपुस्तकों में समान मात्रा लिखी जाती है वांछित माइनस वास्तविकदोनों ही तरीके काम करते हैं, क्योंकि ऑप्टिमाइज़र द्वारा किए जाने पर चिह्न समाहित हो जाता है।tracयह ग्रेडिएंट है, बशर्ते आप पूरे नेटवर्क में एक ही नियम का पालन करें।
व्यवहार में, त्रुटि शायद ही कभी मात्र एक उप-त्रुटि होती है।tracएक हानि फ़ंक्शन, जैसे कि रिग्रेशन के लिए माध्य वर्ग त्रुटि, या वर्गीकरण के लिए क्रॉस-एंट्रोपी, प्रति-आउटपुट अंतर को एक एकल संख्या में परिवर्तित करता है जिसकी गणना वास्तव में ग्रेडिएंट बैकप्रोपैगेशन द्वारा की जाती है।
हमें बैकप्रोपेगेशन की आवश्यकता क्यों है?
बैकप्रोपेगेशन के सबसे प्रमुख लाभ हैं:
- बैकप्रोपेगेशन तेज, सरल और प्रोग्राम करने में आसान है
- यह स्वयं कोई नया पैरामीटर नहीं जोड़ता; आप जो ट्यूनिंग करते हैं वह ऑप्टिमाइज़र और नेटवर्क से संबंधित होती है, मुख्य रूप से लर्निंग रेट और इनपुट की संख्या।
- यह एक लचीली विधि है क्योंकि इसमें नेटवर्क के बारे में पूर्व ज्ञान की आवश्यकता नहीं होती है
- यह एक मानक विधि है जो आम तौर पर अच्छी तरह से काम करती है
- इसमें सीखे जाने वाले फ़ंक्शन की विशेषताओं का कोई विशेष उल्लेख करने की आवश्यकता नहीं होती।
सरल शब्दों में कहें तो, ग्रेडिएंट प्राप्त करने के कुशल तरीके के बिना, एक परत से अधिक गहरी किसी भी चीज़ को प्रशिक्षित करना गणनात्मक रूप से अव्यावहारिक होगा।
फीड फॉरवर्ड नेटवर्क क्या है?
फीडफॉरवर्ड न्यूरल नेटवर्क एक कृत्रिम न्यूरल नेटवर्क है, जहाँ नोड्स कभी भी चक्र नहीं बनाते हैं। इस तरह के न्यूरल नेटवर्क में एक इनपुट लेयर, छिपी हुई लेयर और एक आउटपुट लेयर होती है। यह कृत्रिम न्यूरल नेटवर्क का पहला और सरलतम प्रकार है।
यह अंतर यहाँ महत्वपूर्ण है क्योंकि बैकप्रोपैगेशन का फॉरवर्ड पास बिल्कुल फीडफॉरवर्ड पास होता है; केवल त्रुटि सुधार विपरीत दिशा में चलता है।
बैकप्रोपेगेशन नेटवर्क के प्रकार
बैकप्रोपेगेशन नेटवर्क के दो प्रकार हैं:
- स्थैतिक बैक-प्रोपेगेशन
- पुनरावर्ती बैकप्रोपेगेशन
स्थैतिक पश्च-प्रसार
यह एक प्रकार का बैकप्रॉपैगेशन नेटवर्क है जो एक मैप उत्पन्न करता है।ping स्थिर इनपुट से स्थिर आउटपुट प्राप्त करना। यह ऑप्टिकल कैरेक्टर रिकग्निशन जैसी स्थिर वर्गीकरण समस्याओं को हल करने में उपयोगी है।
पुनरावर्ती बैकप्रोपेगेशन
आवर्ती बैक प्रोपेगेशन में आँकड़ा खनन एक निश्चित मान प्राप्त होने तक प्रक्रिया को आगे बढ़ाया जाता है। उसके बाद, त्रुटि की गणना की जाती है और उसे पीछे की ओर प्रसारित किया जाता है।
इन दोनों विधियों के बीच मुख्य अंतर यह है कि मानचित्रping स्थैतिक बैक-प्रोपैगेशन में यह तीव्र होता है जबकि आवर्ती बैक-प्रोपैगेशन में यह गैर-स्थैतिक होता है। नीचे दी गई तालिका दोनों को साथ-साथ दर्शाती है।
| कसौटी | स्थैतिक पश्च-प्रसार | आवर्ती बैकप्रोपैगेशन |
|---|---|---|
| नक्शाping | स्थिर इनपुट से स्थिर आउटपुट | गैर-स्थिर; त्रुटि का उपयोग करने से पहले नेटवर्क स्थिर हो जाता है। |
| गति | तेज़ गति, प्रति नमूना एक ही बार में प्रक्रिया | धीमी गति से, सक्रियण प्रक्रिया को तब तक दोहराया जाता है जब तक कि यह स्थिर न हो जाए। |
| नेटवर्क आकार | फीडफॉरवर्ड, कोई चक्र नहीं | इसमें फीडबैक कनेक्शन शामिल हैं |
| विशिष्ट उपयोग | ऑप्टिकल कैरेक्टर रिकग्निशन, निश्चित आकार वर्गीकरण | ऐसी समस्याएं जिनका परिणाम एक स्थिर आंतरिक स्थिति पर निर्भर करता है |
बैकप्रोपेगेशन का इतिहास
- 1961 में, जे. केली, हेनरी आर्थर और ई. ब्रायसन द्वारा नियंत्रण सिद्धांत के संदर्भ में निरंतर बैकप्रोपैगेशन की मूल अवधारणा को व्युत्पन्न किया गया था।
- 1969 में, ब्रायसन और हो ने बहु-चरणीय गतिशील प्रणाली अनुकूलन विधि दी।
- 1970 में, सेप्पो लिन्नाइनमा ने स्वचालित विभेदन का रिवर्स मोड प्रकाशित किया, जो कि वह कम्प्यूटेशनल विधि है जिस पर आधुनिक बैकप्रोपैगेशन आधारित है।
- 1974 में, वेरबोस ने इस सिद्धांत को कृत्रिम तंत्रिका नेटवर्क में लागू करने की संभावना बताई।
- 1982 में हॉपफील्ड ने न्यूरल नेटवर्क का अपना विचार प्रस्तुत किया।
- 1986 में, डेविड ई. रुमेलहार्ट, जेफ्री ई. हिंटन, रोनाल्ड जे. विलियम्स के प्रयास से बैकप्रोपेगेशन को मान्यता मिली।
- 1989 में, यान लेकुन और उनके सहयोगियों ने हस्तलिखित अंकों को पढ़ने के लिए बैकप्रॉपैगेशन के साथ एक कनवोल्यूशनल नेटवर्क को प्रशिक्षित किया, जो कि पहले बड़े पैमाने पर व्यावहारिक उपयोगों में से एक था।
- 1993 में, वान बैकप्रोपेगेशन विधि की सहायता से अंतर्राष्ट्रीय पैटर्न पहचान प्रतियोगिता जीतने वाले पहले व्यक्ति थे।
- 2006 में, डीप बिलीफ नेटवर्क और लेयर-वाइज प्रीट्रेनिंग पर हिंटन के काम ने डीप नेटवर्क को प्रशिक्षित करने में रुचि को पुनर्जीवित किया, जो वैनिशिंग ग्रेडिएंट्स के कारण रुक गई थी।
- 2010 में, जेवियर ग्लोरोट और योशुआ बेंगियो ने विश्लेषण किया कि डीप नेटवर्क को प्रशिक्षित करना कठिन क्यों था और बेहतर वेट इनिशियलाइज़ेशन पेश किया, जिसने ReLU एक्टिवेशन के साथ मिलकर डीप बैकप्रॉपैगेशन को व्यावहारिक बना दिया।
- 2012 में, एलेक्सनेट (क्रिज़ेव्स्की, सुत्स्केवर और हिंटन) ने जीपीयू-एक्सेलरेटेड बैकप्रोपैगेशन का उपयोग करके इमेजनेट प्रतियोगिता जीती, जिससे आधुनिक डीप लर्निंग में तेजी आई।
- 2014 में, एडम ऑप्टिमाइज़र (किंगमा और बा) को पेश किया गया और यह जल्दी ही बैकप्रॉपैगेशन के साथ उपयोग किए जाने वाले डिफ़ॉल्ट ग्रेडिएंट-डिसेंट वेरिएंट के रूप में उभर आया।
- 2015 में, बैच नॉर्मलाइज़ेशन और रेसिडुअल नेटवर्क (ResNet) ने बहुत गहरे नेटवर्क में ग्रेडिएंट फ्लो की समस्याओं को हल किया, जिससे सैकड़ों परतों के माध्यम से बैकप्रोपैगेशन संभव हो गया।
- 2015-2017 में, TensorFlow और PyTorch ने स्वचालित अवकलन को एक मानक सॉफ्टवेयर विशेषता बना दिया, जिससे प्रवणता को अब हाथ से प्राप्त करने की आवश्यकता नहीं रह गई।
- 2017 में, ट्रांसफॉर्मर आर्किटेक्चर को पेश किया गया था, और इसे बैकप्रॉपैगेशन के साथ एंड-टू-एंड प्रशिक्षित किया जाता है, जैसा कि इस पर निर्मित बड़े भाषा मॉडल के साथ किया जाता है।
- 2019 में, बेंगियो, हिंटन और लेकुन को डीप न्यूरल नेटवर्क पर उनके काम के लिए एसीएम एएम ट्यूरिंग पुरस्कार से सम्मानित किया गया।
- 2020 में, "बैकप्रोपैगेशन एंड द ब्रेन" (लिलिक्रैप, सैंटोरो, मैरिस, एकरमैन और हिंटन) नामक शोध पत्र में यह तर्क दिया गया कि मस्तिष्क बैकप्रोपैगेशन जैसी सीखने की प्रक्रिया का अनुमान लगा सकता है, जिससे जैविक संभाव्यता पर बहस फिर से शुरू हो गई।
- 2022 में, हिंटन ने फॉरवर्ड-फॉरवर्ड एल्गोरिदम का प्रस्ताव रखा, जो एक प्रशिक्षण विधि है जो पूरी तरह से बैकवर्ड पास से बचती है।
- 2024 में, जॉन हॉपफील्ड और जेफ्री हिंटन को कृत्रिम तंत्रिका नेटवर्क के साथ मशीन लर्निंग को सक्षम बनाने वाली मूलभूत खोजों के लिए भौतिकी में नोबेल पुरस्कार से सम्मानित किया गया था।
- 2025 में, फॉरवर्ड-फॉरवर्ड विधियों को कनवोल्यूशनल नेटवर्क तक विस्तारित किया गया, जिससे यह प्रदर्शित हुआ कि बैकप्रॉपैगेशन-मुक्त प्रशिक्षण छवि वर्गीकरण कार्यों पर काम कर सकता है।
- 2026 तक, बैकप्रॉपेगेशन लगभग सभी डीप लर्निंग मॉडलों के लिए मानक प्रशिक्षण एल्गोरिदम बना हुआ है, जबकि ग्रेडिएंट-मुक्त, स्थानीय और समानांतर शिक्षण विधियों पर शोध जारी है जो इसकी मेमोरी और कंप्यूटिंग लागत को कम करते हैं।
बैकप्रोपेगेशन मुख्य बिंदु
- प्रशिक्षित नेटवर्क पर सबसे कम प्रभाव डालने वाले भारित लिंक को हटाकर नेटवर्क संरचना को सरल बनाता है।
- आपको इनपुट और छिपी हुई इकाई परतों के बीच संबंध विकसित करने के लिए इनपुट और सक्रियण मूल्यों के एक समूह का अध्ययन करने की आवश्यकता है।
- यह किसी दिए गए इनपुट चर का नेटवर्क आउटपुट पर पड़ने वाले प्रभाव का आकलन करने में मदद करता है। इस विश्लेषण से प्राप्त ज्ञान को नियमों में दर्शाया जाना चाहिए।
- बैकप्रोपेगेशन विशेष रूप से त्रुटि-प्रवण परियोजनाओं, जैसे छवि या वाक् पहचान, पर काम करने वाले गहरे तंत्रिका नेटवर्क के लिए उपयोगी है।
- बैकप्रोपैगेशन श्रृंखला और शक्ति नियमों का लाभ उठाता है, जो इसे किसी भी संख्या में आउटपुट के साथ कार्य करने की अनुमति देता है।
बैकप्रोपैगेशन के लिए सर्वोत्तम अभ्यास
न्यूरल नेटवर्क में बैकप्रोपैगेशन को "जूते के फीते" के उदाहरण से समझाया जा सकता है। वेट अपडेट ठीक उसी तरह व्यवहार करते हैं जैसे फीते पर तनाव होता है: अगर तनाव बहुत कम हो तो कुछ भी बंधा नहीं रहता, और अगर बहुत ज्यादा हो तो कुछ टूट जाता है।
| लेस का तनाव | प्रशिक्षण के दौरान इसका क्या अर्थ है |
|---|---|
| बहुत कम तनाव | पर्याप्त प्रतिबंध नहीं और बहुत ढीलापन — मॉडल अंडरफिट है |
| बहुत ज्यादा तनाव | अत्यधिक दबाव (अतिप्रशिक्षण); बहुत अधिक समय लगना (अपेक्षाकृत धीमी प्रक्रिया); टूटने की अधिक संभावना |
| एक फीते को दूसरे से ज्यादा खींचना | असुविधा (पूर्वाग्रह) — नेटवर्क का एक हिस्सा फिट पर हावी हो जाता है |
इस सादृश्य से दो व्यावहारिक आदतें निकलती हैं: प्रशिक्षण से पहले इनपुट को इस तरह से समायोजित करें कि कोई भी एक विशेषता बाकी की तुलना में अधिक दबाव न डाले, और सत्यापन हानि पर नज़र रखें ताकि ओवरट्रेनिंग शुरू होने से पहले तनाव कम हो जाए।
बैकप्रोपेगेशन का उपयोग करने के नुकसान
- किसी विशिष्ट समस्या पर बैकप्रोपेगेशन का वास्तविक प्रदर्शन इनपुट डेटा पर निर्भर करता है।
- डेटा माइनिंग में बैक प्रोपेगेशन एल्गोरिदम शोर वाले डेटा के प्रति काफी संवेदनशील हो सकता है
- मिनी-बैच पर, बैकप्रॉपैगेशन को मैट्रिक्स-आधारित दृष्टिकोण के साथ लागू किया जाना चाहिए;ping एक बार में एक उदाहरण पर काम करना काफी धीमा होता है।
- गहरे नेटवर्कों में, छोटे डेरिवेटिव के बार-बार गुणन से ग्रेडिएंट शून्य की ओर सिकुड़ सकते हैं, इसलिए सबसे शुरुआती परतें मुश्किल से ही सीख पाती हैं - यह लुप्त होते ग्रेडिएंट की समस्या है जिसका वर्णन किया गया है। गूगल मशीन लर्निंग क्रैश कोर्स.
इनमें से कोई भी बात इस पद्धति को खारिज नहीं करती। यही कारण है कि जब अभ्यासकर्ता शैलो नेटवर्क से एडवांस्ड नेटवर्क की ओर बढ़ते हैं, तो वे ReLU एक्टिवेशन, नॉर्मलाइज़ेशन और सावधानीपूर्वक लर्निंग-रेट शेड्यूल का सहारा लेते हैं। ध्यान लगा के पढ़ना या सीखना मॉडल.

