Backpropagation
एक मशीन-लर्निंग एल्गोरिदम के रूप में, बैकप्रोपेगेशन एक न्यूरल नेटवर्क मॉडल के मापदंडों को समायोजित करने के लिए एक बैकवर्ड पास करता है, जिसका उद्देश्य मीन स्क्वायर एरर (एम. एस. ई.) को कम करना है। एक बहु-स्तरीय नेटवर्क में, बैकप्रोपेगेशन निम्नलिखित चरणों का उपयोग करता हैः क्रमिक छिपी हुई परतों के आउटपुट और अंत में अंतिम परत के आउटपुट (फीडफॉरवर्ड चरण) की गणना करके इनपुट से अनुमानित आउटपुट तक मॉडल के माध्यम से प्रशिक्षण डेटा का प्रचार करें। वज़न के सापेक्ष त्रुटि को कम करने के लिए मॉडल के वज़न को समायोजित करें। त्रुटि आम तौर पर भविष्यवाणी और लक्ष्य के बीच वर्ग अंतर है। प्रत्येक भार के लिए, त्रुटि का ढलान या व्युत्पन्न पाया जाता है, और इस व्युत्पन्न के नकारात्मक गुणक द्वारा समायोजित वजन, ताकि न्यूनतम-त्रुटि विन्यास की ओर नीचे की ओर जा सके। इस व्युत्पन्न की गणना अंतिम परत भार के लिए करना आसान है, और अगली परत के व्युत्पन्न को देखते हुए एक परत के लिए गणना करना संभव है। अंत से शुरू करते हुए, फिर, व्युत्पन्न की गणना शुरुआत की ओर परत दर परत की जाती है-इस प्रकार "बैकप्रोपेगेशन"। बार-बार वज़न को तब तक अद्यतन करें जब तक कि वे अभिसरण न कर लें या मॉडल में पर्याप्त पुनरावृत्ति न हो जाए। यह ऐसे नेटवर्कों के लिए लीबनिज़ श्रृंखला नियम (1673) का एक कुशल अनुप्रयोग है। सेप्पो लिनैनमा (1970) के कारण इसे स्वचालित विभेदन या विपरीत संचय के विपरीत मोड के रूप में भी जाना जाता है। "बैक-प्रोपेगेटिंग एरर करेक्शन" शब्द 1962 में फ्रैंक रोसेनब्लैट द्वारा पेश किया गया था, लेकिन उन्हें नहीं पता था कि इसे कैसे लागू किया जाए, भले ही हेनरी जे. केली के पास नियंत्रण सिद्धांत के संदर्भ में 1960 में पहले से ही बैकप्रोपेगेशन का निरंतर अग्रदूत था। बैकप्रोपेगेशन एकल इनपुट-आउटपुट उदाहरण के लिए नेटवर्क के भार के संबंध में एक हानि फलन के प्रवणता की गणना करता है, और ऐसा कुशलता से करता है, एक समय में एक परत की गणना करता है, श्रृंखला नियम में मध्यवर्ती शब्दों की अनावश्यक गणना से बचने के लिए अंतिम परत से पीछे की ओर पुनरावृत्ति करता है; इसे गतिशील प्रोग्रामिंग के माध्यम से प्राप्त किया जा सकता है। ग्रेडिएंट डिसेंट, या स्टोकेस्टिक ग्रेडिएंट डिसेंट जैसे रूपों का आमतौर पर उपयोग किया जाता है। कड़ाई से शब्द बैकप्रोपेगेशन केवल ढाल की गणना के लिए एल्गोरिथ्म को संदर्भित करता है, न कि ढाल का उपयोग कैसे किया जाता है; लेकिन इस शब्द का उपयोग अक्सर पूरे सीखने के एल्गोरिथ्म को संदर्भित करने के लिए किया जाता है-जिसमें ढाल का उपयोग कैसे किया जाता है, जैसे कि यादृच्छिक ढाल वंश द्वारा। 1986 में डेविड ई. रुमेलहार्ट और अन्य। तकनीक का एक प्रयोगात्मक विश्लेषण प्रकाशित किया। इसने बैकप्रोपेगेशन को लोकप्रिय बनाने में योगदान दिया और बहुस्तरीय परसेप्ट्रॉन में अनुसंधान की एक सक्रिय अवधि शुरू करने में मदद की। अवलोकन बैकप्रोपेगेशन एक हानि कार्य के संबंध में एक फीडफॉरवर्ड तंत्रिका नेटवर्क के वजन स्थान में ढाल की गणना करता है। निरूपितःः इनपुट (विशेषताओं का सदिश): लक्ष्य आउटपुट वर्गीकरण के लिए, आउटपुट वर्ग संभावनाओं का एक सदिश होगा (जैसे,, और लक्ष्य आउटपुट एक विशिष्ट वर्ग है, जिसे एक-गर्म/नकली चर (जैसे,) द्वारा कूटबद्ध किया जाता है। : लॉस फंक्शन या "कॉस्ट फंक्शन" वर्गीकरण के लिए, यह आमतौर पर क्रॉस-एन्ट्रापी (एक्ससी, लॉग लॉस) होता है, जबकि प्रतिगमन के लिए यह आमतौर पर स्क्वायर एरर लॉस (एसईएल) होता है। : परतों की संख्याः परत के बीच का भार और, परत में-th नोड और-th नोड के बीच का भार कहाँ हैः परत में सक्रियण कार्य वर्गीकरण के लिए अंतिम परत आमतौर पर द्विआधारी वर्गीकरण के लिए लॉजिस्टिक कार्य है, और बहु-श्रेणी वर्गीकरण के लिए सॉफ्टमैक्स (सॉफ्टार्गमैक्स), जबकि छिपी हुई परतों के लिए यह पारंपरिक रूप से प्रत्येक नोड (समन्वय) पर एक सिग्मॉइड कार्य (लॉजिस्टिक कार्य या अन्य) था, लेकिन आज अधिक विविध है, जिसमें रेक्टिफायर (रैंप, आरईएलयू) आम है। : परत में-th नोड का सक्रियण। बैकप्रोपेगेशन की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग नीचे दी गई आवश्यकता के अनुसार किया जाता है। पूर्वाग्रह शब्दों को विशेष रूप से नहीं माना जाता है क्योंकि वे 1 के निश्चित इनपुट के साथ वजन के अनुरूप होते हैं। बैकप्रोपेगेशन के लिए विशिष्ट हानि कार्य और सक्रियण कार्य तब तक मायने नहीं रखते जब तक कि उनका और उनके व्युत्पन्न का कुशलता से मूल्यांकन किया जा सके। पारंपरिक सक्रियण कार्यों में सिग्मॉइड, तनह और आरईएलयू शामिल हैं। स्विश मिश, और अन्य सक्रियण कार्यों को भी तब से प्रस्तावित किया गया है। समग्र नेटवर्क फलन संरचना और मैट्रिक्स गुणन का एक संयोजन हैः एक प्रशिक्षण सेट के लिए इनपुट-आउटपुट जोड़े का एक सेट होगा। प्रशिक्षण सेट में प्रत्येक इनपुट-आउटपुट जोड़ी के लिए, उस जोड़ी पर मॉडल का नुकसान अनुमानित आउटपुट और लक्ष्य आउटपुट के बीच के अंतर की लागत हैः अंतर पर ध्यान देंः मॉडल मूल्यांकन के दौरान वजन तय किए जाते हैं जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें लॉस फंक्शन शामिल नहीं है)। मॉडल प्रशिक्षण के दौरान इनपुट-आउटपुट जोड़ी को तय किया जाता है जबकि वजन अलग-अलग होता है, और नेटवर्क लॉस फंक्शन के साथ समाप्त होता है। बैकप्रोपेगेशन एक निश्चित इनपुट-आउटपुट जोड़ी के लिए ढाल की गणना करता है, जहां भार भिन्न हो सकते हैं। ढाल के प्रत्येक व्यक्तिगत घटक की गणना श्रृंखला नियम द्वारा की जा सकती है; लेकिन प्रत्येक वजन के लिए अलग से ऐसा करना अक्षम है। बैकप्रोपेगेशन कुशलतापूर्वक प्रत्येक परत के प्रवणता की गणना करके, डुप्लिकेट गणनाओं से बचकर और अनावश्यक मध्यवर्ती मूल्यों की गणना नहीं करके प्रवणता की गणना करता है-विशेष रूप से प्रत्येक परत के भारित इनपुट के प्रवणता, जिसे पीछे से सामने तक दर्शाया जाता है। अनौपचारिक रूप से, मुख्य बात यह है कि चूंकि वजन को प्रभावित करने का एकमात्र तरीका अगली परत पर इसके प्रभाव के माध्यम से होता है, और यह रैखिक रूप से ऐसा करता है, इसलिए आपको परत पर भार के प्रवणता की गणना करने के लिए केवल डेटा की आवश्यकता होती है, और फिर पिछली परत की गणना की जा सकती है और इसे पुनरावर्ती रूप से दोहराया जा सकता है। यह दो तरीकों से अक्षमता से बचाता है। सबसे पहले, यह दोहराव से बचाता है क्योंकि परत पर ढाल की गणना करते समय-हर बार बाद की परतों पर सभी व्युत्पन्नों की पुनः गणना करना अनावश्यक है। दूसरा, यह अनावश्यक मध्यवर्ती गणनाओं से बचाता है, क्योंकि प्रत्येक चरण में यह भार में परिवर्तन के संबंध में छिपी परतों के मूल्यों के व्युत्पन्न की अनावश्यक रूप से गणना करने के बजाय, अंतिम उत्पादन (हानि) के संबंध में भार के प्रवणता की सीधे गणना करता है। बैकप्रोपेगेशन को सरल फीडफॉरवर्ड नेटवर्क के लिए मैट्रिक्स गुणन के संदर्भ में, या आम तौर पर संलग्न ग्राफ के संदर्भ में व्यक्त किया जा सकता है। मैट्रिक्स गुणन एक फीडफॉरवर्ड नेटवर्क के मूल मामले के लिए, जहां प्रत्येक परत में नोड्स केवल तत्काल अगली परत में नोड्स से जुड़े होते हैं (किसी भी परत को छोड़े बिना), और एक लॉस फंक्शन होता है जो अंतिम आउटपुट के लिए एक स्केलर लॉस की गणना करता है, बैकप्रोपेगेशन को केवल मैट्रिक्स गुणन द्वारा समझा जा सकता है। अनिवार्य रूप से, बैकप्रोपेगेशन प्रत्येक परत के बीच व्युत्पन्न के उत्पाद के रूप में लागत फ़ंक्शन के व्युत्पन्न के लिए अभिव्यक्ति का मूल्यांकन करता है-दाएँ से बाएँ-"पीछे की ओर"-प्रत्येक परत के बीच भार का ढाल आंशिक उत्पादों का एक सरल संशोधन है ("पीछे की ओर प्रचारित त्रुटि")। एक इनपुट-आउटपुट जोड़ी को देखते हुए, नुकसान यह हैः इसकी गणना करने के लिए, एक इनपुट के साथ शुरू होता है और आगे काम करता है; प्रत्येक छिपी हुई परत के भारित इनपुट को और छिपी हुई परत के आउटपुट को सक्रियण के रूप में दर्शाता है। बैकप्रोपेगेशन के लिए, सक्रियण के साथ-साथ व्युत्पन्न (मूल्यांकन पर) को बैकवर्ड पास के दौरान उपयोग के लिए कैश किया जाना चाहिए। इनपुट के संदर्भ में नुकसान का व्युत्पन्न श्रृंखला नियम द्वारा दिया जाता है; ध्यान दें कि प्रत्येक शब्द एक कुल व्युत्पन्न है, जिसका मूल्यांकन इनपुट पर नेटवर्क के मूल्य (प्रत्येक नोड पर) पर किया जाता हैः जहां एक विकर्ण मैट्रिक्स है। ये शब्द हैंः हानि फलन के व्युत्पन्न; सक्रियण कार्यों के व्युत्पन्न; और भार के मैट्रिक्सः प्रवणता इनपुट के संदर्भ में आउटपुट के व्युत्पन्न का स्थानान्तरण है, इसलिए मैट्रिक्स को स्थानांतरित किया जाता है और गुणन का क्रम उलट दिया जाता है, लेकिन प्रविष्टियां समान होती हैंः बैकप्रोपेगेशन में अनिवार्य रूप से इस अभिव्यक्ति का मूल्यांकन दाएँ से बाएँ (समकक्ष रूप से, व्युत्पन्न के लिए पिछली अभिव्यक्ति को बाएँ से दाएँ से गुणा करना), रास्ते में प्रत्येक परत पर प्रवणता की गणना करना शामिल है; एक अतिरिक्त चरण है, क्योंकि भार का प्रवणता केवल एक उप-अभिव्यक्ति नहीं हैः एक अतिरिक्त गुणन है। आंशिक उत्पादों (दाएँ से बाएँ गुणा) के लिए सहायक मात्रा का परिचय देते हुए, "स्तर पर त्रुटि" के रूप में व्याख्या की जाती है और स्तर पर इनपुट मूल्यों के ढाल के रूप में परिभाषित किया जाता हैः ध्यान दें कि एक वेक्टर है, जिसकी लंबाई स्तर में नोड्स की संख्या के बराबर है; प्रत्येक घटक की व्याख्या "उस नोड (के मूल्य) के लिए जिम्मेदार लागत" के रूप में की जाती है। परत में भार का ढाल तब होता हैः का कारक यह है कि स्तर और प्रभाव स्तर के बीच का भार निवेश (सक्रियण) के अनुपात में होता हैः निवेश तय होते हैं, भार भिन्न होते हैं। दाएँ से बाएँ जाते हुए आसानी से पुनरावर्ती रूप से गणना की जा सकती है, इस प्रकारः भार के प्रवणता की गणना प्रत्येक स्तर के लिए कुछ मैट्रिक्स गुणन का उपयोग करके की जा सकती है; यह बैकप्रोपेगेशन है। सरलता से आगे की गणना की तुलना में (उदाहरण के लिए का उपयोग करते हुए): बैकप्रोपेगेशन के साथ दो प्रमुख अंतर हैंः के संदर्भ में कम्प्यूटिंग परतों और उससे आगे के स्पष्ट डुप्लिकेट गुणन से बचती है। से शुरू करके गुणा करना-त्रुटि को पीछे की ओर फैलाना-इसका मतलब है कि प्रत्येक चरण बस एक वेक्टर () को भार और सक्रियण के व्युत्पन्न के मैट्रिक्स से गुणा करता है। इसके विपरीत, पहले की परत में परिवर्तनों से शुरू करते हुए, आगे की ओर गुणा करने का अर्थ है कि प्रत्येक गुणन एक मैट्रिक्स को एक मैट्रिक्स से गुणा करता है। यह बहुत अधिक महंगा है, और परत में परिवर्तन के लिए एक परत में परिवर्तन के हर संभावित मार्ग पर नज़र रखने के लिए मेल खाता है (सक्रियणों के व्युत्पन्न के लिए अतिरिक्त गुणन के साथ गुणा करने के लिए), जो अनावश्यक रूप से मध्यवर्ती मात्रा की गणना करता है कि वजन परिवर्तन कैसे प्रभावित करते हैं छिपे हुए नोड्स के मूल्य। अधिक सामान्य ग्राफ और अन्य उन्नत विविधताओं के लिए, बैकप्रोपेगेशन को स्वचालित विभेदन के संदर्भ में समझा जा सकता है, जहां बैकप्रोपेगेशन रिवर्स संचय (या "रिवर्स मोड") का एक विशेष मामला है। अंतर्ज्ञान प्रेरणा किसी भी पर्यवेक्षित शिक्षण एल्गोरिदम का लक्ष्य एक ऐसे कार्य को खोजना है जो इनपुट के एक समूह को उनके सही आउटपुट के लिए सबसे अच्छा मानचित्रित करता है। बैकप्रोपेगेशन के लिए प्रेरणा एक बहु-स्तरीय तंत्रिका नेटवर्क को प्रशिक्षित करना है ताकि यह उपयुक्त आंतरिक अभ्यावेदन सीख सके ताकि यह आउटपुट के लिए इनपुट के किसी भी मनमाने मानचित्रण को सीख सके। एक अनुकूलन समस्या के रूप में सीखना बैकप्रोपेगेशन एल्गोरिदम की गणितीय व्युत्पत्ति को समझने के लिए, यह पहले एक न्यूरॉन के वास्तविक उत्पादन और एक विशेष प्रशिक्षण उदाहरण के लिए सही उत्पादन के बीच संबंध के बारे में कुछ अंतर्ज्ञान विकसित करने में मदद करता है। दो इनपुट इकाइयों, एक आउटपुट इकाई और कोई छिपी हुई इकाइयों के साथ एक साधारण तंत्रिका नेटवर्क पर विचार करें, और जिसमें प्रत्येक न्यूरॉन एक रैखिक आउटपुट का उपयोग करता है (तंत्रिका नेटवर्क पर अधिकांश काम के विपरीत, जिसमें इनपुट से आउटपुट तक मानचित्रण गैर-रैखिक होता है) जो इसके इनपुट का भारित योग है। प्रारंभ में, प्रशिक्षण से पहले, भार यादृच्छिक रूप से निर्धारित किया जाएगा। फिर न्यूरॉन प्रशिक्षण उदाहरणों से सीखता है, जिसमें इस मामले में टुपल्स का एक समूह होता है जहां और वे नेटवर्क के लिए इनपुट होते हैं और सही आउटपुट होता है (नेटवर्क को उन इनपुट को देखते हुए आउटपुट का उत्पादन करना चाहिए, जब इसे प्रशिक्षित किया गया हो)। प्रारंभिक नेटवर्क, दिया गया और, एक आउटपुट की गणना करेगा जो संभवतः (यादृच्छिक भार दिए जाने पर) से अलग है। लक्ष्य उत्पादन और संगणित उत्पादन के बीच विसंगति को मापने के लिए एक हानि फलन का उपयोग किया जाता है। प्रतिगमन विश्लेषण समस्याओं के लिए वर्ग त्रुटि का उपयोग हानि कार्य के रूप में किया जा सकता है, वर्गीकरण के लिए श्रेणीबद्ध क्रॉस-एन्ट्रापी का उपयोग किया जा सकता है। एक उदाहरण के रूप में वर्ग त्रुटि का उपयोग करके प्रतिगमन समस्या को नुकसान के रूप में लेंः विसंगति या त्रुटि कहाँ है। एकल प्रशिक्षण मामले पर नेटवर्क पर विचार करेंः इस प्रकार, इनपुट और क्रमशः 1 और 1 हैं और सही आउटपुट, 0 है। अब यदि क्षैतिज अक्ष पर नेटवर्क के आउटपुट और ऊर्ध्वाधर अक्ष पर त्रुटि के बीच संबंध को प्लॉट किया जाता है, तो परिणाम एक पैराबोला है। पैराबोला का न्यूनतम आउटपुट से मेल खाता है जो त्रुटि को कम करता है। एकल प्रशिक्षण मामले के लिए, न्यूनतम क्षैतिज अक्ष को भी छूता है, जिसका अर्थ है कि त्रुटि शून्य होगी और नेटवर्क एक आउटपुट का उत्पादन कर सकता है जो लक्ष्य आउटपुट से बिल्कुल मेल खाता है। इसलिए, इनपुट को आउटपुट में मानचित्रण करने की समस्या को एक ऐसे कार्य को खोजने की अनुकूलन समस्या तक कम किया जा सकता है जो न्यूनतम त्रुटि उत्पन्न करेगा। हालांकि, एक न्यूरॉन का उत्पादन उसके सभी निवेशों के भारित योग पर निर्भर करता हैः इनपुट इकाइयों से आउटपुट इकाई तक कनेक्शन पर भार कहाँ और कहाँ हैं। इसलिए, त्रुटि न्यूरॉन में आने वाले भार पर भी निर्भर करती है, जिसे अंततः सीखने को सक्षम करने के लिए नेटवर्क में बदलने की आवश्यकता होती है। इस उदाहरण में, प्रशिक्षण डेटा को इंजेक्ट करने पर, लॉस फ़ंक्शन बन जाता है फिर, लॉस फ़ंक्शन एक परवलयिक सिलेंडर का रूप ले लेता है जिसका आधार साथ निर्देशित होता है। चूँकि भार के सभी सेट जो नुकसान समारोह को कम करते हैं, इस मामले में एक अद्वितीय समाधान में अभिसरण के लिए अतिरिक्त बाधाओं की आवश्यकता होती है। अतिरिक्त बाधाएं या तो भार के लिए विशिष्ट शर्तों को निर्धारित करके, या अतिरिक्त प्रशिक्षण डेटा को इंजेक्ट करके उत्पन्न की जा सकती हैं। एक सामान्य रूप से उपयोग किया जाने वाला एल्गोरिथ्म भार के सेट को खोजने के लिए जो त्रुटि को कम करता है वह है ग्रेडिएंट डिसेंट। बैकप्रोपेगेशन द्वारा, सबसे तीव्र अवरोहण दिशा की गणना वर्तमान सिनैप्टिक भार बनाम हानि फलन से की जाती है। फिर, भार को सबसे तीव्र अवरोहण दिशा के साथ संशोधित किया जा सकता है, और त्रुटि को एक कुशल तरीके से कम किया जाता है। व्युत्पत्ति ढाल अवरोहण विधि में नेटवर्क के भार के संबंध में हानि फलन के व्युत्पन्न की गणना करना शामिल है। यह आम तौर पर बैकप्रोपेगेशन का उपयोग करके किया जाता है। एक आउटपुट न्यूरॉन को मानते हुए, वर्ग त्रुटि कार्य वह है जहां आउटपुट और लक्ष्य मूल्य के लिए नुकसान होता है, एक प्रशिक्षण नमूने के लिए लक्ष्य आउटपुट है, और आउटपुट न्यूरॉन का वास्तविक आउटपुट है। प्रत्येक न्यूरॉन के लिए, इसके उत्पादन को परिभाषित किया जाता है जहां सक्रियण कार्य गैर-रैखिक होता है और सक्रियण क्षेत्र पर अवकलनीय होता है (आरईएलयू एक बिंदु पर अवकलनीय नहीं होता है)। एक ऐतिहासिक रूप से उपयोग किया जाने वाला सक्रियण कार्य लॉजिस्टिक कार्य हैः जिसका एक सुविधाजनक व्युत्पन्न हैः एक न्यूरॉन के लिए इनपुट पिछले न्यूरॉन्स के आउटपुट का भारित योग है। यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, तो इनपुट परत का न्यूरॉन केवल नेटवर्क के लिए इनपुट है। न्यूरॉन में इनपुट इकाइयों की संख्या है। चर पिछली परत के न्यूरॉन और वर्तमान परत के न्यूरॉन के बीच के वजन को दर्शाता है। त्रुटि के व्युत्पन्न का पता लगाना एक वजन के संबंध में त्रुटि के आंशिक व्युत्पन्न की गणना दो बार श्रृंखला नियम का उपयोग करके की जाती हैः उपरोक्त के दाहिने हाथ की ओर के अंतिम कारक में, योग में केवल एक शब्द निर्भर करता है, ताकि यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, तो न्याय है। अपने निवेश के संबंध में न्यूरॉन के उत्पादन का व्युत्पन्न केवल सक्रियण कार्य का आंशिक व्युत्पन्न हैः जो लॉजिस्टिक सक्रियण कार्य के लिए है यही कारण है कि बैकप्रोपेगेशन के लिए सक्रियण कार्य को भिन्न होने की आवश्यकता होती है। (फिर भी, आर. ई. एल. यू. सक्रियण कार्य, जो 0 पर गैर-अवकलनीय है, काफी लोकप्रिय हो गया है, जैसे। एलेक्सनेट में) पहला कारक यह मूल्यांकन करने के लिए सीधा है कि क्या न्यूरॉन आउटपुट परत में है, क्योंकि तब और यदि वर्ग त्रुटि के आधे हिस्से को लॉस फंक्शन के रूप में उपयोग किया जाता है तो हम इसे फिर से लिख सकते हैं। न्यूरॉन से इनपुट प्राप्त करने वाले सभी न्यूरॉन्स के साथ एक कार्य के रूप में विचार करते हुए, और कुल व्युत्पन्न को लेते हुए, व्युत्पन्न के लिए एक पुनरावर्ती अभिव्यक्ति प्राप्त की जाती हैः इसलिए, के संबंध में व्युत्पन्न की गणना की जा सकती है यदि अगली परत के आउटपुट के संबंध में सभी व्युत्पन्न-जो आउटपुट न्यूरॉन के करीब हैं-ज्ञात हैं। [ध्यान दें, यदि समूह में कोई भी न्यूरॉन न्यूरॉन से जुड़ा नहीं था, तो वे स्वतंत्र होंगे और योग के तहत संबंधित आंशिक व्युत्पन्न 0 तक गायब हो जाएगा।] प्रतिस्थापित करना, और हम प्राप्त करते हैंः यदि लॉजिस्टिक फ़ंक्शन है, और त्रुटि वर्ग त्रुटि हैः ग्रेडिएंट डिसेंट का उपयोग करके वजन को अद्यतन करने के लिए, किसी को सीखने की दर चुननी चाहिए। वजन में परिवर्तन में वृद्धि या कमी के प्रभाव को प्रतिबिंबित करने की आवश्यकता होती है। यदि, वृद्धि में वृद्धि होती है; इसके विपरीत, यदि, वृद्धि में कमी आती है। नए को पुराने वजन में जोड़ा जाता है, और सीखने की दर और ढाल के उत्पाद को गारंटी से गुणा किया जाता है जो इस तरह से बदलता है जो हमेशा कम होता है। दूसरे शब्दों में, तुरंत नीचे दिए गए समीकरण में, हमेशा इस तरह से परिवर्तन होता है जो कम हो जाता हैः द्वितीय-क्रम प्रवणता वंश त्रुटि फलन के द्वितीय-क्रम व्युत्पन्न के हेसियन मैट्रिक्स का उपयोग करते हुए, लेवेनबर्ग-मार्कवार्ड एल्गोरिथ्म अक्सर प्रथम-क्रम प्रवणता वंश की तुलना में तेजी से अभिसरण करता है, विशेष रूप से जब त्रुटि फलन की टोपोलॉजी जटिल होती है। यह छोटे नोड काउंट में भी समाधान पा सकता है जिसके लिए अन्य विधियाँ अभिसरण नहीं कर सकती हैं। हेसियन को फिशर सूचना मैट्रिक्स द्वारा अनुमानित किया जा सकता है। हानि फलन एक प्रकार्य है जो एक या एक से अधिक चरों के मूल्यों को एक वास्तविक संख्या पर मानचित्रित करता है जो सहज रूप से उन मूल्यों से जुड़े कुछ "लागत" का प्रतिनिधित्व करता है। बैकप्रोपेगेशन के लिए, नुकसान कार्य नेटवर्क के माध्यम से एक प्रशिक्षण उदाहरण के प्रसार के बाद, नेटवर्क आउटपुट और इसके अपेक्षित आउटपुट के बीच के अंतर की गणना करता है। धारणाएँ हानि फलन की गणितीय अभिव्यक्ति को दो शर्तों को पूरा करना चाहिए ताकि इसे संभवतः बैकप्रोपेगेशन में उपयोग किया जा सके। पहला यह है कि इसे व्यक्तिगत प्रशिक्षण उदाहरणों के लिए औसत त्रुटि कार्यों के रूप में लिखा जा सकता है। इस धारणा का कारण यह है कि बैकप्रोपेगेशन एल्गोरिथ्म एकल प्रशिक्षण उदाहरण के लिए त्रुटि फ़ंक्शन के प्रवणता की गणना करता है, जिसे समग्र त्रुटि फ़ंक्शन के लिए सामान्यीकृत करने की आवश्यकता है। दूसरी धारणा यह है कि इसे तंत्रिका नेटवर्क से आउटपुट के एक कार्य के रूप में लिखा जा सकता है। उदाहरण हानि फलन आइए वेक्टर हों। दो आउटपुट के बीच के अंतर को मापने के लिए एक त्रुटि फ़ंक्शन का चयन करें। वैक्टरों के बीच यूक्लिडियन दूरी का वर्ग मानक विकल्प है औरः प्रशिक्षण उदाहरणों पर त्रुटि फ़ंक्शन को तब व्यक्तिगत उदाहरणों पर नुकसान के औसत के रूप में लिखा जा सकता हैः सीमाएँ बैकप्रोपेगेशन के साथ ग्रेडिएंट डिसेंट को त्रुटि फ़ंक्शन के वैश्विक न्यूनतम को खोजने की गारंटी नहीं है, लेकिन केवल एक स्थानीय न्यूनतम है; साथ ही, इसे त्रुटि फ़ंक्शन परिदृश्य में पठारों को पार करने में परेशानी होती है। न्यूरल नेटवर्क में त्रुटि कार्यों की गैर-संवहनता के कारण होने वाली इस समस्या को लंबे समय से एक बड़ी कमी माना जाता था, लेकिन यान लेकुन एट अल। तर्क है कि कई व्यावहारिक समस्याओं में, ऐसा नहीं है। बैकप्रोपेगेशन लर्निंग के लिए इनपुट वैक्टर के सामान्यीकरण की आवश्यकता नहीं होती है; हालाँकि, सामान्यीकरण प्रदर्शन में सुधार कर सकता है। बैकप्रोपेगेशन के लिए नेटवर्क डिजाइन समय पर सक्रियण कार्यों के व्युत्पन्न को जानने की आवश्यकता होती है। इतिहास आधुनिक बैकप्रोपेगेशन नेस्टेड डिफ्रेंटिएबल फंक्शंस के असतत जुड़े नेटवर्क के लिए सेप्पो लिनैनमा का स्वचालित डिफ्रेंटिएशन (1970) का रिवर्स मोड है। यह ऐसे नेटवर्कों के लिए श्रृंखला नियम (1673 में गॉटफ्राइड विल्हेम लीबनिज़ द्वारा व्युत्पन्न) का एक कुशल अनुप्रयोग है। "बैक-प्रोपेगेटिंग एरर करेक्शन" शब्दावली 1962 में फ्रैंक रोसेनब्लैट द्वारा पेश की गई थी, लेकिन उन्हें नहीं पता था कि इसे कैसे लागू किया जाए, हालांकि नियंत्रण सिद्धांत के संदर्भ में हेनरी जे. केली के पास पहले से ही 1960 में बैकप्रोपेगेशन का निरंतर अग्रदूत था। स्टोकेस्टिक ग्रेडिएंट डिसेंट द्वारा प्रशिक्षित पहला डीप लर्निंग मल्टीलेयर परसेप्ट्रॉन (एम. एल. पी.) 1967 में शुनइची अमरी द्वारा प्रकाशित किया गया था। कंप्यूटर प्रयोगों में, दो परिवर्तनीय परतों के साथ उनके पांच परतों वाले एम. एल. पी. ने गैर-रैखिक रूप से अलग करने योग्य पैटर्न वर्गों को वर्गीकृत करने के लिए आवश्यक आंतरिक प्रतिनिधित्व सीखा। 1982 में, पॉल वेरबोस ने एम. एल. पी. पर बैकप्रोपेगेशन को उस तरह से लागू किया जो मानक बन गया है। 1985 में, डेविड ई. रुमेलहार्ट और अन्य। तकनीक का एक प्रयोगात्मक विश्लेषण प्रकाशित किया। इसने बैकप्रोपेगेशन को लोकप्रिय बनाने में योगदान दिया और बहुस्तरीय परसेप्ट्रॉन में अनुसंधान की एक सक्रिय अवधि शुरू करने में मदद की। केली (1960) और आर्थर ई. ब्रायसन (1961) ने विधि के उपरोक्त निरंतर अग्रदूत को प्राप्त करने के लिए गतिशील प्रोग्रामिंग के सिद्धांतों का उपयोग किया। 1962 में, स्टुअर्ट ड्रेफस ने केवल श्रृंखला नियम पर आधारित एक सरल व्युत्पत्ति प्रकाशित की। 1973 में, उन्होंने त्रुटि प्रवणता के अनुपात में नियंत्रकों के मापदंडों को अनुकूलित किया। लिनैनमा की 1970 की विधि के विपरीत, इन अग्रदूतों ने "एक चरण से पिछले चरण तक मानक जैकोबियन मैट्रिक्स गणनाओं का उपयोग किया, न तो कई चरणों में प्रत्यक्ष लिंक को संबोधित किया और न ही नेटवर्क स्पार्सिटी के कारण संभावित अतिरिक्त दक्षता लाभ"। 1985 में, इस विधि का वर्णन पार्कर द्वारा भी किया गया था। यान लेकुन ने 1987 में अपने पीएचडी थीसिस में तंत्रिका नेटवर्क के लिए बैकप्रोपेगेशन के एक वैकल्पिक रूप का प्रस्ताव रखा। 1993 में, एरिक वान ने बैकप्रोपेगेशन के माध्यम से एक अंतर्राष्ट्रीय पैटर्न मान्यता प्रतियोगिता जीती। 2000 के दशक के दौरान यह पक्ष से बाहर हो गया, लेकिन 2010 के दशक में सस्ता, शक्तिशाली जीपीयू-आधारित कंप्यूटिंग सिस्टम से लाभान्वित होकर वापस आ गया। यह विशेष रूप से भाषण पहचान, मशीन दृष्टि, प्राकृतिक भाषा प्रसंस्करण और भाषा संरचना सीखने के अनुसंधान (जिसमें इसका उपयोग पहली और दूसरी भाषा सीखने से संबंधित विभिन्न घटनाओं की व्याख्या करने के लिए किया गया है) में किया गया है। मानव मस्तिष्क ई. आर. पी. घटकों जैसे एन. 400 और पी. 600 की व्याख्या करने के लिए त्रुटि बैकप्रोपेगेशन का सुझाव दिया गया है। 2023 में, स्टैनफोर्ड विश्वविद्यालय की एक टीम द्वारा एक फोटोनिक प्रोसेसर पर एक बैकप्रोपेगेशन एल्गोरिदम लागू किया गया था। आर्टिफिशियल न्यूरल नेटवर्क न्यूरल सर्किट कैटास्ट्रोफिक इंटरफेरेंस एन्सेम्बल लर्निंग ए. डी. ए. बूस्ट ओवरफिटिंग न्यूरल बैकप्रोपेगेशन बैकप्रोपेगेशन थ्रू टाइम नोट्स संदर्भ आगे पढ़ने के लिए बाहरी लिंक बैकप्रोपेगेशन न्यूरल नेटवर्क ट्यूटोरियल विकिवर्सिटी मशीन लर्निंग एल्गोरिदम आर्टिफिशियल न्यूरल नेटवर्क