पश्चप्रचार: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 3: Line 3:
{{Hatnote|बैकप्रोपैगेशन उस विधि को भी संदर्भित कर सकता है जिस प्रकार से प्लेआउट के परिणाम को [[मोंटे कार्लो ट्री सर्च#प्रिंसिपल ऑफ ऑपरेशन|मोंटे कार्लो ट्री सर्च]] में सर्च ट्री में प्रचारित किया जाता है।}}{{Machine learning bar}}
{{Hatnote|बैकप्रोपैगेशन उस विधि को भी संदर्भित कर सकता है जिस प्रकार से प्लेआउट के परिणाम को [[मोंटे कार्लो ट्री सर्च#प्रिंसिपल ऑफ ऑपरेशन|मोंटे कार्लो ट्री सर्च]] में सर्च ट्री में प्रचारित किया जाता है।}}{{Machine learning bar}}


[[ यंत्र अधिगम ]] में, बैकप्रोपैजेशन व्यापक रूप से इस्तेमाल किया जाने वाला [[ कलन विधि ]] है, जो [[फीडफॉरवर्ड न्यूरल नेटवर्क]] या अलग-अलग नोड्स के साथ अन्य पैरामीटरयुक्त नेटवर्क को प्रशिक्षित करता है।<ref>{{harvnb|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf25 200]}}, "Furthermore, back-propagation is often misunderstood as being specific to multi-layer neural networks, but in principle it can compute derivatives of any function"</ref><ref name="arxiv">{{cite arXiv |eprint=1410.5401|title= तंत्रिका ट्यूरिंग मशीनें|last1= Graves |first1= Alex |last2= Wayne |first2= Greg |last3= Danihelka |first3= Ivo |class= cs.NE |year= 2014 }}</ref> यह [[गॉटफ्रीड विल्हेम लीबनिज]] [[श्रृंखला नियम]] (1673) का कुशल अनुप्रयोग है<ref name="leibniz1676"/>ऐसे नेटवर्क के लिए।<ref name=DLhistory/>इसे के रूप में भी जाना जाता है
[[सेप्पो लिनैनमा]] (1970) के कारण स्वत: विभेदन या रिवर्स संचयन का रिवर्स मोड।<ref name="lin1970"/><ref name="lin1976"/><ref name="grie2012"/><ref name="grie2008"/><ref name="schmidhuber2015"/><ref name="scholarpedia2015"/><ref name="DL-reverse-mode">{{harvtxt|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf36 217]–218}}, "The back-propagation algorithm described here is only one approach to automatic differentiation. It is a special case of a broader class of techniques called ''reverse mode accumulation''."</ref> 1962 में [[फ्रैंक रोसेनब्लैट]] द्वारा बैक-प्रोपेगेटिंग एरर करेक्शन शब्द पेश किया गया था।<ref>{{cite book |last=Rosenblatt |first=Frank |title=Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms Cornell Aeronautical Laboratory. Report no. VG-1196-G-8 Report (Cornell Aeronautical Laboratory) |publisher=Spartan |year=1962 |pages=Page XIII Table of contents, Page 292 "13.3 Back-Propagating Error Correction Procedures" , Page 301 "figure 39 BACK-PROPAGATING ERROR-CORRECTION EXPERIMENTS" |author-link=Frank Rosenblatt}}</ref><ref name=DLhistory />लेकिन वह यह नहीं जानता था कि इसे कैसे लागू किया जाए, हालांकि हेनरी जे. केली के पास पश्चप्रचार का निरंतर अग्रदूत था<ref name="kelley1960"/>पहले से ही 1960 में [[नियंत्रण सिद्धांत]] के संदर्भ में।<ref name=DLhistory />


Backpropagation इनपुट-आउटपुट उदाहरण के लिए ग्राफ थ्योरी टर्म्स # नेटवर्क के वेट की शब्दावली के संबंध में नुकसान फ़ंक्शन के [[ ग्रेडियेंट ]] की गणना करता है, और ऐसा [[एल्गोरिथम दक्षता]] करता है, समय में ग्रेडिएंट की परत की गणना करता है, अंतिम से पीछे की ओर चलना श्रृंखला नियम में मध्यवर्ती शर्तों की अनावश्यक गणना से बचने के लिए परत; यह [[गतिशील प्रोग्रामिंग]] के माध्यम से प्राप्त किया जा सकता है।<ref name="kelley1960"/><ref name="bryson1961"/>{{sfn|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf33 214]|ps=, "This table-filling strategy is sometimes called ''dynamic programming''."}} [[ ढतला हुआ वंश ]], या वैरिएंट जैसे [[स्टोकेस्टिक ग्रेडिएंट डिसेंट]],<ref name="robbins1951"/>आमतौर पर उपयोग किए जाते हैं।
[[ यंत्र अधिगम | यंत्र अधिगम]] में, पश्चप्रचार व्यापक रूप से उपयोग किया जाने वाला [[ कलन विधि | कलन विधि]] है, जो [[फीडफॉरवर्ड न्यूरल नेटवर्क]] या अलग-अलग नोड्स के साथ अन्य पैरामीटरयुक्त नेटवर्क को प्रशिक्षित करता है।<ref>{{harvnb|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf25 200]}}, "Furthermore, back-propagation is often misunderstood as being specific to multi-layer neural networks, but in principle it can compute derivatives of any function"</ref><ref name="arxiv">{{cite arXiv |eprint=1410.5401|title= तंत्रिका ट्यूरिंग मशीनें|last1= Graves |first1= Alex |last2= Wayne |first2= Greg |last3= Danihelka |first3= Ivo |class= cs.NE |year= 2014 }}</ref> यह ऐसे नेटवर्क के लिए [[गॉटफ्रीड विल्हेम लीबनिज]] [[श्रृंखला नियम]] (1673)<ref name="leibniz1676" /> का कुशल अनुप्रयोग है।<ref name="DLhistory" /> [[सेप्पो लिनैनमा]] (1970) के कारण स्वत: विभेदन या रिवर्स संचयन के रिवर्स मोड के रूप में भी जाना जाता है।<ref name="lin1970" /><ref name="lin1976" /><ref name="grie2012" /><ref name="grie2008" /><ref name="schmidhuber2015" /><ref name="scholarpedia2015" /><ref name="DL-reverse-mode">{{harvtxt|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf36 217]–218}}, "The back-propagation algorithm described here is only one approach to automatic differentiation. It is a special case of a broader class of techniques called ''reverse mode accumulation''."</ref>


बैकप्रोपैगेशन शब्द केवल ग्रेडिएंट की गणना के लिए एल्गोरिथम को संदर्भित करता है, न कि कैसे ग्रेडिएंट का उपयोग किया जाता है; हालाँकि, इस शब्द का उपयोग अक्सर संपूर्ण शिक्षण एल्गोरिथ्म को संदर्भित करने के लिए किया जाता है, जिसमें ग्रेडिएंट का उपयोग कैसे किया जाता है, जैसे कि स्टोकेस्टिक ग्रेडिएंट डिसेंट द्वारा।<ref>{{harvnb|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf25 200]}}, "The term back-propagation is often misunderstood as meaning the whole learning algorithm for multilayer neural networks. Backpropagation refers only to the method for computing the gradient, while other algorithms, such as stochastic gradient descent, is used to perform learning using this gradient."</ref> 1985 में, डेविड ई. रुमेलहार्ट एट अल। तकनीक का प्रायोगिक विश्लेषण प्रकाशित किया।<ref name="learning-representations"/>इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और [[बहुपरत परसेप्ट्रॉन]] में अनुसंधान की सक्रिय अवधि शुरू करने में मदद की।
[[फ्रैंक रोसेनब्लैट]] द्वारा 1962 में बैक-प्रोपेगेटिंग एरर करेक्शन शब्द प्रस्तुत किया गया था।<ref>{{cite book |last=Rosenblatt |first=Frank |title=Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms Cornell Aeronautical Laboratory. Report no. VG-1196-G-8 Report (Cornell Aeronautical Laboratory) |publisher=Spartan |year=1962 |pages=Page XIII Table of contents, Page 292 "13.3 Back-Propagating Error Correction Procedures" , Page 301 "figure 39 BACK-PROPAGATING ERROR-CORRECTION EXPERIMENTS" |author-link=Frank Rosenblatt}}</ref><ref name="DLhistory" /> किन्तु उन्हें यह नहीं पता था कि इसे कैसे प्रायुक्त किया जाए, चूंकि हेनरी जे. केली के पास [[नियंत्रण सिद्धांत]] के संदर्भ में 1960 में पहले से ही पश्चप्रचार का निरंतर अग्रदूत था<ref name="kelley1960" /><ref name="DLhistory" />


== सिंहावलोकन ==
पश्चप्रचार एकल इनपुट-आउटपुट उदाहरण के लिए नेटवर्क के भार के संबंध में एक हानि फलन के ग्रेडिएंट की गणना करता है, और इतनी कुशलता ([[एल्गोरिथम दक्षता]]) से करता है, कि एक समय में ग्रेडिएंट की एक परत की गणना करता है, जो मध्यवर्ती शब्दों की अनावश्यक गणनाओं से बचने के लिए पिछली परत से पीछे की ओर जाता है। श्रृंखला नियम में; यह [[गतिशील प्रोग्रामिंग]] के माध्यम से प्राप्त किया जा सकता है।<ref name="kelley1960" /><ref name="bryson1961" />{{sfn|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf33 214]|ps=, "This table-filling strategy is sometimes called ''dynamic programming''."}} [[ ढतला हुआ वंश | ग्रेडिएंट डिसेंट]] , या वैरिएंट जैसे [[स्टोकेस्टिक ग्रेडिएंट डिसेंट]]<ref name="robbins1951" /> सामान्यतः उपयोग किए जाते हैं।
Backpropagation नुकसान समारोह के संबंध में फीडफॉरवर्ड न्यूरल नेटवर्क के [[ पैरामीटर स्थान ]] में ग्रेडिएंट की गणना करता है। निरूपित करें:
 
* <math>x</math>: इनपुट (सुविधाओं का वेक्टर)
बैकप्रोपैगेशन शब्द केवल ग्रेडिएंट की गणना के लिए एल्गोरिथम को संदर्भित करता है, न कि कैसे ग्रेडिएंट का उपयोग किया जाता है; चूँकि, इस शब्द का उपयोग अक्सर संपूर्ण शिक्षण एल्गोरिथ्म को संदर्भित करने के लिए किया जाता है, जिसमें ग्रेडिएंट का उपयोग कैसे किया जाता है, जैसे कि स्टोकेस्टिक ग्रेडिएंट डिसेंट द्वारा।<ref>{{harvnb|Goodfellow|Bengio|Courville|2016|p=[https://www.deeplearningbook.org/contents/mlp.html#pf25 200]}}, "The term back-propagation is often misunderstood as meaning the whole learning algorithm for multilayer neural networks. Backpropagation refers only to the method for computing the gradient, while other algorithms, such as stochastic gradient descent, is used to perform learning using this gradient."</ref> 1985 में, डेविड ई. रुमेलहार्ट एट अल विधि का प्रायोगिक विश्लेषण प्रकाशित किया।<ref name="learning-representations" /> इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और [[बहुपरत परसेप्ट्रॉन]] में अनुसंधान की सक्रिय अवधि प्रारंभ करने में सहायता की थी।
 
== अवलोकन ==
पश्चप्रचार हानि फलन के संबंध में फीडफॉरवर्ड न्यूरल नेटवर्क के [[ पैरामीटर स्थान | पैरामीटर स्थान]] में ग्रेडिएंट की गणना करता है। निरूपित करें:
* <math>x</math>: इनपुट (सुविधाओं का सदिश)
* <math>y</math>: लक्ष्य आउटपुट
* <math>y</math>: लक्ष्य आउटपुट
*:वर्गीकरण के लिए, आउटपुट वर्ग संभावनाओं का वेक्टर होगा (उदाहरण के लिए, <math>(0.1, 0.7, 0.2)</math>, और लक्ष्य आउटपुट विशिष्ट वर्ग है, जो वन-हॉट/[[डमी चर (सांख्यिकी)]] द्वारा एन्कोड किया गया है (उदाहरण के लिए, <math>(0, 1, 0)</math>).
*:वर्गीकरण के लिए, आउटपुट वर्ग संभावनाओं का सदिश होगा (उदाहरण के लिए, <math>(0.1, 0.7, 0.2)</math>, और लक्ष्य आउटपुट विशिष्ट वर्ग है, जो वन-हॉट/[[डमी चर (सांख्यिकी)]] द्वारा एन्कोड किया गया है (उदाहरण के लिए, <math>(0, 1, 0)</math>).
* <math>C</math>: हानि फलन या लागत फलन{{efn|Use <math>C</math> for the loss function to allow <math>L</math> to be used for the number of layers}}
* <math>C</math>: हानि फलन या लागत फलन{{efn|Use <math>C</math> for the loss function to allow <math>L</math> to be used for the number of layers}}
*: वर्गीकरण के लिए, यह आमतौर पर [[क्रॉस एन्ट्रापी]] (XC, [[लॉग नुकसान]]) होता है, जबकि रिग्रेशन के लिए यह आमतौर पर [[चुकता त्रुटि हानि]] (SEL) होता है।
*: वर्गीकरण के लिए, यह सामान्यतः [[क्रॉस एन्ट्रापी]] (XC, [[लॉग नुकसान|लॉग हानि]]) होता है, जबकि रिग्रेशन के लिए यह सामान्यतः [[चुकता त्रुटि हानि|स्क्वायर त्रुटि हानि]] (एसईएल) होता है।
* <math>L</math>: परतों की संख्या
* <math>L</math>: परतों की संख्या
* <math>W^l = (w^l_{jk})</math>: परत के बीच वजन <math>l - 1</math> और <math>l</math>, कहाँ <math>w^l_{jk}</math> के बीच वजन है <math>k</math>परत में -वें नोड <math>l - 1</math> और यह <math>j</math>परत में -वें नोड <math>l</math>{{efn|This follows {{harvtxt|Nielsen|2015}}, and means (left) multiplication by the matrix <math>W^l</math> corresponds to converting output values of layer <math>l - 1</math> to input values of layer <math>l</math>: columns correspond to input coordinates, rows correspond to output coordinates.}}
* <math>W^l = (w^l_{jk})</math>: परत <math>l - 1</math> और <math>l</math> के बीच का वज़न, जहाँ <math>w^l_{jk}</math> <math>k</math>-वें नोड के बीच का वज़न है परत में <math>l - 1</math> और <math>j</math>-वें नोड परत <math>l</math> में{{efn|This follows {{harvtxt|Nielsen|2015}}, and means (left) multiplication by the matrix <math>W^l</math> corresponds to converting output values of layer <math>l - 1</math> to input values of layer <math>l</math>: columns correspond to input coordinates, rows correspond to output coordinates.}}
* <math>f^l</math>: सक्रियण परत पर कार्य करता है <math>l</math>
* <math>f^l</math>: सक्रियण परत पर कार्य करता है <math>l</math>
*: वर्गीकरण के लिए अंतिम परत आमतौर पर बाइनरी वर्गीकरण के लिए [[रसद समारोह]] है, और मल्टी-क्लास वर्गीकरण के लिए [[सॉफ्टमैक्स फ़ंक्शन]] (सॉफ्टरमैक्स) है, जबकि छिपी हुई परतों के लिए यह पारंपरिक रूप से प्रत्येक नोड (समन्वय) पर [[सिग्मॉइड फ़ंक्शन]] (लॉजिस्टिक फ़ंक्शन या अन्य) था ), लेकिन आज अधिक विविध है, जिसमें रेक्टिफायर (तंत्रिका नेटवर्क) ([[रैंप समारोह]], [[ReLU]]) आम है।
*: वर्गीकरण के लिए अंतिम परत सामान्यतः बाइनरी वर्गीकरण के लिए [[रसद समारोह|रसद फलन]] है, और मल्टी-क्लास वर्गीकरण के लिए [[सॉफ्टमैक्स फ़ंक्शन|सॉफ्टमैक्स फलन]] (सॉफ्टरमैक्स) है, जबकि छिपी हुई परतों के लिए यह पारंपरिक रूप से प्रत्येक नोड (समन्वय) पर [[सिग्मॉइड फ़ंक्शन|सिग्मॉइड फलन]] (लॉजिस्टिक फलन या अन्य) था ), किन्तु आज अधिक विविध है, जिसमें रेक्टिफायर (तंत्रिका नेटवर्क) ([[रैंप समारोह|रैंप फलन]], [[ReLU|रेएलयू]]) सामान्य है।


पश्चप्रचार की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग किया जाता है; उन्हें नीचे आवश्यकतानुसार पेश किया गया है। पूर्वाग्रह की शर्तों को विशेष रूप से व्यवहार नहीं किया जाता है, क्योंकि वे 1 के निश्चित इनपुट के साथ वजन के अनुरूप होते हैं। बैकप्रोपैजेशन के उद्देश्य के लिए, विशिष्ट हानि फ़ंक्शन और सक्रियण फ़ंक्शन कोई मायने नहीं रखते हैं, जब तक कि उनका और उनके डेरिवेटिव का मूल्यांकन कुशलतापूर्वक किया जा सकता है। पारंपरिक सक्रियण कार्यों में सिग्मॉइड, टैन और रेक्टिफायर (तंत्रिका नेटवर्क) शामिल हैं, लेकिन इन तक सीमित नहीं हैं। चूंकि, [[स्विश समारोह]],<ref>{{cite arXiv|last1=Ramachandran|first1=Prajit|last2=Zoph|first2=Barret|last3=Le|first3=Quoc V.|date=2017-10-27|title=सक्रियण कार्यों की खोज|class=cs.NE|eprint=1710.05941}}</ref> शुद्ध करनेवाला (तंत्रिका नेटवर्क)#Mish,<ref>{{cite arXiv|last=Misra|first=Diganta|date=2019-08-23|title=Mish: A Self Regularized Non-Monotonic Activation Function|class=cs.LG|eprint=1908.08681|language=en}}</ref> और अन्य सक्रियण कार्य भी प्रस्तावित किए गए थे।
पश्चप्रचार की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग किया जाता है; उन्हें नीचे आवश्यकतानुसार प्रस्तुत किया गया है। पूर्वाग्रह की शर्तों को विशेष रूप से व्यवहार नहीं किया जाता है, क्योंकि वे 1 के निश्चित इनपुट के साथ भार के अनुरूप होते हैं। पश्चप्रचार के उद्देश्य के लिए, विशिष्ट हानि फलन और सक्रियण फलन कोई अर्थ नहीं रखते हैं, जब तक कि उनका और उनके डेरिवेटिव का मूल्यांकन कुशलतापूर्वक किया जा सकता है। पारंपरिक सक्रियण कार्यों में सिग्मॉइड, टैन और रेक्टिफायर (तंत्रिका नेटवर्क) सम्मिलित हैं, किन्तु इन तक सीमित नहीं हैं। चूंकि, [[स्विश समारोह|स्विश फलन]],<ref>{{cite arXiv|last1=Ramachandran|first1=Prajit|last2=Zoph|first2=Barret|last3=Le|first3=Quoc V.|date=2017-10-27|title=सक्रियण कार्यों की खोज|class=cs.NE|eprint=1710.05941}}</ref> शुद्ध करनेवाला (तंत्रिका नेटवर्क) # मिश,<ref>{{cite arXiv|last=Misra|first=Diganta|date=2019-08-23|title=Mish: A Self Regularized Non-Monotonic Activation Function|class=cs.LG|eprint=1908.08681|language=en}}</ref> और अन्य सक्रियण कार्य भी प्रस्तावित किए गए थे।


समग्र नेटवर्क फ़ंक्शन संरचना और [[मैट्रिक्स गुणन]] का संयोजन है:
समग्र नेटवर्क फलन संरचना और [[मैट्रिक्स गुणन]] का संयोजन है:
:<math>g(x) := f^L(W^L f^{L-1}(W^{L-1} \cdots f^1(W^1 x)\cdots))</math>
:<math>g(x) := f^L(W^L f^{L-1}(W^{L-1} \cdots f^1(W^1 x)\cdots))</math>
प्रशिक्षण सेट के लिए इनपुट-आउटपुट जोड़े का सेट होगा, <math>\left\{(x_i, y_i)\right\}</math>. प्रत्येक इनपुट-आउटपुट जोड़ी के लिए <math>(x_i, y_i)</math> प्रशिक्षण सेट में, उस जोड़ी पर मॉडल का नुकसान अनुमानित आउटपुट के बीच अंतर की लागत है <math>g(x_i)</math> और लक्ष्य आउटपुट <math>y_i</math>:
प्रशिक्षण सेट के लिए इनपुट-आउटपुट जोड़े <math>\left\{(x_i, y_i)\right\}</math> का सेट होगा,  प्रत्येक इनपुट-आउटपुट जोड़ी के लिए <math>(x_i, y_i)</math> प्रशिक्षण सेट में, उस जोड़ी पर मॉडल का हानि अनुमानित आउटपुट <math>g(x_i)</math> के बीच अंतर की लागत है और लक्ष्य आउटपुट <math>y_i</math>:
:<math>C(y_i, g(x_i))</math>
:<math>C(y_i, g(x_i))</math>
अंतर पर ध्यान दें: मॉडल मूल्यांकन के दौरान, वजन तय होते हैं, जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें हानि फ़ंक्शन शामिल नहीं होता है)। मॉडल प्रशिक्षण के दौरान, इनपुट-आउटपुट जोड़ी तय हो जाती है, जबकि वजन अलग-अलग होता है, और नेटवर्क हानि फ़ंक्शन के साथ समाप्त होता है।
अंतर पर ध्यान दें: मॉडल मूल्यांकन के समय, भार तय होते हैं, जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें हानि फलन सम्मिलित नहीं होता है)। मॉडल प्रशिक्षण के समय, इनपुट-आउटपुट जोड़ी तय हो जाती है, जबकि भार भिन्न-भिन्न होता है, और नेटवर्क हानि फलन के साथ समाप्त होता है।


Backpropagation निश्चित इनपुट-आउटपुट जोड़ी के लिए ढाल की गणना करता है <math>(x_i, y_i)</math>, जहां वजन <math>w^l_{jk}</math> भिन्न हो सकती है। ढाल के प्रत्येक व्यक्तिगत घटक, <math>\partial C/\partial w^l_{jk},</math> श्रृंखला नियम द्वारा गणना की जा सकती है; हालाँकि, प्रत्येक भार के लिए इसे अलग से करना अक्षम है। Backpropagation प्रत्येक परत के ग्रेडिएंट की गणना करके डुप्लिकेट गणनाओं से बचने और अनावश्यक मध्यवर्ती मानों की गणना करके कुशलतापूर्वक ग्रेडिएंट की गणना करता है - विशेष रूप से, प्रत्येक परत के भारित इनपुट का ग्रेडिएंट, द्वारा निरूपित <math>\delta^l</math> - पीछे से आगे।
पश्चप्रचार निश्चित इनपुट-आउटपुट जोड़ी <math>(x_i, y_i)</math> के लिए प्रवणता की गणना करता है, जहां भार <math>w^l_{jk}</math> भिन्न हो सकती है। प्रवणता के प्रत्येक व्यक्तिगत घटक, <math>\partial C/\partial w^l_{jk},</math> श्रृंखला नियम द्वारा गणना की जा सकती है; चूँकि, प्रत्येक भार के लिए इसे अलग से करना अक्षम है। पश्चप्रचार प्रत्येक परत के ग्रेडिएंट की गणना करके - विशेष रूप से, प्रत्येक परत के भारित इनपुट के ग्रेडिएंट की गणना करके, डुप्लिकेट गणनाओं से बचने और अनावश्यक मध्यवर्ती मानों की गणना नहीं करके कुशलता से ग्रेडिएंट की गणना करता है, जिसे <math>\delta^l</math> द्वारा पीछे से सामने की ओर दर्शाया जाता है।


अनौपचारिक रूप से, मुख्य बिंदु यह है कि चूंकि एकमात्र तरीका वजन में है <math>W^l</math> नुकसान को प्रभावित करता है अगली परत पर इसके प्रभाव के माध्यम से होता है, और यह ऐसा रैखिक रूप से करता है, <math>\delta^l</math> वे एकमात्र डेटा हैं जिनकी आपको परत पर वज़न के ग्रेडिएंट की गणना करने के लिए आवश्यकता होती है <math>l</math>, और फिर आप पिछली परत की गणना कर सकते हैं <math>\delta^{l-1}</math> और पुनरावर्ती रूप से दोहराएं। यह दो तरह से अक्षमता से बचा जाता है। सबसे पहले, यह दोहराव से बचा जाता है क्योंकि परत पर ग्रेडिएंट की गणना करते समय <math>l</math>, आपको बाद की परतों पर सभी डेरिवेटिव की पुनर्गणना करने की आवश्यकता नहीं है <math>l+1, l+2, \ldots</math> हर बार। दूसरे, यह अनावश्यक मध्यवर्ती गणनाओं से बचता है क्योंकि प्रत्येक चरण में यह वजन में परिवर्तन के संबंध में छिपी हुई परतों के मूल्यों के डेरिवेटिव की अनावश्यक रूप से गणना करने के बजाय अंतिम आउटपुट (हानि) के संबंध में वजन के ढाल की सीधे गणना करता है। <math>\partial a^{l'}_{j'}/\partial w^l_{jk}</math>.
ssssssssअनौपचारिक रूप से, मुख्य बिंदु यह है कि चूंकि एकमात्र विधि भार में है <math>W^l</math> हानि को प्रभावित करता है अगली परत पर इसके प्रभाव के माध्यम से होता है, और यह ऐसा रैखिक रूप से करता है, <math>\delta^l</math> वे एकमात्र डेटा हैं जिनकी आपको परत पर वज़न के ग्रेडिएंट की गणना करने के लिए आवश्यकता होती है <math>l</math>, और फिर आप पिछली परत की गणना कर सकते हैं <math>\delta^{l-1}</math> और पुनरावर्ती रूप से दोहराएं। यह दो तरह से अक्षमता से बचा जाता है। सबसे पहले, यह दोहराव से बचा जाता है क्योंकि परत पर ग्रेडिएंट की गणना करते समय <math>l</math>, आपको बाद की परतों पर सभी डेरिवेटिव की पुनर्गणना करने की आवश्यकता नहीं है <math>l+1, l+2, \ldots</math> हर बार। दूसरे, यह अनावश्यक मध्यवर्ती गणनाओं से बचता है क्योंकि प्रत्येक चरण में यह भार में परिवर्तन के संबंध में छिपी हुई परतों के मूल्यों के डेरिवेटिव की अनावश्यक रूप से गणना करने के बजाय अंतिम आउटपुट (हानि) के संबंध में भार के प्रवणता की सीधे गणना करता है। <math>\partial a^{l'}_{j'}/\partial w^l_{jk}</math>.


#Matrix गुणन के संदर्भ में, या अधिक सामान्यतः #Adjoint ग्राफ़ के संदर्भ में सरल फ़ीडफ़ॉरवर्ड नेटवर्क के लिए बैकप्रोपैगेशन व्यक्त किया जा सकता है।
#Matrix गुणन के संदर्भ में, या अधिक सामान्यतः #Adjoint ग्राफ़ के संदर्भ में सरल फ़ीडफ़ॉरवर्ड नेटवर्क के लिए बैकप्रोपैगेशन व्यक्त किया जा सकता है।


== मैट्रिक्स गुणन ==
== मैट्रिक्स गुणन ==
फीडफॉरवर्ड नेटवर्क के मूल मामले के लिए, जहां प्रत्येक परत में नोड्स केवल तत्काल अगली परत (बिना किसी परत को छोड़े) में नोड्स से जुड़े होते हैं, और हानि फ़ंक्शन होता है जो अंतिम आउटपुट के लिए स्केलर हानि की गणना करता है, बैकप्रॉपैगेशन हो सकता है मैट्रिक्स गुणन द्वारा आसानी से समझा जा सकता है।{{efn|This section largely follows and summarizes {{harvtxt|Nielsen|2015}}.}} अनिवार्य रूप से, बैकप्रोपैजेशन लागत फ़ंक्शन के व्युत्पन्न के लिए अभिव्यक्ति का मूल्यांकन करता है, प्रत्येक परत के बीच डेरिवेटिव के उत्पाद के रूप में दाएं से बाएं - पीछे की ओर - प्रत्येक परत के बीच वजन के ढाल के साथ आंशिक उत्पादों का सरल संशोधन (पीछे की ओर प्रचारित) गलती )।
फीडफॉरवर्ड नेटवर्क के मूल मामले के लिए, जहां प्रत्येक परत में नोड्स केवल तत्काल अगली परत (बिना किसी परत को छोड़े) में नोड्स से जुड़े होते हैं, और हानि फलन होता है जो अंतिम आउटपुट के लिए स्केलर हानि की गणना करता है, बैकप्रॉपैगेशन हो सकता है मैट्रिक्स गुणन द्वारा आसानी से समझा जा सकता है।{{efn|This section largely follows and summarizes {{harvtxt|Nielsen|2015}}.}} अनिवार्य रूप से, पश्चप्रचार लागत फलन के व्युत्पन्न के लिए अभिव्यक्ति का मूल्यांकन करता है, प्रत्येक परत के बीच डेरिवेटिव के उत्पाद के रूप में दाएं से बाएं - पीछे की ओर - प्रत्येक परत के बीच भार के प्रवणता के साथ आंशिक उत्पादों का सरल संशोधन (पीछे की ओर प्रचारित) गलती )।


इनपुट-आउटपुट जोड़ी दी गई है <math>(x, y)</math>, हानि है:
इनपुट-आउटपुट जोड़ी दी गई है <math>(x, y)</math>, हानि है:


:<math>C(y, f^L(W^L f^{L-1}(W^{L-1} \cdots f^2(W^2 f^1(W^1 x))\cdots)))</math>
:<math>C(y, f^L(W^L f^{L-1}(W^{L-1} \cdots f^2(W^2 f^1(W^1 x))\cdots)))</math>
इसकी गणना करने के लिए, इनपुट के साथ शुरू होता है <math>x</math> और आगे काम करता है; प्रत्येक छिपी हुई परत के भारित इनपुट को निरूपित करें <math>z^l</math> और छिपी हुई परत का उत्पादन <math>l</math> सक्रियता के रूप में <math>a^l</math>. बैकप्रोपैजेशन के लिए, सक्रियण <math>a^l</math> साथ ही डेरिवेटिव <math>(f^l)'</math> (पर मूल्यांकन किया गया <math>z^l</math>) बैकवर्ड पास के दौरान उपयोग के लिए कैश किया जाना चाहिए।
इसकी गणना करने के लिए, इनपुट के साथ प्रारंभ होता है <math>x</math> और आगे काम करता है; प्रत्येक छिपी हुई परत के भारित इनपुट को निरूपित करें <math>z^l</math> और छिपी हुई परत का उत्पादन <math>l</math> सक्रियता के रूप में <math>a^l</math>. पश्चप्रचार के लिए, सक्रियण <math>a^l</math> साथ ही डेरिवेटिव <math>(f^l)'</math> (पर मूल्यांकन किया गया <math>z^l</math>) बैकवर्ड पास के समय उपयोग के लिए कैश किया जाना चाहिए।


इनपुट के संदर्भ में नुकसान का व्युत्पन्न श्रृंखला नियम द्वारा दिया गया है; ध्यान दें कि प्रत्येक शब्द [[कुल व्युत्पन्न]] है, जिसका मूल्यांकन इनपुट पर नेटवर्क (प्रत्येक नोड पर) के मूल्य पर किया जाता है <math>x</math>:
इनपुट के संदर्भ में हानि का व्युत्पन्न श्रृंखला नियम द्वारा दिया गया है; ध्यान दें कि प्रत्येक शब्द [[कुल व्युत्पन्न]] है, जिसका मूल्यांकन इनपुट पर नेटवर्क (प्रत्येक नोड पर) के मूल्य पर किया जाता है <math>x</math>:


:<math>\frac{d C}{d a^L}\circ \frac{d a^L}{d z^L} \cdot \frac{d z^L}{d a^{L-1}} \circ \frac{d a^{L-1}}{d z^{L-1}}\cdot \frac{d z^{L-1}}{d a^{L-2}} \circ \ldots \circ \frac{d a^1}{d z^1} \cdot \frac{\partial z^1}{\partial x},</math>
:<math>\frac{d C}{d a^L}\circ \frac{d a^L}{d z^L} \cdot \frac{d z^L}{d a^{L-1}} \circ \frac{d a^{L-1}}{d z^{L-1}}\cdot \frac{d z^{L-1}}{d a^{L-2}} \circ \ldots \circ \frac{d a^1}{d z^1} \cdot \frac{\partial z^1}{\partial x},</math>
कहाँ <math>\circ</math> [[हैडमार्ड उत्पाद (मैट्रिसेस)]] है, जो तत्व-वार उत्पाद है।
जहाँ <math>\circ</math> [[हैडमार्ड उत्पाद (मैट्रिसेस)]] है, जो तत्व-वार उत्पाद है।


ये शब्द हैं: हानि फलन का व्युत्पन्न;{{efn|The derivative of the loss function is a [[covector]], since the loss function is a [[scalar-valued function]] of several variables.}} सक्रियण कार्यों के डेरिवेटिव;{{efn|The activation function is applied to each node separately, so the derivative is just the [[diagonal matrix]] of the derivative on each node. This is often represented as the [[Hadamard product (matrices)|Hadamard product]] with the vector of derivatives, denoted by <math>(f^l)'\odot</math>, which is mathematically identical but better matches the internal representation of the derivatives as a vector, rather than a diagonal matrix.}} और वज़न के आव्यूह:{{efn|Since matrix multiplication is linear, the derivative of multiplying by a matrix is just the matrix: <math>(Wx)' = W</math>.}}
ये शब्द हैं: हानि फलन का व्युत्पन्न;{{efn|The derivative of the loss function is a [[covector]], since the loss function is a [[scalar-valued function]] of several variables.}} सक्रियण कार्यों के डेरिवेटिव;{{efn|The activation function is applied to each node separately, so the derivative is just the [[diagonal matrix]] of the derivative on each node. This is often represented as the [[Hadamard product (matrices)|Hadamard product]] with the vector of derivatives, denoted by <math>(f^l)'\odot</math>, which is mathematically identical but better matches the internal representation of the derivatives as a vector, rather than a diagonal matrix.}} और वज़न के आव्यूह:{{efn|Since matrix multiplication is linear, the derivative of multiplying by a matrix is just the matrix: <math>(Wx)' = W</math>.}}
:<math>\frac{d C}{d a^L}\circ (f^L)' \cdot W^L \circ (f^{L-1})' \cdot W^{L-1} \circ \cdots \circ (f^1)' \cdot W^1.</math>
:<math>\frac{d C}{d a^L}\circ (f^L)' \cdot W^L \circ (f^{L-1})' \cdot W^{L-1} \circ \cdots \circ (f^1)' \cdot W^1.</math>
ढाल <math>\nabla</math> इनपुट के संदर्भ में आउटपुट के व्युत्पन्न का स्थानान्तरण है, इसलिए मेट्रिसेस को [[ खिसकाना ]] किया जाता है और गुणन का क्रम उलट दिया जाता है, लेकिन प्रविष्टियाँ समान होती हैं:
प्रवणता <math>\nabla</math> इनपुट के संदर्भ में आउटपुट के व्युत्पन्न का स्थानान्तरण है, इसलिए मेट्रिसेस को [[ खिसकाना ]] किया जाता है और गुणन का क्रम उलट दिया जाता है, किन्तु प्रविष्टियाँ समान होती हैं:
:<math>\nabla_x C = (W^1)^T \cdot (f^1)' \circ \ldots \circ (W^{L-1})^T \cdot (f^{L-1})' \circ (W^L)^T \cdot (f^L)' \circ \nabla_{a^L} C.</math>
:<math>\nabla_x C = (W^1)^T \cdot (f^1)' \circ \ldots \circ (W^{L-1})^T \cdot (f^{L-1})' \circ (W^L)^T \cdot (f^L)' \circ \nabla_{a^L} C.</math>
बैकप्रोपैगेशन में अनिवार्य रूप से इस अभिव्यक्ति का दाएं से बाएं मूल्यांकन करना शामिल है (समरूप रूप से, बाएं से दाएं व्युत्पन्न के लिए पिछली अभिव्यक्ति को गुणा करना), रास्ते में प्रत्येक परत पर ढाल की गणना करना; अतिरिक्त चरण है, क्योंकि वज़न का ढाल केवल उप-अभिव्यक्ति नहीं है: अतिरिक्त गुणन है।
बैकप्रोपैगेशन में अनिवार्य रूप से इस अभिव्यक्ति का दाएं से बाएं मूल्यांकन करना सम्मिलित है (समरूप रूप से, बाएं से दाएं व्युत्पन्न के लिए पिछली अभिव्यक्ति को गुणा करना), रास्ते में प्रत्येक परत पर प्रवणता की गणना करना; अतिरिक्त चरण है, क्योंकि वज़न का प्रवणता केवल उप-अभिव्यक्ति नहीं है: अतिरिक्त गुणन है।


सहायक मात्रा का परिचय <math>\delta^l</math> आंशिक उत्पादों के लिए (दाएं से बाएं गुणा), स्तर पर त्रुटि के रूप में व्याख्या की गई <math>l</math>और स्तर पर इनपुट मानों के ग्रेडिएंट के रूप में परिभाषित किया गया है <math>l</math>:
सहायक मात्रा का परिचय <math>\delta^l</math> आंशिक उत्पादों के लिए (दाएं से बाएं गुणा), स्तर पर त्रुटि के रूप में व्याख्या की गई <math>l</math>और स्तर पर इनपुट मानों के ग्रेडिएंट के रूप में परिभाषित किया गया है <math>l</math>:
:<math>\delta^l := (f^l)' \circ (W^{l+1})^T \circ \cdots \circ (W^{L-1})^T \cdot (f^{L-1})' \circ (W^L)^T \cdot (f^L)' \circ \nabla_{a^L} C.</math>
:<math>\delta^l := (f^l)' \circ (W^{l+1})^T \circ \cdots \circ (W^{L-1})^T \cdot (f^{L-1})' \circ (W^L)^T \cdot (f^L)' \circ \nabla_{a^L} C.</math>
ध्यान दें कि <math>\delta^l</math> वेक्टर है, जिसकी लंबाई स्तर में नोड्स की संख्या के बराबर है <math>l</math>; प्रत्येक घटक को उस नोड के लिए (के मूल्य) के कारण लागत के रूप में व्याख्या की जाती है।
ध्यान दें कि <math>\delta^l</math> सदिश है, जिसकी लंबाई स्तर में नोड्स की संख्या के बराबर है <math>l</math>; प्रत्येक घटक को उस नोड के लिए (के मूल्य) के कारण लागत के रूप में व्याख्या की जाती है।


परत में भार का ढाल <math>l</math> तब है:
परत में भार का प्रवणता <math>l</math> तब है:
:<math>\nabla_{W^l} C = \delta^l(a^{l-1})^T.</math>
:<math>\nabla_{W^l} C = \delta^l(a^{l-1})^T.</math>
का कारक <math>a^{l-1}</math> है क्योंकि वजन <math>W^l</math> स्तर के बीच <math>l - 1</math> और <math>l</math> प्रभाव स्तर <math>l</math> इनपुट्स (एक्टिवेशन्स) के अनुपात में: इनपुट्स फिक्स्ड होते हैं, वेट अलग-अलग होते हैं। <math>\delta^l</math> h> आसानी से पुनरावर्ती रूप से गणना की जा सकती है, दाएं से बाएं जा रही है, जैसे:
का कारक <math>a^{l-1}</math> है क्योंकि भार <math>W^l</math> स्तर के बीच <math>l - 1</math> और <math>l</math> प्रभाव स्तर <math>l</math> इनपुट्स (एक्टिवेशन्स) के अनुपात में: इनपुट्स फिक्स्ड होते हैं, वेट अलग-अलग होते हैं। <math>\delta^l</math> h> आसानी से पुनरावर्ती रूप से गणना की जा सकती है, दाएं से बाएं जा रही है, जैसे:
:<math>\delta^{l-1} := (f^{l-1})' \circ (W^l)^T \cdot \delta^l.</math>
:<math>\delta^{l-1} := (f^{l-1})' \circ (W^l)^T \cdot \delta^l.</math>
इस प्रकार प्रत्येक स्तर के लिए कुछ मैट्रिक्स गुणन का उपयोग करके वजन के ग्रेडियेंट की गणना की जा सकती है; यह पश्चप्रचार है।
इस प्रकार प्रत्येक स्तर के लिए कुछ मैट्रिक्स गुणन का उपयोग करके भार के ग्रेडियेंट की गणना की जा सकती है; यह पश्चप्रचार है।


भोले-भाले कंप्यूटिंग फॉरवर्ड की तुलना में ( <math>\delta^l</math> उदाहरण के लिए):
भोले-भाले कंप्यूटिंग फॉरवर्ड की तुलना में ( <math>\delta^l</math> उदाहरण के लिए):
Line 74: Line 76:
\delta^L &= (f^L)' \circ \nabla_{a^L} C,
\delta^L &= (f^L)' \circ \nabla_{a^L} C,
\end{align}</math>
\end{align}</math>
बैकप्रोपैजेशन के साथ दो प्रमुख अंतर हैं:
पश्चप्रचार के साथ दो प्रमुख अंतर हैं:


# कम्प्यूटिंग <math>\delta^{l-1}</math> के अनुसार <math>\delta^l</math> परतों के स्पष्ट डुप्लिकेट गुणन से बचा जाता है <math>l</math> और इसके बाद में।
# कम्प्यूटिंग <math>\delta^{l-1}</math> के अनुसार <math>\delta^l</math> परतों के स्पष्ट डुप्लिकेट गुणन से बचा जाता है <math>l</math> और इसके बाद में।
# से गुणा करना <math>\nabla_{a^L} C</math> - त्रुटि को पीछे की ओर प्रचारित करना - इसका अर्थ है कि प्रत्येक चरण केवल सदिश को गुणा करता है (<math>\delta^l</math>) वज़न के मैट्रिसेस द्वारा <math>(W^l)^T</math> और सक्रियण के डेरिवेटिव <math>(f^{l-1})'</math>. इसके विपरीत, आगे की ओर गुणा करना, पिछली परत में परिवर्तनों से शुरू करना, इसका अर्थ है कि प्रत्येक गुणन मैट्रिक्स द्वारा मैट्रिक्स को गुणा करता है। यह बहुत अधिक महंगा है, और परत में बदलाव के हर संभव पथ को ट्रैक करने के अनुरूप है <math>l</math> परत में परिवर्तन के लिए आगे <math>l+2</math> (गुणा करने के लिए <math>W^{l+1}</math> द्वारा <math>W^{l+2}</math>, सक्रियण के डेरिवेटिव के लिए अतिरिक्त गुणन के साथ), जो अनावश्यक रूप से मध्यवर्ती मात्रा की गणना करता है कि कैसे वजन परिवर्तन छिपे हुए नोड्स के मूल्यों को प्रभावित करता है।
# से गुणा करना <math>\nabla_{a^L} C</math> - त्रुटि को पीछे की ओर प्रचारित करना - इसका अर्थ है कि प्रत्येक चरण केवल सदिश को गुणा करता है (<math>\delta^l</math>) वज़न के मैट्रिसेस द्वारा <math>(W^l)^T</math> और सक्रियण के डेरिवेटिव <math>(f^{l-1})'</math>. इसके विपरीत, आगे की ओर गुणा करना, पिछली परत में परिवर्तनों से प्रारंभ करना, इसका अर्थ है कि प्रत्येक गुणन मैट्रिक्स द्वारा मैट्रिक्स को गुणा करता है। यह बहुत अधिक महंगा है, और परत में बदलाव के हर संभव पथ को ट्रैक करने के अनुरूप है <math>l</math> परत में परिवर्तन के लिए आगे <math>l+2</math> (गुणा करने के लिए <math>W^{l+1}</math> द्वारा <math>W^{l+2}</math>, सक्रियण के डेरिवेटिव के लिए अतिरिक्त गुणन के साथ), जो अनावश्यक रूप से मध्यवर्ती मात्रा की गणना करता है कि कैसे भार परिवर्तन छिपे हुए नोड्स के मूल्यों को प्रभावित करता है।


== संलग्न ग्राफ ==
== संलग्न ग्राफ ==
Line 86: Line 88:


===प्रेरणा===
===प्रेरणा===
किसी भी पर्यवेक्षित शिक्षण एल्गोरिथ्म का लक्ष्य ऐसे फ़ंक्शन को खोजना है जो इनपुट के सेट को उनके सही आउटपुट के लिए सबसे अच्छा मैप करता है। बैकप्रोपैजेशन के लिए प्रेरणा बहु-स्तरित तंत्रिका नेटवर्क को प्रशिक्षित करना है, ताकि यह उचित आंतरिक अभ्यावेदन सीख सके ताकि यह इनपुट से आउटपुट के किसी भी मनमाना मानचित्रण को सीख सके।<ref name="RumelhartHintonWilliams1986a">{{cite journal |last1=Rumelhart |first1=David E. |author-link1=David E. Rumelhart |last2=Hinton |first2=Geoffrey E. |author-link2=Geoffrey E. Hinton |first3=Ronald J. |last3=Williams |author-link3=Ronald J. Williams |title=बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना|journal=Nature|date=1986a|volume=323|issue=6088|pages=533–536|doi=10.1038/323533a0|bibcode=1986Natur.323..533R|s2cid=205001834 }}</ref>
किसी भी पर्यवेक्षित शिक्षण एल्गोरिथ्म का लक्ष्य ऐसे फलन को खोजना है जो इनपुट के सेट को उनके सही आउटपुट के लिए सबसे अच्छा मैप करता है। पश्चप्रचार के लिए प्रेरणा बहु-स्तरित तंत्रिका नेटवर्क को प्रशिक्षित करना है, ताकि यह उचित आंतरिक अभ्यावेदन सीख सके ताकि यह इनपुट से आउटपुट के किसी भी मनमाना मानचित्रण को सीख सके।<ref name="RumelhartHintonWilliams1986a">{{cite journal |last1=Rumelhart |first1=David E. |author-link1=David E. Rumelhart |last2=Hinton |first2=Geoffrey E. |author-link2=Geoffrey E. Hinton |first3=Ronald J. |last3=Williams |author-link3=Ronald J. Williams |title=बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना|journal=Nature|date=1986a|volume=323|issue=6088|pages=533–536|doi=10.1038/323533a0|bibcode=1986Natur.323..533R|s2cid=205001834 }}</ref>




=== अनुकूलन समस्या के रूप में सीखना ===
=== अनुकूलन समस्या के रूप में सीखना ===
बैकप्रोपैगेशन एल्गोरिदम की गणितीय व्युत्पत्ति को समझने के लिए, पहले न्यूरॉन के वास्तविक आउटपुट और किसी विशेष प्रशिक्षण उदाहरण के लिए सही आउटपुट के बीच संबंध के बारे में कुछ अंतर्ज्ञान विकसित करने में मदद मिलती है। दो इनपुट इकाइयों, आउटपुट इकाई और कोई छिपी हुई इकाइयों के साथ साधारण तंत्रिका नेटवर्क पर विचार करें, और जिसमें प्रत्येक न्यूरॉन कृत्रिम न्यूरॉन#रैखिक संयोजन का उपयोग करता है (तंत्रिका नेटवर्क पर अधिकांश काम के विपरीत, जिसमें इनपुट से आउटपुट तक मैपिंग गैर-रैखिक है){{efn|One may notice that multi-layer neural networks use non-linear activation functions, so an example with linear neurons seems obscure. However, even though the error surface of multi-layer networks are much more complicated, locally they can be approximated by a paraboloid. Therefore, linear neurons are used for simplicity and easier understanding.}} that is the weighted sum of its input. [[File:A simple neural network with two input units and one output unit.png|thumb|250px|दो इनपुट इकाइयों (प्रत्येक इनपुट के साथ) और आउटपुट इकाई (दो इनपुट के साथ) के साथ साधारण तंत्रिका नेटवर्क]]प्रारंभ में, प्रशिक्षण से पहले, वजन बेतरतीब ढंग से निर्धारित किया जाएगा। फिर न्यूरॉन [[प्रशिक्षण सेट]] से सीखता है, जिसमें इस मामले में टुपल्स का सेट होता है <math>(x_1, x_2, t)</math> कहाँ <math>x_1</math> और <math>x_2</math> नेटवर्क के लिए इनपुट हैं और {{mvar|t}} सही आउटपुट है (आउटपुट को उन इनपुटों को देखते हुए उत्पादन करना चाहिए, जब इसे प्रशिक्षित किया गया हो)। प्रारंभिक नेटवर्क, दिया गया <math>x_1</math> और <math>x_2</math>, आउटपुट की गणना करेगा {{mvar|y}} जो संभवतः इससे भिन्न है {{mvar|t}} (यादृच्छिक भार दिया गया है)। नुकसान समारोह <math> L(t, y) </math> लक्ष्य आउटपुट के बीच विसंगति को मापने के लिए उपयोग किया जाता है {{mvar|t}} और परिकलित आउटपुट {{mvar|y}}. [[प्रतिगमन विश्लेषण]] समस्याओं के लिए चुकता त्रुटि का उपयोग हानि फ़ंक्शन के रूप में किया जा सकता है, [[सांख्यिकीय वर्गीकरण]] के लिए क्रॉस एन्ट्रॉपी का उपयोग किया जा सकता है।
बैकप्रोपैगेशन एल्गोरिदम की गणितीय व्युत्पत्ति को समझने के लिए, पहले न्यूरॉन के वास्तविक आउटपुट और किसी विशेष प्रशिक्षण उदाहरण के लिए सही आउटपुट के बीच संबंध के बारे में कुछ अंतर्ज्ञान विकसित करने में सहायता मिलती है। दो इनपुट इकाइयों, आउटपुट इकाई और कोई छिपी हुई इकाइयों के साथ साधारण तंत्रिका नेटवर्क पर विचार करें, और जिसमें प्रत्येक न्यूरॉन कृत्रिम न्यूरॉन#रैखिक संयोजन का उपयोग करता है (तंत्रिका नेटवर्क पर अधिकांश काम के विपरीत, जिसमें इनपुट से आउटपुट तक मैपिंग गैर-रैखिक है){{efn|One may notice that multi-layer neural networks use non-linear activation functions, so an example with linear neurons seems obscure. However, even though the error surface of multi-layer networks are much more complicated, locally they can be approximated by a paraboloid. Therefore, linear neurons are used for simplicity and easier understanding.}} that is the weighted sum of its input. [[File:A simple neural network with two input units and one output unit.png|thumb|250px|दो इनपुट इकाइयों (प्रत्येक इनपुट के साथ) और आउटपुट इकाई (दो इनपुट के साथ) के साथ साधारण तंत्रिका नेटवर्क]]प्रारंभ में, प्रशिक्षण से पहले, भार बेतरतीब ढंग से निर्धारित किया जाएगा। फिर न्यूरॉन [[प्रशिक्षण सेट]] से सीखता है, जिसमें इस मामले में टुपल्स का सेट होता है <math>(x_1, x_2, t)</math> जहाँ <math>x_1</math> और <math>x_2</math> नेटवर्क के लिए इनपुट हैं और {{mvar|t}} सही आउटपुट है (आउटपुट को उन इनपुटों को देखते हुए उत्पादन करना चाहिए, जब इसे प्रशिक्षित किया गया हो)। प्रारंभिक नेटवर्क, दिया गया <math>x_1</math> और <math>x_2</math>, आउटपुट की गणना करेगा {{mvar|y}} जो संभवतः इससे भिन्न है {{mvar|t}} (यादृच्छिक भार दिया गया है)। हानि फलन <math> L(t, y) </math> लक्ष्य आउटपुट के बीच विसंगति को मापने के लिए उपयोग किया जाता है {{mvar|t}} और परिकलित आउटपुट {{mvar|y}}. [[प्रतिगमन विश्लेषण]] समस्याओं के लिए चुकता त्रुटि का उपयोग हानि फलन के रूप में किया जा सकता है, [[सांख्यिकीय वर्गीकरण]] के लिए क्रॉस एन्ट्रॉपी का उपयोग किया जा सकता है।


उदाहरण के रूप में नुकसान के रूप में वर्ग त्रुटि का उपयोग करके प्रतिगमन समस्या पर विचार करें:
उदाहरण के रूप में हानि के रूप में वर्ग त्रुटि का उपयोग करके प्रतिगमन समस्या पर विचार करें:
:<math>L(t, y)= (t-y)^2 = E, </math>
:<math>L(t, y)= (t-y)^2 = E, </math>
कहाँ {{mvar|E}} विसंगति या त्रुटि है।
जहाँ {{mvar|E}} विसंगति या त्रुटि है।
एकल प्रशिक्षण मामले पर नेटवर्क पर विचार करें: <math>(1, 1, 0)</math>. इस प्रकार, इनपुट <math>x_1</math> और <math>x_2</math> क्रमशः 1 और 1 हैं और सही आउटपुट, {{mvar|t}} 0 है। अब यदि नेटवर्क के आउटपुट के बीच संबंध प्लॉट किया जाता है {{mvar|y}} क्षैतिज अक्ष और त्रुटि पर {{mvar|E}} ऊर्ध्वाधर अक्ष पर, परिणाम [[परवलय]] है। पैराबोला का [[मैक्सिमा और मिनिमा]] आउटपुट से मेल खाता है {{mvar|y}} जो त्रुटि को कम करता है {{mvar|E}}. एकल प्रशिक्षण मामले के लिए, न्यूनतम भी क्षैतिज अक्ष को छूता है, जिसका अर्थ है कि त्रुटि शून्य होगी और नेटवर्क आउटपुट उत्पन्न कर सकता है {{mvar|y}} जो लक्ष्य आउटपुट से बिल्कुल मेल खाता है {{mvar|t}}. इसलिए, आउटपुट को मैपिंग इनपुट की समस्या को [[अनुकूलन समस्या]] में कम किया जा सकता है of finding a function that will produce the minimal error. [[File:Error surface of a linear neuron for a single training case.png|right|thumb|250px|एकल प्रशिक्षण मामले के लिए रेखीय न्यूरॉन की त्रुटि सतह]]हालाँकि, न्यूरॉन का आउटपुट उसके सभी इनपुट के भारित योग पर निर्भर करता है:
एकल प्रशिक्षण मामले पर नेटवर्क पर विचार करें: <math>(1, 1, 0)</math>. इस प्रकार, इनपुट <math>x_1</math> और <math>x_2</math> क्रमशः 1 और 1 हैं और सही आउटपुट, {{mvar|t}} 0 है। अब यदि नेटवर्क के आउटपुट के बीच संबंध प्लॉट किया जाता है {{mvar|y}} क्षैतिज अक्ष और त्रुटि पर {{mvar|E}} ऊर्ध्वाधर अक्ष पर, परिणाम [[परवलय]] है। पैराबोला का [[मैक्सिमा और मिनिमा]] आउटपुट से मेल खाता है {{mvar|y}} जो त्रुटि को कम करता है {{mvar|E}}. एकल प्रशिक्षण मामले के लिए, न्यूनतम भी क्षैतिज अक्ष को छूता है, जिसका अर्थ है कि त्रुटि शून्य होगी और नेटवर्क आउटपुट उत्पन्न कर सकता है {{mvar|y}} जो लक्ष्य आउटपुट से बिल्कुल मेल खाता है {{mvar|t}}. इसलिए, आउटपुट को मैपिंग इनपुट की समस्या को [[अनुकूलन समस्या]] में कम किया जा सकता है of finding a function that will produce the minimal error. [[File:Error surface of a linear neuron for a single training case.png|right|thumb|250px|एकल प्रशिक्षण मामले के लिए रेखीय न्यूरॉन की त्रुटि सतह]]चूँकि, न्यूरॉन का आउटपुट उसके सभी इनपुट के भारित योग पर निर्भर करता है:


:<math>y=x_1w_1 + x_2w_2,</math>
:<math>y=x_1w_1 + x_2w_2,</math>
कहाँ <math>w_1</math> और <math>w_2</math> इनपुट यूनिट से आउटपुट यूनिट तक कनेक्शन पर भार हैं। इसलिए, त्रुटि न्यूरॉन के आने वाले भार पर भी निर्भर करती है, जो अंततः सीखने को सक्षम करने के लिए नेटवर्क में बदलने की आवश्यकता होती है।
जहाँ <math>w_1</math> और <math>w_2</math> इनपुट यूनिट से आउटपुट यूनिट तक कनेक्शन पर भार हैं। इसलिए, त्रुटि न्यूरॉन के आने वाले भार पर भी निर्भर करती है, जो अंततः सीखने को सक्षम करने के लिए नेटवर्क में बदलने की आवश्यकता होती है।


इस उदाहरण में, प्रशिक्षण डेटा को इंजेक्ट करने पर <math>(1, 1, 0)</math>, loss function बन जाता है
इस उदाहरण में, प्रशिक्षण डेटा को इंजेक्ट करने पर <math>(1, 1, 0)</math>, loss function बन जाता है


<math> E = (t-y)^2 = y^2 = (x_1w_1 + x_2w_2)^2 = (w_1 + w_2)^2.</math>
<math> E = (t-y)^2 = y^2 = (x_1w_1 + x_2w_2)^2 = (w_1 + w_2)^2.</math>
फिर, हानि समारोह <math>E</math> इसके आधार के साथ निर्देशित परवलयिक सिलेंडर का रूप लेता है <math>w_1 = -w_2</math>. वजन के सभी सेट जो संतुष्ट करते हैं <math>w_1 = -w_2</math> नुकसान समारोह को कम करें, इस मामले में अद्वितीय समाधान में अभिसरण करने के लिए अतिरिक्त बाधाओं की आवश्यकता होती है। अतिरिक्त बाधाओं को या तो वजन के लिए विशिष्ट शर्तों को निर्धारित करके या अतिरिक्त प्रशिक्षण डेटा को इंजेक्ट करके उत्पन्न किया जा सकता है।
फिर, हानि फलन <math>E</math> इसके आधार के साथ निर्देशित परवलयिक सिलेंडर का रूप लेता है <math>w_1 = -w_2</math>. भार के सभी सेट जो संतुष्ट करते हैं <math>w_1 = -w_2</math> हानि फलन को कम करें, इस मामले में अद्वितीय समाधान में अभिसरण करने के लिए अतिरिक्त बाधाओं की आवश्यकता होती है। अतिरिक्त बाधाओं को या तो भार के लिए विशिष्ट शर्तों को निर्धारित करके या अतिरिक्त प्रशिक्षण डेटा को इंजेक्ट करके उत्पन्न किया जा सकता है।


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


== व्युत्पत्ति ==
== व्युत्पत्ति ==
ग्रेडिएंट डिसेंट मेथड में नेटवर्क के वेट के संबंध में लॉस फंक्शन के डेरिवेटिव की गणना करना शामिल है। यह सामान्य रूप से बैकप्रोपैजेशन का उपयोग करके किया जाता है। आउटपुट न्यूरॉन मानते हुए,{{efn|There can be multiple output neurons, in which case the error is the squared norm of the difference vector.}} चुकता त्रुटि समारोह है
ग्रेडिएंट डिसेंट मेथड में नेटवर्क के वेट के संबंध में लॉस फंक्शन के डेरिवेटिव की गणना करना सम्मिलित है। यह सामान्य रूप से पश्चप्रचार का उपयोग करके किया जाता है। आउटपुट न्यूरॉन मानते हुए,{{efn|There can be multiple output neurons, in which case the error is the squared norm of the difference vector.}} चुकता त्रुटि फलन है


:<math>E = L(t, y)</math>
:<math>E = L(t, y)</math>
कहाँ
जहाँ
:<math>L</math> आउटपुट के लिए नुकसान है <math>y</math> और लक्ष्य मूल्य <math>t</math>,
:<math>L</math> आउटपुट के लिए हानि है <math>y</math> और लक्ष्य मूल्य <math>t</math>,
:<math>t</math> प्रशिक्षण नमूने के लिए लक्ष्य आउटपुट है, और
:<math>t</math> प्रशिक्षण नमूने के लिए लक्ष्य आउटपुट है, और
:<math>y</math> आउटपुट न्यूरॉन का वास्तविक आउटपुट है।
:<math>y</math> आउटपुट न्यूरॉन का वास्तविक आउटपुट है।
Line 125: Line 127:


:<math> \frac {d \varphi(z)}{d z} = \varphi(z)(1-\varphi(z)) </math>
:<math> \frac {d \varphi(z)}{d z} = \varphi(z)(1-\varphi(z)) </math>
इनपुट <math>\text{net}_j</math> न्यूरॉन के लिए आउटपुट का भारित योग है <math>o_k</math> पिछले न्यूरॉन्स की। यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, तो <math>o_k</math> इनपुट लेयर के केवल इनपुट होते हैं <math>x_k</math> नेटवर्क के लिए। न्यूरॉन में इनपुट इकाइयों की संख्या है <math>n</math>. चर <math>w_{kj}</math> न्यूरॉन के बीच वजन को दर्शाता है <math>k</math> पिछली परत और न्यूरॉन की <math>j</math> वर्तमान परत की।
इनपुट <math>\text{net}_j</math> न्यूरॉन के लिए आउटपुट का भारित योग है <math>o_k</math> पिछले न्यूरॉन्स की। यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, तो <math>o_k</math> इनपुट लेयर के केवल इनपुट होते हैं <math>x_k</math> नेटवर्क के लिए। न्यूरॉन में इनपुट इकाइयों की संख्या है <math>n</math>. चर <math>w_{kj}</math> न्यूरॉन के बीच भार को दर्शाता है <math>k</math> पिछली परत और न्यूरॉन की <math>j</math> वर्तमान परत की।


=== त्रुटि का व्युत्पन्न ढूँढना ===
=== त्रुटि का व्युत्पन्न ढूँढना ===
[[Image:ArtificialNeuronModel english.png|thumb|400px|यहां प्रयुक्त अंकन को दर्शाने के लिए कृत्रिम तंत्रिका नेटवर्क का आरेख]]वजन के संबंध में त्रुटि के [[आंशिक व्युत्पन्न]] की गणना करना <math>w_{ij}</math> दो बार श्रृंखला नियम का उपयोग करके किया जाता है:
[[Image:ArtificialNeuronModel english.png|thumb|400px|यहां प्रयुक्त अंकन को दर्शाने के लिए कृत्रिम तंत्रिका नेटवर्क का आरेख]]भार के संबंध में त्रुटि के [[आंशिक व्युत्पन्न]] की गणना करना <math>w_{ij}</math> दो बार श्रृंखला नियम का उपयोग करके किया जाता है:
{{NumBlk|:|<math>\frac{\partial E}{\partial w_{ij}} = \frac{\partial E}{\partial o_{j}} \frac{\partial o_{j}}{\partial w_{ij}}
{{NumBlk|:|<math>\frac{\partial E}{\partial w_{ij}} = \frac{\partial E}{\partial o_{j}} \frac{\partial o_{j}}{\partial w_{ij}}
= \frac{\partial E}{\partial o_j} \frac{\partial o_j}{\partial\text{net}_j} \frac{\partial \text{net}_j}{\partial w_{ij}}</math>|{{EquationRef|Eq. 1}}}}
= \frac{\partial E}{\partial o_j} \frac{\partial o_j}{\partial\text{net}_j} \frac{\partial \text{net}_j}{\partial w_{ij}}</math>|{{EquationRef|Eq. 1}}}}
Line 137: Line 139:
यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, <math>o_i</math> बस है <math>x_i</math>.
यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, <math>o_i</math> बस है <math>x_i</math>.


न्यूरॉन के आउटपुट का व्युत्पन्न <math>j</math> इसके इनपुट के संबंध में केवल सक्रियण फ़ंक्शन का आंशिक व्युत्पन्न है:
न्यूरॉन के आउटपुट का व्युत्पन्न <math>j</math> इसके इनपुट के संबंध में केवल सक्रियण फलन का आंशिक व्युत्पन्न है:


{{NumBlk|:|<math>\frac{\partial o_j}{\partial\text{net}_j} = \frac {\partial  \varphi(\text{net}_j)}{\partial \text{net}_j}</math>|{{EquationRef|Eq. 3}}}}
{{NumBlk|:|<math>\frac{\partial o_j}{\partial\text{net}_j} = \frac {\partial  \varphi(\text{net}_j)}{\partial \text{net}_j}</math>|{{EquationRef|Eq. 3}}}}


जो रसद समारोह के लिए
जो रसद फलन के लिए
:<math>\frac{\partial o_j}{\partial\text{net}_j} = \frac {\partial}{\partial \text{net}_j} \varphi(\text{net}_j) = \varphi(\text{net}_j)(1-\varphi(\text{net}_j)) = o_j(1-o_j)</math>
:<math>\frac{\partial o_j}{\partial\text{net}_j} = \frac {\partial}{\partial \text{net}_j} \varphi(\text{net}_j) = \varphi(\text{net}_j)(1-\varphi(\text{net}_j)) = o_j(1-o_j)</math>
यही कारण है कि बैकप्रोपैजेशन के लिए जरूरी है कि एक्टिवेशन फंक्शन डिफरेंशियल फंक्शन हो। (फिर भी, ReLU सक्रियण फ़ंक्शन, जो 0 पर अविभेद्य है, काफी लोकप्रिय हो गया है, उदाहरण के लिए [[एलेक्सनेट]] में)
यही कारण है कि पश्चप्रचार के लिए जरूरी है कि एक्टिवेशन फंक्शन डिफरेंशियल फंक्शन हो। (फिर भी, ReLU सक्रियण फलन, जो 0 पर अविभेद्य है, काफी लोकप्रिय हो गया है, उदाहरण के लिए [[एलेक्सनेट]] में)


न्यूरॉन आउटपुट लेयर में है या नहीं, इसका मूल्यांकन करने के लिए पहला कारक सीधा है <math>o_j = y</math> और
न्यूरॉन आउटपुट लेयर में है या नहीं, इसका मूल्यांकन करने के लिए पहला कारक सीधा है <math>o_j = y</math> और
{{NumBlk|:|<math>\frac{\partial E}{\partial o_j} = \frac{\partial E}{\partial y} </math>|{{EquationRef|Eq. 4}}}}
{{NumBlk|:|<math>\frac{\partial E}{\partial o_j} = \frac{\partial E}{\partial y} </math>|{{EquationRef|Eq. 4}}}}


यदि आधे वर्ग त्रुटि का उपयोग हानि फ़ंक्शन के रूप में किया जाता है, तो हम इसे फिर से लिख सकते हैं
यदि आधे वर्ग त्रुटि का उपयोग हानि फलन के रूप में किया जाता है, तो हम इसे फिर से लिख सकते हैं


: <math>\frac{\partial E}{\partial o_j} = \frac{\partial E}{\partial y} = \frac{\partial}{\partial y} \frac{1}{2}(t - y)^2 = y - t </math>
: <math>\frac{\partial E}{\partial o_j} = \frac{\partial E}{\partial y} = \frac{\partial}{\partial y} \frac{1}{2}(t - y)^2 = y - t </math>
हालांकि, यदि <math>j</math> व्युत्पन्न खोजने, नेटवर्क की मनमाना आंतरिक परत में है <math>E</math> इसके संबंध में <math>o_j</math> कम स्पष्ट है।
चूंकि, यदि <math>j</math> व्युत्पन्न खोजने, नेटवर्क की मनमाना आंतरिक परत में है <math>E</math> इसके संबंध में <math>o_j</math> कम स्पष्ट है।


मानते हुए <math>E</math> सभी न्यूरॉन्स होने वाले इनपुट के साथ फ़ंक्शन के रूप में <math>L = \{u, v, \dots, w\}</math> न्यूरॉन से इनपुट प्राप्त करना <math>j</math>,
मानते हुए <math>E</math> सभी न्यूरॉन्स होने वाले इनपुट के साथ फलन के रूप में <math>L = \{u, v, \dots, w\}</math> न्यूरॉन से इनपुट प्राप्त करना <math>j</math>,


: <math>\frac{\partial E(o_j)}{\partial o_j} = \frac{\partial E(\mathrm{net}_u, \text{net}_v, \dots, \mathrm{net}_w)}{\partial o_j}</math>
: <math>\frac{\partial E(o_j)}{\partial o_j} = \frac{\partial E(\mathrm{net}_u, \text{net}_v, \dots, \mathrm{net}_w)}{\partial o_j}</math>
Line 179: Line 181:
                             \delta_\ell)\frac {d \varphi(\text{net}_j)}{d \text{net}_j}  & \text{if } j \text{ is an inner neuron.}
                             \delta_\ell)\frac {d \varphi(\text{net}_j)}{d \text{net}_j}  & \text{if } j \text{ is an inner neuron.}
\end{cases}</math>
\end{cases}</math>
अगर <math>\varphi</math> रसद समारोह है, और त्रुटि वर्ग त्रुटि है:
अगर <math>\varphi</math> रसद फलन है, और त्रुटि वर्ग त्रुटि है:


: <math>\delta_j = \frac{\partial E}{\partial o_j} \frac{\partial o_j}{\partial\text{net}_j} = \begin{cases}
: <math>\delta_j = \frac{\partial E}{\partial o_j} \frac{\partial o_j}{\partial\text{net}_j} = \begin{cases}
Line 185: Line 187:
(\sum_{\ell\in L} w_{j \ell} \delta_\ell)o_j(1-o_j)  & \text{if } j \text{ is an inner neuron.}
(\sum_{\ell\in L} w_{j \ell} \delta_\ell)o_j(1-o_j)  & \text{if } j \text{ is an inner neuron.}
\end{cases}</math>
\end{cases}</math>
वजन अपडेट करने के लिए <math>w_{ij}</math> ग्रेडिएंट डिसेंट का उपयोग करते हुए, सीखने की दर का चयन करना चाहिए, <math>\eta >0</math>. वजन में परिवर्तन पर प्रभाव को प्रतिबिंबित करने की जरूरत है <math>E</math> में वृद्धि या कमी के बारे में <math>w_{ij}</math>. अगर <math>\frac{\partial E}{\partial w_{ij}} > 0</math>, में वृद्धि <math>w_{ij}</math> बढ़ती है <math>E</math>; इसके विपरीत, अगर <math>\frac{\partial E}{\partial w_{ij}} < 0</math>, में वृद्धि <math>w_{ij}</math> कम हो जाती है <math>E</math>. नई <math>\Delta w_{ij}</math> पुराने वजन में जोड़ा जाता है, और सीखने की दर और ग्रेडिएंट के उत्पाद को गुणा किया जाता है <math>-1</math> इसकी गारंटी देता है <math>w_{ij}</math> तरह से बदलता है जो हमेशा घटता है <math>E</math>. दूसरे शब्दों में, तुरंत नीचे समीकरण में, <math>- \eta \frac{\partial E}{\partial w_{ij}}</math> हमेशा बदलता है <math>w_{ij}</math> इस तरह से कि <math>E</math> घटा है:
भार अपडेट करने के लिए <math>w_{ij}</math> ग्रेडिएंट डिसेंट का उपयोग करते हुए, सीखने की दर का चयन करना चाहिए, <math>\eta >0</math>. भार में परिवर्तन पर प्रभाव को प्रतिबिंबित करने की जरूरत है <math>E</math> में वृद्धि या कमी के बारे में <math>w_{ij}</math>. अगर <math>\frac{\partial E}{\partial w_{ij}} > 0</math>, में वृद्धि <math>w_{ij}</math> बढ़ती है <math>E</math>; इसके विपरीत, अगर <math>\frac{\partial E}{\partial w_{ij}} < 0</math>, में वृद्धि <math>w_{ij}</math> कम हो जाती है <math>E</math>. नई <math>\Delta w_{ij}</math> पुराने भार में जोड़ा जाता है, और सीखने की दर और ग्रेडिएंट के उत्पाद को गुणा किया जाता है <math>-1</math> इसकी गारंटी देता है <math>w_{ij}</math> तरह से बदलता है जो हमेशा घटता है <math>E</math>. दूसरे शब्दों में, तुरंत नीचे समीकरण में, <math>- \eta \frac{\partial E}{\partial w_{ij}}</math> हमेशा बदलता है <math>w_{ij}</math> इस तरह से कि <math>E</math> घटा है:


: <math> \Delta w_{ij} = - \eta \frac{\partial E}{\partial w_{ij}} = - \eta o_i \delta_j</math>
: <math> \Delta w_{ij} = - \eta \frac{\partial E}{\partial w_{ij}} = - \eta o_i \delta_j</math>




== द्वितीय क्रम ढाल वंश ==
== द्वितीय क्रम प्रवणता वंश ==
त्रुटि फ़ंक्शन के दूसरे-क्रम के डेरिवेटिव के [[हेसियन मैट्रिक्स]] का उपयोग करते हुए, [[लेवेनबर्ग-मार्क्वार्ट एल्गोरिथम]] अक्सर पहले-क्रम ढाल वंश की तुलना में तेजी से अभिसरण करता है, खासकर जब त्रुटि फ़ंक्शन की टोपोलॉजी जटिल होती है।<ref name="Tan2018">{{cite journal|last1=Tan|first1=Hong Hui|last2=Lim|first2=King Han|title=कृत्रिम तंत्रिका नेटवर्क बैकप्रोपैगेशन में दूसरे क्रम की अनुकूलन तकनीकों की समीक्षा|journal=IOP Conference Series: Materials Science and Engineering|year=2019|volume=495|issue=1|page=012003|doi=10.1088/1757-899X/495/1/012003|bibcode=2019MS&E..495a2003T|s2cid=208124487|doi-access=free}}</ref><ref name="Wiliamowski2010">{{cite journal|title=Improved Computation for Levenberg–Marquardt Training|last1=Wiliamowski|first1=Bogdan|last2=Yu|first2=Hao|journal=IEEE Transactions on Neural Networks and Learning Systems|volume=21|issue=6|date=June 2010|url=https://www.eng.auburn.edu/~wilambm/pap/2010/Improved%20Computation%20for%20LM%20Training.pdf}}</ref> यह छोटे नोड काउंट में भी समाधान ढूंढ सकता है जिसके लिए अन्य विधियां अभिसरण नहीं कर सकती हैं।<ref name="Wiliamowski2010"/>फिशर सूचना मैट्रिक्स द्वारा हेसियन का अनुमान लगाया जा सकता है।<ref name="Martens2020">{{cite journal|last=Martens|first=James|title=प्राकृतिक ढाल पद्धति पर नई अंतर्दृष्टि और दृष्टिकोण|journal=Journal of Machine Learning Research|issue=21|date=August 2020|arxiv=1412.1193}}</ref>
त्रुटि फलन के दूसरे-क्रम के डेरिवेटिव के [[हेसियन मैट्रिक्स]] का उपयोग करते हुए, [[लेवेनबर्ग-मार्क्वार्ट एल्गोरिथम]] अक्सर पहले-क्रम प्रवणता वंश की तुलना में तेजी से अभिसरण करता है, खासकर जब त्रुटि फलन की टोपोलॉजी जटिल होती है।<ref name="Tan2018">{{cite journal|last1=Tan|first1=Hong Hui|last2=Lim|first2=King Han|title=कृत्रिम तंत्रिका नेटवर्क बैकप्रोपैगेशन में दूसरे क्रम की अनुकूलन तकनीकों की समीक्षा|journal=IOP Conference Series: Materials Science and Engineering|year=2019|volume=495|issue=1|page=012003|doi=10.1088/1757-899X/495/1/012003|bibcode=2019MS&E..495a2003T|s2cid=208124487|doi-access=free}}</ref><ref name="Wiliamowski2010">{{cite journal|title=Improved Computation for Levenberg–Marquardt Training|last1=Wiliamowski|first1=Bogdan|last2=Yu|first2=Hao|journal=IEEE Transactions on Neural Networks and Learning Systems|volume=21|issue=6|date=June 2010|url=https://www.eng.auburn.edu/~wilambm/pap/2010/Improved%20Computation%20for%20LM%20Training.pdf}}</ref> यह छोटे नोड काउंट में भी समाधान ढूंढ सकता है जिसके लिए अन्य विधियां अभिसरण नहीं कर सकती हैं।<ref name="Wiliamowski2010"/>फिशर सूचना मैट्रिक्स द्वारा हेसियन का अनुमान लगाया जा सकता है।<ref name="Martens2020">{{cite journal|last=Martens|first=James|title=प्राकृतिक ढाल पद्धति पर नई अंतर्दृष्टि और दृष्टिकोण|journal=Journal of Machine Learning Research|issue=21|date=August 2020|arxiv=1412.1193}}</ref>




== हानि समारोह ==
== हानि फलन ==
{{Further|Loss function}}
{{Further|Loss function}}
हानि फ़ंक्शन ऐसा फ़ंक्शन है जो या अधिक चर के मानों को [[वास्तविक संख्या]] पर मानचित्रित करता है जो उन मूल्यों से जुड़ी कुछ लागतों को सहजता से दर्शाता है। Backpropagation के लिए, प्रशिक्षण उदाहरण नेटवर्क के माध्यम से प्रसारित होने के बाद, हानि फ़ंक्शन नेटवर्क आउटपुट और उसके अपेक्षित आउटपुट के बीच अंतर की गणना करता है।
हानि फलन ऐसा फलन है जो या अधिक चर के मानों को [[वास्तविक संख्या]] पर मानचित्रित करता है जो उन मूल्यों से जुड़ी कुछ लागतों को सहजता से दर्शाता है। पश्चप्रचार के लिए, प्रशिक्षण उदाहरण नेटवर्क के माध्यम से प्रसारित होने के बाद, हानि फलन नेटवर्क आउटपुट और उसके अपेक्षित आउटपुट के बीच अंतर की गणना करता है।


=== अनुमान ===
=== अनुमान ===
हानि फलन की गणितीय अभिव्यक्ति को दो शर्तों को पूरा करना चाहिए ताकि इसे संभवत: बैकप्रोपैजेशन में उपयोग किया जा सके।<ref>{{harvtxt|Nielsen|2015}}, "[W]hat assumptions do we need to make about our cost function ... in order that backpropagation can be applied? The first assumption we need is that the cost function can be written as an average ... over cost functions ... for individual training examples ... The second assumption we make about the cost is that it can be written as a function of the outputs from the neural network ..."</ref> पहला यह है कि इसे औसत के रूप में लिखा जा सकता है <math display="inline">E=\frac{1}{n}\sum_xE_x</math> त्रुटि कार्यों पर <math display="inline">E_x</math>, के लिए <math display="inline">n</math> व्यक्तिगत प्रशिक्षण उदाहरण, <math display="inline">x</math>. इस धारणा का कारण यह है कि बैकप्रोपैजेशन एल्गोरिथ्म एकल प्रशिक्षण उदाहरण के लिए त्रुटि फ़ंक्शन के ग्रेडिएंट की गणना करता है, जिसे समग्र त्रुटि फ़ंक्शन के लिए सामान्यीकृत करने की आवश्यकता होती है। दूसरी धारणा यह है कि इसे तंत्रिका नेटवर्क से आउटपुट के समारोह के रूप में लिखा जा सकता है।
हानि फलन की गणितीय अभिव्यक्ति को दो शर्तों को पूरा करना चाहिए ताकि इसे संभवत: पश्चप्रचार में उपयोग किया जा सके।<ref>{{harvtxt|Nielsen|2015}}, "[W]hat assumptions do we need to make about our cost function ... in order that backpropagation can be applied? The first assumption we need is that the cost function can be written as an average ... over cost functions ... for individual training examples ... The second assumption we make about the cost is that it can be written as a function of the outputs from the neural network ..."</ref> पहला यह है कि इसे औसत के रूप में लिखा जा सकता है <math display="inline">E=\frac{1}{n}\sum_xE_x</math> त्रुटि कार्यों पर <math display="inline">E_x</math>, के लिए <math display="inline">n</math> व्यक्तिगत प्रशिक्षण उदाहरण, <math display="inline">x</math>. इस धारणा का कारण यह है कि पश्चप्रचार एल्गोरिथ्म एकल प्रशिक्षण उदाहरण के लिए त्रुटि फलन के ग्रेडिएंट की गणना करता है, जिसे समग्र त्रुटि फलन के लिए सामान्यीकृत करने की आवश्यकता होती है। दूसरी धारणा यह है कि इसे तंत्रिका नेटवर्क से आउटपुट के फलन के रूप में लिखा जा सकता है।


=== उदाहरण हानि समारोह ===
=== उदाहरण हानि फलन ===
होने देना <math>y,y'</math> में वैक्टर हो <math>\mathbb{R}^n</math>.
होने देना <math>y,y'</math> में वैक्टर हो <math>\mathbb{R}^n</math>.


त्रुटि समारोह का चयन करें <math>E(y,y')</math> दो आउटपुट के बीच अंतर को मापना। मानक विकल्प सदिशों के बीच [[यूक्लिडियन दूरी]] का वर्ग है <math>y</math> और <math>y'</math>:<math display="block">E(y,y') = \tfrac{1}{2} \lVert y-y'\rVert^2</math>त्रुटि कार्य समाप्त हो गया <math display="inline">n</math> प्रशिक्षण के उदाहरणों को अलग-अलग उदाहरणों पर नुकसान के औसत के रूप में लिखा जा सकता है:<math display="block">E=\frac{1}{2n}\sum_x\lVert (y(x)-y'(x)) \rVert^2</math>
त्रुटि फलन का चयन करें <math>E(y,y')</math> दो आउटपुट के बीच अंतर को मापना। मानक विकल्प सदिशों के बीच [[यूक्लिडियन दूरी]] का वर्ग है <math>y</math> और <math>y'</math>:<math display="block">E(y,y') = \tfrac{1}{2} \lVert y-y'\rVert^2</math>त्रुटि कार्य समाप्त हो गया <math display="inline">n</math> प्रशिक्षण के उदाहरणों को अलग-अलग उदाहरणों पर हानि के औसत के रूप में लिखा जा सकता है:<math display="block">E=\frac{1}{2n}\sum_x\lVert (y(x)-y'(x)) \rVert^2</math>




== सीमाएं ==
== सीमाएं ==
[[File:Extrema example.svg|thumb|250px|ग्रेडियेंट डिसेंट वैश्विक न्यूनतम के बजाय स्थानीय न्यूनतम पा सकता है।]]* त्रुटि फ़ंक्शन के मैक्सिमा और मिनिमा को खोजने के लिए बैकप्रोपैजेशन के साथ ग्रेडिएंट डिसेंट की गारंटी नहीं है, लेकिन केवल स्थानीय न्यूनतम है; इसके अलावा, इसे एरर फंक्शन लैंडस्केप में [[पठार (गणित)]] को पार करने में परेशानी होती है। [[उत्तल अनुकूलन]] | तंत्रिका नेटवर्क में त्रुटि कार्यों की गैर-उत्तलता के कारण होने वाली इस समस्या को लंबे समय से बड़ी कमी माना जाता था, लेकिन [[ वाई एन एल ईसीयू के अंदर ]] एट अल। तर्क देते हैं कि कई व्यावहारिक समस्याओं में, ऐसा नहीं है।<ref>{{cite journal |first1=Yann |last1=LeCun |first2=Yoshua |last2=Bengio |first3=Geoffrey |last3=Hinton |title=ध्यान लगा के पढ़ना या सीखना|journal=Nature |volume=521 |issue=7553 |year=2015 |pages=436–444 |doi=10.1038/nature14539 |pmid=26017442|bibcode=2015Natur.521..436L |s2cid=3074096 }}</ref>
[[File:Extrema example.svg|thumb|250px|ग्रेडियेंट डिसेंट वैश्विक न्यूनतम के बजाय स्थानीय न्यूनतम पा सकता है।]]* त्रुटि फलन के मैक्सिमा और मिनिमा को खोजने के लिए पश्चप्रचार के साथ ग्रेडिएंट डिसेंट की गारंटी नहीं है, किन्तु केवल स्थानीय न्यूनतम है; इसके अलावा, इसे एरर फंक्शन लैंडस्केप में [[पठार (गणित)]] को पार करने में परेशानी होती है। [[उत्तल अनुकूलन]] | तंत्रिका नेटवर्क में त्रुटि कार्यों की गैर-उत्तलता के कारण होने वाली इस समस्या को लंबे समय से बड़ी कमी माना जाता था, किन्तु [[ वाई एन एल ईसीयू के अंदर ]] एट अल। तर्क देते हैं कि कई व्यावहारिक समस्याओं में, ऐसा नहीं है।<ref>{{cite journal |first1=Yann |last1=LeCun |first2=Yoshua |last2=Bengio |first3=Geoffrey |last3=Hinton |title=ध्यान लगा के पढ़ना या सीखना|journal=Nature |volume=521 |issue=7553 |year=2015 |pages=436–444 |doi=10.1038/nature14539 |pmid=26017442|bibcode=2015Natur.521..436L |s2cid=3074096 }}</ref>
* Backpropagation सीखने के लिए इनपुट वैक्टर के सामान्यीकरण की आवश्यकता नहीं होती है; हालाँकि, सामान्यीकरण प्रदर्शन में सुधार कर सकता है।<ref>{{Cite book|title=गेम प्रोग्रामिंग के लिए एआई तकनीक|last1=Buckland|first1=Matt|last2=Collins|first2=Mark |location=Boston |publisher=Premier Press |year=2002 |isbn=1-931841-08-X }}</ref>
* पश्चप्रचार सीखने के लिए इनपुट वैक्टर के सामान्यीकरण की आवश्यकता नहीं होती है; चूँकि, सामान्यीकरण प्रदर्शन में सुधार कर सकता है।<ref>{{Cite book|title=गेम प्रोग्रामिंग के लिए एआई तकनीक|last1=Buckland|first1=Matt|last2=Collins|first2=Mark |location=Boston |publisher=Premier Press |year=2002 |isbn=1-931841-08-X }}</ref>
* Backpropagation के लिए आवश्यक है कि सक्रियण कार्यों के डेरिवेटिव को नेटवर्क डिज़ाइन समय पर जाना जाए।
* पश्चप्रचार के लिए आवश्यक है कि सक्रियण कार्यों के डेरिवेटिव को नेटवर्क डिज़ाइन समय पर जाना जाए।


== इतिहास ==
== इतिहास ==
{{See also|Perceptron#History|label 1=History of Perceptron}}
{{See also|Perceptron#History|label 1=History of Perceptron}}


नेस्टेड डिफरेंशियल फंक्शन फंक्शन के असतत कनेक्टेड नेटवर्क के लिए आधुनिक बैकप्रॉपैगेशन सेप्पो लिन्नैनमा का रिवर्स मोड ऑफ ऑटोमैटिक डिफरेंशियल (1970) है।<ref name="lin1970">{{cite thesis|first=Seppo|last=Linnainmaa|author-link=Seppo Linnainmaa|year=1970|type=Masters|title=स्थानीय राउंडिंग त्रुटियों के टेलर विस्तार के रूप में एल्गोरिथम की संचयी राउंडिंग त्रुटि का प्रतिनिधित्व|language=fi|publisher=University of Helsinki|pages=6–7}}</ref><ref name="lin1976">{{cite journal|last1=Linnainmaa|first1=Seppo|author-link=Seppo Linnainmaa|year=1976|title=संचित गोलाई त्रुटि का टेलर विस्तार|journal=BIT Numerical Mathematics|volume=16|issue=2|pages=146–160|doi=10.1007/bf01931367|s2cid=122357351}}</ref><ref name="schmidhuber2015"/><ref name="scholarpedia2015"/><ref name="grie2012">{{cite book |last=Griewank |first=Andreas |year=2012 |chapter=Who Invented the Reverse Mode of Differentiation? |title=अनुकूलन कहानियां|series=Documenta Matematica, Extra Volume ISMP |pages=389–400 |s2cid=15568746 }}</ref><ref name="grie2008">{{cite book|url={{google books |plainurl=y |id=xoiiLaRxcbEC}}|title=Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition|last1=Griewank|first1=Andreas|last2=Walther|first2=Andrea|author2-link=Andrea Walther|publisher=SIAM|year=2008|isbn=978-0-89871-776-1}}</ref> यह श्रृंखला नियम का कुशल अनुप्रयोग है (1673 में गॉटफ्रीड विल्हेम लीबनिज द्वारा व्युत्पन्न)<ref name="leibniz1676">{{Cite book|last=Leibniz|first=Gottfried Wilhelm Freiherr von|url=https://books.google.com/books?id=bOIGAAAAYAAJ&q=leibniz+altered+manuscripts&pg=PA90|title=The Early Mathematical Manuscripts of Leibniz: Translated from the Latin Texts Published by Carl Immanuel Gerhardt with Critical and Historical Notes (Leibniz published the chain rule in a 1676 memoir)|date=1920|publisher=Open court publishing Company|language=en}}</ref><ref>{{cite journal|url= https://scholarworks.umt.edu/tme/vol7/iss2/10/ |title=श्रृंखला नियम के उपदेशों पर एक लाक्षणिक प्रतिबिंब|journal=The Mathematics Enthusiast |year=2010 |volume=7 |pages=321–332 |issue=2 |first1=Omar Hernández |last1=Rodríguez |first2=Jorge M. |last2=López Fernández |doi=10.54870/1551-3440.1191 |s2cid=29739148 |access-date=2019-08-04|doi-access=free }}</ref>) ऐसे नेटवर्क के लिए।<ref name=DLhistory>{{cite arXiv|last=Schmidhuber|first=Juergen|author-link=Juergen Schmidhuber|date=2022|title=आधुनिक एआई और डीप लर्निंग का एनोटेट इतिहास|class=cs.NE|eprint=2212.11279}}</ref> शब्दावली पश्च-प्रसार त्रुटि सुधार 1962 में फ्रैंक रोसेनब्लैट द्वारा पेश किया गया था,<ref>{{cite book|last=Rosenblatt|first=Frank|author-link=Frank Rosenblatt|title=न्यूरोडायनामिक्स के सिद्धांत|year=1962|publisher=Spartan, New York}}</ref><ref name=DLhistory />लेकिन वह यह नहीं जानता था कि इसे कैसे लागू किया जाए, हालांकि हेनरी जे. केली के पास पश्चप्रचार का निरंतर अग्रदूत था<ref name="kelley1960">{{cite journal|last1=Kelley|first1=Henry J.|author-link=Henry J. Kelley|year=1960|title=इष्टतम उड़ान पथों का क्रमिक सिद्धांत|journal=ARS Journal|volume=30|issue=10|pages=947–954|doi=10.2514/8.5282}}</ref> पहले से ही 1960 में नियंत्रण सिद्धांत के संदर्भ में।<ref name=DLhistory />स्टोचैस्टिक ग्रेडिएंट डिसेंट द्वारा प्रशिक्षित पहला [[ध्यान लगा के पढ़ना या सीखना]] मल्टीलेयर परसेप्ट्रॉन (एमएलपी)।<ref name="robbins1951">{{Cite journal | last1 = Robbins | first1 = H. | author-link = Herbert Robbins| last2 = Monro | first2 = S. | doi = 10.1214/aoms/1177729586 | title = एक स्टोकेस्टिक सन्निकटन विधि| journal = The Annals of Mathematical Statistics | volume = 22 | issue = 3 | pages = 400 | year = 1951 | doi-access = free }}</ref> 1967 में शुनिची अमारी द्वारा प्रकाशित किया गया था।<ref name="Amari1967">{{cite journal |last1=Amari |first1=Shun'ichi |author-link=Shun'ichi Amari|title=अनुकूली पैटर्न वर्गीकारक का एक सिद्धांत|journal= IEEE Transactions |date=1967 |volume=EC |issue=16 |pages=279–307}}</ref><ref name=DLhistory />कंप्यूटर प्रयोगों में, दो परिवर्तनीय परतों के साथ उनके पांच परत एमएलपी ने गैर-रैखिक रूप से अलग-अलग पैटर्न वर्गों को वर्गीकृत करने के लिए आवश्यक ज्ञान प्रतिनिधित्व सीखा।<ref name=DLhistory />1982 में, [[पॉल वर्बोस]] ने MLPs के लिए उस तरह से बैकप्रॉपैगैशन लागू किया जो मानक बन गया है।<ref name="werbos1982">{{Cite book|title=सिस्टम मॉडलिंग और अनुकूलन|last=Werbos|first=Paul|publisher=Springer|year=1982|pages=762–770|chapter=Applications of advances in nonlinear sensitivity analysis|author-link=Paul Werbos|chapter-url=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf|access-date=2 July 2017|archive-date=14 April 2016|archive-url=https://web.archive.org/web/20160414055503/http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf|url-status=live}}</ref><ref name="werbos1974">{{cite book |last=Werbos |first=Paul J. |title=The Roots of Backpropagation : From Ordered Derivatives to Neural Networks and Political Forecasting |location=New York |publisher=John Wiley & Sons |year=1994 |isbn=0-471-59897-6 }}</ref><ref name=DLhistory />  
नेस्टेड डिफरेंशियल फंक्शन फंक्शन के असतत कनेक्टेड नेटवर्क के लिए आधुनिक बैकप्रॉपैगेशन सेप्पो लिन्नैनमा का रिवर्स मोड ऑफ ऑटोमैटिक डिफरेंशियल (1970) है।<ref name="lin1970">{{cite thesis|first=Seppo|last=Linnainmaa|author-link=Seppo Linnainmaa|year=1970|type=Masters|title=स्थानीय राउंडिंग त्रुटियों के टेलर विस्तार के रूप में एल्गोरिथम की संचयी राउंडिंग त्रुटि का प्रतिनिधित्व|language=fi|publisher=University of Helsinki|pages=6–7}}</ref><ref name="lin1976">{{cite journal|last1=Linnainmaa|first1=Seppo|author-link=Seppo Linnainmaa|year=1976|title=संचित गोलाई त्रुटि का टेलर विस्तार|journal=BIT Numerical Mathematics|volume=16|issue=2|pages=146–160|doi=10.1007/bf01931367|s2cid=122357351}}</ref><ref name="schmidhuber2015"/><ref name="scholarpedia2015"/><ref name="grie2012">{{cite book |last=Griewank |first=Andreas |year=2012 |chapter=Who Invented the Reverse Mode of Differentiation? |title=अनुकूलन कहानियां|series=Documenta Matematica, Extra Volume ISMP |pages=389–400 |s2cid=15568746 }}</ref><ref name="grie2008">{{cite book|url={{google books |plainurl=y |id=xoiiLaRxcbEC}}|title=Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition|last1=Griewank|first1=Andreas|last2=Walther|first2=Andrea|author2-link=Andrea Walther|publisher=SIAM|year=2008|isbn=978-0-89871-776-1}}</ref> यह श्रृंखला नियम का कुशल अनुप्रयोग है (1673 में गॉटफ्रीड विल्हेम लीबनिज द्वारा व्युत्पन्न)<ref name="leibniz1676">{{Cite book|last=Leibniz|first=Gottfried Wilhelm Freiherr von|url=https://books.google.com/books?id=bOIGAAAAYAAJ&q=leibniz+altered+manuscripts&pg=PA90|title=The Early Mathematical Manuscripts of Leibniz: Translated from the Latin Texts Published by Carl Immanuel Gerhardt with Critical and Historical Notes (Leibniz published the chain rule in a 1676 memoir)|date=1920|publisher=Open court publishing Company|language=en}}</ref><ref>{{cite journal|url= https://scholarworks.umt.edu/tme/vol7/iss2/10/ |title=श्रृंखला नियम के उपदेशों पर एक लाक्षणिक प्रतिबिंब|journal=The Mathematics Enthusiast |year=2010 |volume=7 |pages=321–332 |issue=2 |first1=Omar Hernández |last1=Rodríguez |first2=Jorge M. |last2=López Fernández |doi=10.54870/1551-3440.1191 |s2cid=29739148 |access-date=2019-08-04|doi-access=free }}</ref>) ऐसे नेटवर्क के लिए।<ref name=DLhistory>{{cite arXiv|last=Schmidhuber|first=Juergen|author-link=Juergen Schmidhuber|date=2022|title=आधुनिक एआई और डीप लर्निंग का एनोटेट इतिहास|class=cs.NE|eprint=2212.11279}}</ref> शब्दावली पश्च-प्रसार त्रुटि सुधार 1962 में फ्रैंक रोसेनब्लैट द्वारा प्रस्तुत किया गया था,<ref>{{cite book|last=Rosenblatt|first=Frank|author-link=Frank Rosenblatt|title=न्यूरोडायनामिक्स के सिद्धांत|year=1962|publisher=Spartan, New York}}</ref><ref name=DLhistory />किन्तु वह यह नहीं जानता था कि इसे कैसे प्रायुक्त किया जाए, चूंकि हेनरी जे. केली के पास पश्चप्रचार का निरंतर अग्रदूत था<ref name="kelley1960">{{cite journal|last1=Kelley|first1=Henry J.|author-link=Henry J. Kelley|year=1960|title=इष्टतम उड़ान पथों का क्रमिक सिद्धांत|journal=ARS Journal|volume=30|issue=10|pages=947–954|doi=10.2514/8.5282}}</ref> पहले से ही 1960 में नियंत्रण सिद्धांत के संदर्भ में।<ref name=DLhistory />स्टोचैस्टिक ग्रेडिएंट डिसेंट द्वारा प्रशिक्षित पहला [[ध्यान लगा के पढ़ना या सीखना]] मल्टीलेयर परसेप्ट्रॉन (एमएलपी)।<ref name="robbins1951">{{Cite journal | last1 = Robbins | first1 = H. | author-link = Herbert Robbins| last2 = Monro | first2 = S. | doi = 10.1214/aoms/1177729586 | title = एक स्टोकेस्टिक सन्निकटन विधि| journal = The Annals of Mathematical Statistics | volume = 22 | issue = 3 | pages = 400 | year = 1951 | doi-access = free }}</ref> 1967 में शुनिची अमारी द्वारा प्रकाशित किया गया था।<ref name="Amari1967">{{cite journal |last1=Amari |first1=Shun'ichi |author-link=Shun'ichi Amari|title=अनुकूली पैटर्न वर्गीकारक का एक सिद्धांत|journal= IEEE Transactions |date=1967 |volume=EC |issue=16 |pages=279–307}}</ref><ref name=DLhistory />कंप्यूटर प्रयोगों में, दो परिवर्तनीय परतों के साथ उनके पांच परत एमएलपी ने गैर-रैखिक रूप से अलग-अलग पैटर्न वर्गों को वर्गीकृत करने के लिए आवश्यक ज्ञान प्रतिनिधित्व सीखा।<ref name=DLhistory />1982 में, [[पॉल वर्बोस]] ने MLPs के लिए उस तरह से बैकप्रॉपैगैशन प्रायुक्त किया जो मानक बन गया है।<ref name="werbos1982">{{Cite book|title=सिस्टम मॉडलिंग और अनुकूलन|last=Werbos|first=Paul|publisher=Springer|year=1982|pages=762–770|chapter=Applications of advances in nonlinear sensitivity analysis|author-link=Paul Werbos|chapter-url=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf|access-date=2 July 2017|archive-date=14 April 2016|archive-url=https://web.archive.org/web/20160414055503/http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf|url-status=live}}</ref><ref name="werbos1974">{{cite book |last=Werbos |first=Paul J. |title=The Roots of Backpropagation : From Ordered Derivatives to Neural Networks and Political Forecasting |location=New York |publisher=John Wiley & Sons |year=1994 |isbn=0-471-59897-6 }}</ref><ref name=DLhistory />  
1985 में, डेविड ई. रुमेलहार्ट एट अल। तकनीक का प्रायोगिक विश्लेषण प्रकाशित किया।<ref name="learning-representations">{{cite journal | last1 = Rumelhart | last2 = Hinton | last3 = Williams | title=बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना| journal = Nature | volume = 323 | issue = 6088 | pages = 533–536 | url = http://www.cs.toronto.edu/~hinton/absps/naturebp.pdf| doi = 10.1038/323533a0 | year = 1986 | bibcode = 1986Natur.323..533R | s2cid = 205001834 }}</ref> इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और बहुपरत परसेप्ट्रॉन में अनुसंधान की सक्रिय अवधि शुरू करने में मदद की।<ref name="RumelhartHintonWilliams1986a" /><ref name="RumelhartHintonWilliams1986b">{{cite book |editor1-last=Rumelhart |editor1-first=David E. |editor1-link=David E. Rumelhart |editor2-first=James L. |editor2-last=McClelland |editor2-link=James McClelland (psychologist) |title=Parallel Distributed Processing : Explorations in the Microstructure of Cognition |volume=1 : Foundations |last1=Rumelhart |first1=David E. |author-link1=David E. Rumelhart |last2=Hinton |first2=Geoffrey E. |author-link2=Geoffrey E. Hinton |first3=Ronald J. |last3=Williams |author-link3=Ronald J. Williams |chapter=8. Learning Internal Representations by Error Propagation |location=Cambridge |publisher=MIT Press |year=1986b |isbn=0-262-18120-7 |chapter-url-access=registration |chapter-url=https://archive.org/details/paralleldistribu00rume }}</ref><ref>{{cite book|url={{google books |plainurl=y |id=4j9GAQAAIAAJ}}|title=मशीन लर्निंग का परिचय|last=Alpaydin|first=Ethem|publisher=MIT Press|year=2010|isbn=978-0-262-01243-0}}</ref>
1985 में, डेविड ई. रुमेलहार्ट एट अल। विधि का प्रायोगिक विश्लेषण प्रकाशित किया।<ref name="learning-representations">{{cite journal | last1 = Rumelhart | last2 = Hinton | last3 = Williams | title=बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना| journal = Nature | volume = 323 | issue = 6088 | pages = 533–536 | url = http://www.cs.toronto.edu/~hinton/absps/naturebp.pdf| doi = 10.1038/323533a0 | year = 1986 | bibcode = 1986Natur.323..533R | s2cid = 205001834 }}</ref> इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और बहुपरत परसेप्ट्रॉन में अनुसंधान की सक्रिय अवधि प्रारंभ करने में सहायता की।<ref name="RumelhartHintonWilliams1986a" /><ref name="RumelhartHintonWilliams1986b">{{cite book |editor1-last=Rumelhart |editor1-first=David E. |editor1-link=David E. Rumelhart |editor2-first=James L. |editor2-last=McClelland |editor2-link=James McClelland (psychologist) |title=Parallel Distributed Processing : Explorations in the Microstructure of Cognition |volume=1 : Foundations |last1=Rumelhart |first1=David E. |author-link1=David E. Rumelhart |last2=Hinton |first2=Geoffrey E. |author-link2=Geoffrey E. Hinton |first3=Ronald J. |last3=Williams |author-link3=Ronald J. Williams |chapter=8. Learning Internal Representations by Error Propagation |location=Cambridge |publisher=MIT Press |year=1986b |isbn=0-262-18120-7 |chapter-url-access=registration |chapter-url=https://archive.org/details/paralleldistribu00rume }}</ref><ref>{{cite book|url={{google books |plainurl=y |id=4j9GAQAAIAAJ}}|title=मशीन लर्निंग का परिचय|last=Alpaydin|first=Ethem|publisher=MIT Press|year=2010|isbn=978-0-262-01243-0}}</ref>
केली (1960)<ref name="kelley1960"/>और आर्थर ई. ब्रायसन (1961)<ref name="bryson1961">{{cite book |first=Arthur E. |last=Bryson |year=1962 |chapter=A gradient method for optimizing multi-stage allocation processes |title=Proceedings of the Harvard Univ. Symposium on digital computers and their applications, 3–6 April 1961 |location=Cambridge |publisher=Harvard University Press |oclc=498866871 }}</ref> विधि के उपर्युक्त निरंतर अग्रदूत को प्राप्त करने के लिए गतिशील प्रोग्रामिंग के सिद्धांतों का इस्तेमाल किया। 1962 में, [[स्टुअर्ट ड्रेफस]] ने केवल श्रृंखला नियम पर आधारित सरल व्युत्पत्ति प्रकाशित की।<ref>{{Cite journal|last=Dreyfus|first=Stuart|title=परिवर्तनशील समस्याओं का संख्यात्मक समाधान|journal=Journal of Mathematical Analysis and Applications|volume=5|issue=1|pages=30–45|doi=10.1016/0022-247x(62)90004-5|year=1962|doi-access=free}}</ref><ref name="dreyfus1990">{{Cite journal|last=Dreyfus |first=Stuart E.|author-link=Stuart Dreyfus|date=1990|title=कृत्रिम तंत्रिका नेटवर्क, पश्च प्रसार, और केली-ब्रायसन ग्रेडिएंट प्रक्रिया|journal=Journal of Guidance, Control, and Dynamics|volume=13|issue=5|pages=926–928|doi=10.2514/3.25422|bibcode=1990JGCD...13..926D}}</ref><ref>{{Cite web|url=https://coeieor.wpengine.com/wp-content/uploads/2019/03/ijcnn2k.pdf|title=केली-ब्रायसन ऑप्टिमल-कंट्रोल ग्रेडिएंट फॉर्मूला और उसके अनुप्रयोग से एमएलपी बैकप्रॉपैगेशन की व्युत्पत्ति पर|last1=Mizutani|first1=Eiji|last2=Dreyfus|first2=Stuart|date=July 2000|publisher=Proceedings of the IEEE International Joint Conference on Neural Networks|last3=Nishio|first3=Kenichi}}</ref><ref name="schmidhuber2015">{{cite journal | last = Schmidhuber | first = Jürgen | author-link = Jürgen Schmidhuber | year = 2015 | title = Deep learning in neural networks: An overview | journal = Neural Networks | volume = 61 | pages = 85–117 | doi=10.1016/j.neunet.2014.09.003| pmid = 25462637 | arxiv = 1404.7828 | s2cid = 11715509 }}</ref><ref name="scholarpedia2015">{{cite journal | last = Schmidhuber | first = Jürgen | author-link = Jürgen Schmidhuber | year = 2015 | title = ध्यान लगा के पढ़ना या सीखना| journal = Scholarpedia | volume = 10 | issue = 11| page = 32832 | doi=10.4249/scholarpedia.32832| bibcode = 2015SchpJ..1032832S | doi-access = free }}</ref> 1973 में, उन्होंने त्रुटि ग्रेडिएंट्स के अनुपात में नियंत्रकों के मापदंडों को अनुकूलित किया।<ref name="dreyfus1973">{{cite journal | last = Dreyfus | first = Stuart | author-link = Stuart Dreyfus | year = 1973 | title = समय अंतराल के साथ इष्टतम नियंत्रण समस्याओं का कम्प्यूटेशनल समाधान| journal = IEEE Transactions on Automatic Control | volume = 18 | issue = 4| pages = 383–385 | doi=10.1109/tac.1973.1100330}}</ref> लिनेनमा 1970 विधि के विपरीत,<ref name="lin1970"/><ref name="grie2012"/>इन अग्रदूतों ने मानक जैकबियन मैट्रिक्स गणनाओं को चरण से पिछले तक उपयोग किया, न तो कई चरणों में सीधे लिंक को संबोधित किया और न ही नेटवर्क दुर्लभता के कारण संभावित अतिरिक्त दक्षता लाभ।<ref name=DLhistory />
केली (1960)<ref name="kelley1960"/>और आर्थर ई. ब्रायसन (1961)<ref name="bryson1961">{{cite book |first=Arthur E. |last=Bryson |year=1962 |chapter=A gradient method for optimizing multi-stage allocation processes |title=Proceedings of the Harvard Univ. Symposium on digital computers and their applications, 3–6 April 1961 |location=Cambridge |publisher=Harvard University Press |oclc=498866871 }}</ref> विधि के उपर्युक्त निरंतर अग्रदूत को प्राप्त करने के लिए गतिशील प्रोग्रामिंग के सिद्धांतों का उपयोग किया। 1962 में, [[स्टुअर्ट ड्रेफस]] ने केवल श्रृंखला नियम पर आधारित सरल व्युत्पत्ति प्रकाशित की।<ref>{{Cite journal|last=Dreyfus|first=Stuart|title=परिवर्तनशील समस्याओं का संख्यात्मक समाधान|journal=Journal of Mathematical Analysis and Applications|volume=5|issue=1|pages=30–45|doi=10.1016/0022-247x(62)90004-5|year=1962|doi-access=free}}</ref><ref name="dreyfus1990">{{Cite journal|last=Dreyfus |first=Stuart E.|author-link=Stuart Dreyfus|date=1990|title=कृत्रिम तंत्रिका नेटवर्क, पश्च प्रसार, और केली-ब्रायसन ग्रेडिएंट प्रक्रिया|journal=Journal of Guidance, Control, and Dynamics|volume=13|issue=5|pages=926–928|doi=10.2514/3.25422|bibcode=1990JGCD...13..926D}}</ref><ref>{{Cite web|url=https://coeieor.wpengine.com/wp-content/uploads/2019/03/ijcnn2k.pdf|title=केली-ब्रायसन ऑप्टिमल-कंट्रोल ग्रेडिएंट फॉर्मूला और उसके अनुप्रयोग से एमएलपी बैकप्रॉपैगेशन की व्युत्पत्ति पर|last1=Mizutani|first1=Eiji|last2=Dreyfus|first2=Stuart|date=July 2000|publisher=Proceedings of the IEEE International Joint Conference on Neural Networks|last3=Nishio|first3=Kenichi}}</ref><ref name="schmidhuber2015">{{cite journal | last = Schmidhuber | first = Jürgen | author-link = Jürgen Schmidhuber | year = 2015 | title = Deep learning in neural networks: An overview | journal = Neural Networks | volume = 61 | pages = 85–117 | doi=10.1016/j.neunet.2014.09.003| pmid = 25462637 | arxiv = 1404.7828 | s2cid = 11715509 }}</ref><ref name="scholarpedia2015">{{cite journal | last = Schmidhuber | first = Jürgen | author-link = Jürgen Schmidhuber | year = 2015 | title = ध्यान लगा के पढ़ना या सीखना| journal = Scholarpedia | volume = 10 | issue = 11| page = 32832 | doi=10.4249/scholarpedia.32832| bibcode = 2015SchpJ..1032832S | doi-access = free }}</ref> 1973 में, उन्होंने त्रुटि ग्रेडिएंट्स के अनुपात में नियंत्रकों के मापदंडों को अनुकूलित किया।<ref name="dreyfus1973">{{cite journal | last = Dreyfus | first = Stuart | author-link = Stuart Dreyfus | year = 1973 | title = समय अंतराल के साथ इष्टतम नियंत्रण समस्याओं का कम्प्यूटेशनल समाधान| journal = IEEE Transactions on Automatic Control | volume = 18 | issue = 4| pages = 383–385 | doi=10.1109/tac.1973.1100330}}</ref> लिनेनमा 1970 विधि के विपरीत,<ref name="lin1970"/><ref name="grie2012"/>इन अग्रदूतों ने मानक जैकबियन मैट्रिक्स गणनाओं को चरण से पिछले तक उपयोग किया, न तो कई चरणों में सीधे लिंक को संबोधित किया और न ही नेटवर्क दुर्लभता के कारण संभावित अतिरिक्त दक्षता लाभ।<ref name=DLhistory />


1985 में, पार्कर द्वारा विधि का भी वर्णन किया गया था।<ref>{{Cite journal|last=Parker|first=D.B.|date=1985|title=तर्क सीखना|department=Center for Computational Research in Economics and Management Science|publisher=Massachusetts Institute of Technology|location=Cambridge MA}}</ref><ref name=":0">{{Cite book|last=Hertz |first=John |title=तंत्रिका संगणना के सिद्धांत का परिचय|date=1991|publisher=Addison-Wesley |others=Krogh, Anders., Palmer, Richard G.|isbn=0-201-50395-6|location=Redwood City, Calif.|pages=8|oclc=21522159}}</ref> यान लेकन ने 1987 में अपनी पीएचडी थीसिस में तंत्रिका नेटवर्क के लिए बैकप्रॉपैगैशन का वैकल्पिक रूप प्रस्तावित किया। 1993 में, एरिक वान ने बैकप्रॉपैगैशन के माध्यम से अंतरराष्ट्रीय पैटर्न मान्यता प्रतियोगिता जीती।<ref name="schmidhuber2015" /><ref>{{cite book |first=Eric A. |last=Wan |s2cid=12652643 |chapter=Time Series Prediction by Using a Connectionist Network with Internal Delay Lines |title=Time Series Prediction : Forecasting the Future and Understanding the Past |editor-first=Andreas S. |editor-last=Weigend |editor-link=Andreas Weigend |editor2-first=Neil A. |editor2-last=Gershenfeld |editor2-link=Neil Gershenfeld |series=Proceedings of the NATO Advanced Research Workshop on Comparative Time Series Analysis |volume=15 |location=Reading |publisher=Addison-Wesley |year=1994 |isbn=0-201-62601-2 |pages=195–217 }}</ref>
1985 में, पार्कर द्वारा विधि का भी वर्णन किया गया था।<ref>{{Cite journal|last=Parker|first=D.B.|date=1985|title=तर्क सीखना|department=Center for Computational Research in Economics and Management Science|publisher=Massachusetts Institute of Technology|location=Cambridge MA}}</ref><ref name=":0">{{Cite book|last=Hertz |first=John |title=तंत्रिका संगणना के सिद्धांत का परिचय|date=1991|publisher=Addison-Wesley |others=Krogh, Anders., Palmer, Richard G.|isbn=0-201-50395-6|location=Redwood City, Calif.|pages=8|oclc=21522159}}</ref> यान लेकन ने 1987 में अपनी पीएचडी थीसिस में तंत्रिका नेटवर्क के लिए बैकप्रॉपैगैशन का वैकल्पिक रूप प्रस्तावित किया। 1993 में, एरिक वान ने बैकप्रॉपैगैशन के माध्यम से अंतरराष्ट्रीय पैटर्न मान्यता प्रतियोगिता जीती।<ref name="schmidhuber2015" /><ref>{{cite book |first=Eric A. |last=Wan |s2cid=12652643 |chapter=Time Series Prediction by Using a Connectionist Network with Internal Delay Lines |title=Time Series Prediction : Forecasting the Future and Understanding the Past |editor-first=Andreas S. |editor-last=Weigend |editor-link=Andreas Weigend |editor2-first=Neil A. |editor2-last=Gershenfeld |editor2-link=Neil Gershenfeld |series=Proceedings of the NATO Advanced Research Workshop on Comparative Time Series Analysis |volume=15 |location=Reading |publisher=Addison-Wesley |year=1994 |isbn=0-201-62601-2 |pages=195–217 }}</ref>
2000 के दशक के दौरान यह पक्ष से बाहर हो गया{{citation needed|date=February 2022}}, लेकिन 2010 के दशक में लौटा, सस्ते, शक्तिशाली [[जीपीयू]]-आधारित कंप्यूटिंग सिस्टम से लाभान्वित हुआ। यह विशेष रूप से [[वाक् पहचान]], [[मशीन दृष्टि]], [[प्राकृतिक भाषा प्रसंस्करण]], और भाषा संरचना सीखने के अनुसंधान में ऐसा रहा है (जिसमें इसका उपयोग पहले से संबंधित विभिन्न प्रकार की घटनाओं की व्याख्या करने के लिए किया गया है)<ref>{{Cite journal|last1=Chang|first1=Franklin|last2=Dell|first2=Gary S.|last3=Bock|first3=Kathryn|date=2006|title=वाक्यात्मक बनना।|journal=Psychological Review|volume=113|issue=2|pages=234–272|doi=10.1037/0033-295x.113.2.234|pmid=16637761}}</ref> और दूसरी भाषा सीखना।<ref>{{Cite journal|last1=Janciauskas|first1=Marius|last2=Chang|first2=Franklin|title=Input and Age-Dependent Variation in Second Language Learning: A Connectionist Account|journal=Cognitive Science|volume=42|pages=519–554|doi=10.1111/cogs.12519|pmid=28744901|pmc=6001481|year=2018|issue=Suppl Suppl 2 }}</ref>).
2000 के दशक के समय यह पक्ष से बाहर हो गया{{citation needed|date=February 2022}}, किन्तु 2010 के दशक में लौटा, सस्ते, शक्तिशाली [[जीपीयू]]-आधारित कंप्यूटिंग सिस्टम से लाभान्वित हुआ। यह विशेष रूप से [[वाक् पहचान]], [[मशीन दृष्टि]], [[प्राकृतिक भाषा प्रसंस्करण]], और भाषा संरचना सीखने के अनुसंधान में ऐसा रहा है (जिसमें इसका उपयोग पहले से संबंधित विभिन्न प्रकार की घटनाओं की व्याख्या करने के लिए किया गया है)<ref>{{Cite journal|last1=Chang|first1=Franklin|last2=Dell|first2=Gary S.|last3=Bock|first3=Kathryn|date=2006|title=वाक्यात्मक बनना।|journal=Psychological Review|volume=113|issue=2|pages=234–272|doi=10.1037/0033-295x.113.2.234|pmid=16637761}}</ref> और दूसरी भाषा सीखना।<ref>{{Cite journal|last1=Janciauskas|first1=Marius|last2=Chang|first2=Franklin|title=Input and Age-Dependent Variation in Second Language Learning: A Connectionist Account|journal=Cognitive Science|volume=42|pages=519–554|doi=10.1111/cogs.12519|pmid=28744901|pmc=6001481|year=2018|issue=Suppl Suppl 2 }}</ref>).


मानव मस्तिष्क घटना से संबंधित संभावित घटकों जैसे N400 (न्यूरोसाइंस) और P600 (न्यूरोसाइंस) की व्याख्या करने के लिए त्रुटि बैकप्रॉपैगेशन का सुझाव दिया गया है।<ref>{{Cite journal|last1=Fitz|first1=Hartmut|last2=Chang|first2=Franklin|date=2019|title=भाषा ईआरपी भविष्यवाणी त्रुटि प्रसार के माध्यम से सीखने को दर्शाता है|journal=Cognitive Psychology|language=en|volume=111|pages=15–52|doi=10.1016/j.cogpsych.2019.03.002|pmid=30921626|hdl=21.11116/0000-0003-474D-8|s2cid=85501792|hdl-access=free}}</ref>
मानव मस्तिष्क घटना से संबंधित संभावित घटकों जैसे N400 (न्यूरोसाइंस) और P600 (न्यूरोसाइंस) की व्याख्या करने के लिए त्रुटि बैकप्रॉपैगेशन का सुझाव दिया गया है।<ref>{{Cite journal|last1=Fitz|first1=Hartmut|last2=Chang|first2=Franklin|date=2019|title=भाषा ईआरपी भविष्यवाणी त्रुटि प्रसार के माध्यम से सीखने को दर्शाता है|journal=Cognitive Psychology|language=en|volume=111|pages=15–52|doi=10.1016/j.cogpsych.2019.03.002|pmid=30921626|hdl=21.11116/0000-0003-474D-8|s2cid=85501792|hdl-access=free}}</ref>
Line 255: Line 257:


==बाहरी संबंध==
==बाहरी संबंध==
* [[Wikiversity:Learning and Neural Networks|Backpropagation neural network tutorial at the Wikiversity]]
* [[Wikiversity:Learning and Neural Networks|पश्चप्रचार neural network tutorial at the Wikiversity]]
* {{cite web |url=http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html |title=Principles of training multi-layer neural network using backpropagation |first1=Mariusz |last1=Bernacki |first2=Przemysław |last2=Włodarczyk |date=2004 }}
* {{cite web |url=http://galaxy.agh.edu.pl/~vlsi/AI/backp_t_en/backprop.html |title=Principles of training multi-layer neural network using backpropagation |first1=Mariusz |last1=Bernacki |first2=Przemysław |last2=Włodarczyk |date=2004 }}
* {{cite web |work=CS231n |date=2016 |publisher=Stanford University |first=Andrej |last=Karpathy |author-link=Andrej Karpathy |title=Lecture 4: Backpropagation, Neural Networks 1 |url=https://www.youtube.com/watch?v=i94OvYb6noo&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC&index=4  |archive-url=https://ghostarchive.org/varchive/youtube/20211212/i94OvYb6noo| archive-date=2021-12-12 |url-status=live|via=[[YouTube]] }}
* {{cite web |work=CS231n |date=2016 |publisher=Stanford University |first=Andrej |last=Karpathy |author-link=Andrej Karpathy |title=Lecture 4: Backpropagation, Neural Networks 1 |url=https://www.youtube.com/watch?v=i94OvYb6noo&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC&index=4  |archive-url=https://ghostarchive.org/varchive/youtube/20211212/i94OvYb6noo| archive-date=2021-12-12 |url-status=live|via=[[YouTube]] }}

Revision as of 19:32, 7 May 2023


यंत्र अधिगम में, पश्चप्रचार व्यापक रूप से उपयोग किया जाने वाला कलन विधि है, जो फीडफॉरवर्ड न्यूरल नेटवर्क या अलग-अलग नोड्स के साथ अन्य पैरामीटरयुक्त नेटवर्क को प्रशिक्षित करता है।[1][2] यह ऐसे नेटवर्क के लिए गॉटफ्रीड विल्हेम लीबनिज श्रृंखला नियम (1673)[3] का कुशल अनुप्रयोग है।[4] सेप्पो लिनैनमा (1970) के कारण स्वत: विभेदन या रिवर्स संचयन के रिवर्स मोड के रूप में भी जाना जाता है।[5][6][7][8][9][10][11]

फ्रैंक रोसेनब्लैट द्वारा 1962 में बैक-प्रोपेगेटिंग एरर करेक्शन शब्द प्रस्तुत किया गया था।[12][4] किन्तु उन्हें यह नहीं पता था कि इसे कैसे प्रायुक्त किया जाए, चूंकि हेनरी जे. केली के पास नियंत्रण सिद्धांत के संदर्भ में 1960 में पहले से ही पश्चप्रचार का निरंतर अग्रदूत था[13][4]

पश्चप्रचार एकल इनपुट-आउटपुट उदाहरण के लिए नेटवर्क के भार के संबंध में एक हानि फलन के ग्रेडिएंट की गणना करता है, और इतनी कुशलता (एल्गोरिथम दक्षता) से करता है, कि एक समय में ग्रेडिएंट की एक परत की गणना करता है, जो मध्यवर्ती शब्दों की अनावश्यक गणनाओं से बचने के लिए पिछली परत से पीछे की ओर जाता है। श्रृंखला नियम में; यह गतिशील प्रोग्रामिंग के माध्यम से प्राप्त किया जा सकता है।[13][14][15] ग्रेडिएंट डिसेंट , या वैरिएंट जैसे स्टोकेस्टिक ग्रेडिएंट डिसेंट[16] सामान्यतः उपयोग किए जाते हैं।

बैकप्रोपैगेशन शब्द केवल ग्रेडिएंट की गणना के लिए एल्गोरिथम को संदर्भित करता है, न कि कैसे ग्रेडिएंट का उपयोग किया जाता है; चूँकि, इस शब्द का उपयोग अक्सर संपूर्ण शिक्षण एल्गोरिथ्म को संदर्भित करने के लिए किया जाता है, जिसमें ग्रेडिएंट का उपयोग कैसे किया जाता है, जैसे कि स्टोकेस्टिक ग्रेडिएंट डिसेंट द्वारा।[17] 1985 में, डेविड ई. रुमेलहार्ट एट अल विधि का प्रायोगिक विश्लेषण प्रकाशित किया।[18] इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और बहुपरत परसेप्ट्रॉन में अनुसंधान की सक्रिय अवधि प्रारंभ करने में सहायता की थी।

अवलोकन

पश्चप्रचार हानि फलन के संबंध में फीडफॉरवर्ड न्यूरल नेटवर्क के पैरामीटर स्थान में ग्रेडिएंट की गणना करता है। निरूपित करें:

  • : इनपुट (सुविधाओं का सदिश)
  • : लक्ष्य आउटपुट
    वर्गीकरण के लिए, आउटपुट वर्ग संभावनाओं का सदिश होगा (उदाहरण के लिए, , और लक्ष्य आउटपुट विशिष्ट वर्ग है, जो वन-हॉट/डमी चर (सांख्यिकी) द्वारा एन्कोड किया गया है (उदाहरण के लिए, ).
  • : हानि फलन या लागत फलन[lower-alpha 1]
    वर्गीकरण के लिए, यह सामान्यतः क्रॉस एन्ट्रापी (XC, लॉग हानि) होता है, जबकि रिग्रेशन के लिए यह सामान्यतः स्क्वायर त्रुटि हानि (एसईएल) होता है।
  • : परतों की संख्या
  • : परत और के बीच का वज़न, जहाँ -वें नोड के बीच का वज़न है परत में और -वें नोड परत में[lower-alpha 2]
  • : सक्रियण परत पर कार्य करता है
    वर्गीकरण के लिए अंतिम परत सामान्यतः बाइनरी वर्गीकरण के लिए रसद फलन है, और मल्टी-क्लास वर्गीकरण के लिए सॉफ्टमैक्स फलन (सॉफ्टरमैक्स) है, जबकि छिपी हुई परतों के लिए यह पारंपरिक रूप से प्रत्येक नोड (समन्वय) पर सिग्मॉइड फलन (लॉजिस्टिक फलन या अन्य) था ), किन्तु आज अधिक विविध है, जिसमें रेक्टिफायर (तंत्रिका नेटवर्क) (रैंप फलन, रेएलयू) सामान्य है।

पश्चप्रचार की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग किया जाता है; उन्हें नीचे आवश्यकतानुसार प्रस्तुत किया गया है। पूर्वाग्रह की शर्तों को विशेष रूप से व्यवहार नहीं किया जाता है, क्योंकि वे 1 के निश्चित इनपुट के साथ भार के अनुरूप होते हैं। पश्चप्रचार के उद्देश्य के लिए, विशिष्ट हानि फलन और सक्रियण फलन कोई अर्थ नहीं रखते हैं, जब तक कि उनका और उनके डेरिवेटिव का मूल्यांकन कुशलतापूर्वक किया जा सकता है। पारंपरिक सक्रियण कार्यों में सिग्मॉइड, टैन और रेक्टिफायर (तंत्रिका नेटवर्क) सम्मिलित हैं, किन्तु इन तक सीमित नहीं हैं। चूंकि, स्विश फलन,[19] शुद्ध करनेवाला (तंत्रिका नेटवर्क) # मिश,[20] और अन्य सक्रियण कार्य भी प्रस्तावित किए गए थे।

समग्र नेटवर्क फलन संरचना और मैट्रिक्स गुणन का संयोजन है:

प्रशिक्षण सेट के लिए इनपुट-आउटपुट जोड़े का सेट होगा, प्रत्येक इनपुट-आउटपुट जोड़ी के लिए प्रशिक्षण सेट में, उस जोड़ी पर मॉडल का हानि अनुमानित आउटपुट के बीच अंतर की लागत है और लक्ष्य आउटपुट :

अंतर पर ध्यान दें: मॉडल मूल्यांकन के समय, भार तय होते हैं, जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें हानि फलन सम्मिलित नहीं होता है)। मॉडल प्रशिक्षण के समय, इनपुट-आउटपुट जोड़ी तय हो जाती है, जबकि भार भिन्न-भिन्न होता है, और नेटवर्क हानि फलन के साथ समाप्त होता है।

पश्चप्रचार निश्चित इनपुट-आउटपुट जोड़ी के लिए प्रवणता की गणना करता है, जहां भार भिन्न हो सकती है। प्रवणता के प्रत्येक व्यक्तिगत घटक, श्रृंखला नियम द्वारा गणना की जा सकती है; चूँकि, प्रत्येक भार के लिए इसे अलग से करना अक्षम है। पश्चप्रचार प्रत्येक परत के ग्रेडिएंट की गणना करके - विशेष रूप से, प्रत्येक परत के भारित इनपुट के ग्रेडिएंट की गणना करके, डुप्लिकेट गणनाओं से बचने और अनावश्यक मध्यवर्ती मानों की गणना नहीं करके कुशलता से ग्रेडिएंट की गणना करता है, जिसे द्वारा पीछे से सामने की ओर दर्शाया जाता है।

ssssssssअनौपचारिक रूप से, मुख्य बिंदु यह है कि चूंकि एकमात्र विधि भार में है हानि को प्रभावित करता है अगली परत पर इसके प्रभाव के माध्यम से होता है, और यह ऐसा रैखिक रूप से करता है, वे एकमात्र डेटा हैं जिनकी आपको परत पर वज़न के ग्रेडिएंट की गणना करने के लिए आवश्यकता होती है , और फिर आप पिछली परत की गणना कर सकते हैं और पुनरावर्ती रूप से दोहराएं। यह दो तरह से अक्षमता से बचा जाता है। सबसे पहले, यह दोहराव से बचा जाता है क्योंकि परत पर ग्रेडिएंट की गणना करते समय , आपको बाद की परतों पर सभी डेरिवेटिव की पुनर्गणना करने की आवश्यकता नहीं है हर बार। दूसरे, यह अनावश्यक मध्यवर्ती गणनाओं से बचता है क्योंकि प्रत्येक चरण में यह भार में परिवर्तन के संबंध में छिपी हुई परतों के मूल्यों के डेरिवेटिव की अनावश्यक रूप से गणना करने के बजाय अंतिम आउटपुट (हानि) के संबंध में भार के प्रवणता की सीधे गणना करता है। .

  1. Matrix गुणन के संदर्भ में, या अधिक सामान्यतः #Adjoint ग्राफ़ के संदर्भ में सरल फ़ीडफ़ॉरवर्ड नेटवर्क के लिए बैकप्रोपैगेशन व्यक्त किया जा सकता है।

मैट्रिक्स गुणन

फीडफॉरवर्ड नेटवर्क के मूल मामले के लिए, जहां प्रत्येक परत में नोड्स केवल तत्काल अगली परत (बिना किसी परत को छोड़े) में नोड्स से जुड़े होते हैं, और हानि फलन होता है जो अंतिम आउटपुट के लिए स्केलर हानि की गणना करता है, बैकप्रॉपैगेशन हो सकता है मैट्रिक्स गुणन द्वारा आसानी से समझा जा सकता है।[lower-alpha 3] अनिवार्य रूप से, पश्चप्रचार लागत फलन के व्युत्पन्न के लिए अभिव्यक्ति का मूल्यांकन करता है, प्रत्येक परत के बीच डेरिवेटिव के उत्पाद के रूप में दाएं से बाएं - पीछे की ओर - प्रत्येक परत के बीच भार के प्रवणता के साथ आंशिक उत्पादों का सरल संशोधन (पीछे की ओर प्रचारित) गलती )।

इनपुट-आउटपुट जोड़ी दी गई है , हानि है:

इसकी गणना करने के लिए, इनपुट के साथ प्रारंभ होता है और आगे काम करता है; प्रत्येक छिपी हुई परत के भारित इनपुट को निरूपित करें और छिपी हुई परत का उत्पादन सक्रियता के रूप में . पश्चप्रचार के लिए, सक्रियण साथ ही डेरिवेटिव (पर मूल्यांकन किया गया ) बैकवर्ड पास के समय उपयोग के लिए कैश किया जाना चाहिए।

इनपुट के संदर्भ में हानि का व्युत्पन्न श्रृंखला नियम द्वारा दिया गया है; ध्यान दें कि प्रत्येक शब्द कुल व्युत्पन्न है, जिसका मूल्यांकन इनपुट पर नेटवर्क (प्रत्येक नोड पर) के मूल्य पर किया जाता है :

जहाँ हैडमार्ड उत्पाद (मैट्रिसेस) है, जो तत्व-वार उत्पाद है।

ये शब्द हैं: हानि फलन का व्युत्पन्न;[lower-alpha 4] सक्रियण कार्यों के डेरिवेटिव;[lower-alpha 5] और वज़न के आव्यूह:[lower-alpha 6]

प्रवणता इनपुट के संदर्भ में आउटपुट के व्युत्पन्न का स्थानान्तरण है, इसलिए मेट्रिसेस को खिसकाना किया जाता है और गुणन का क्रम उलट दिया जाता है, किन्तु प्रविष्टियाँ समान होती हैं:

बैकप्रोपैगेशन में अनिवार्य रूप से इस अभिव्यक्ति का दाएं से बाएं मूल्यांकन करना सम्मिलित है (समरूप रूप से, बाएं से दाएं व्युत्पन्न के लिए पिछली अभिव्यक्ति को गुणा करना), रास्ते में प्रत्येक परत पर प्रवणता की गणना करना; अतिरिक्त चरण है, क्योंकि वज़न का प्रवणता केवल उप-अभिव्यक्ति नहीं है: अतिरिक्त गुणन है।

सहायक मात्रा का परिचय आंशिक उत्पादों के लिए (दाएं से बाएं गुणा), स्तर पर त्रुटि के रूप में व्याख्या की गई और स्तर पर इनपुट मानों के ग्रेडिएंट के रूप में परिभाषित किया गया है :

ध्यान दें कि सदिश है, जिसकी लंबाई स्तर में नोड्स की संख्या के बराबर है ; प्रत्येक घटक को उस नोड के लिए (के मूल्य) के कारण लागत के रूप में व्याख्या की जाती है।

परत में भार का प्रवणता तब है:

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

इस प्रकार प्रत्येक स्तर के लिए कुछ मैट्रिक्स गुणन का उपयोग करके भार के ग्रेडियेंट की गणना की जा सकती है; यह पश्चप्रचार है।

भोले-भाले कंप्यूटिंग फॉरवर्ड की तुलना में ( उदाहरण के लिए):

पश्चप्रचार के साथ दो प्रमुख अंतर हैं:

  1. कम्प्यूटिंग के अनुसार परतों के स्पष्ट डुप्लिकेट गुणन से बचा जाता है और इसके बाद में।
  2. से गुणा करना - त्रुटि को पीछे की ओर प्रचारित करना - इसका अर्थ है कि प्रत्येक चरण केवल सदिश को गुणा करता है () वज़न के मैट्रिसेस द्वारा और सक्रियण के डेरिवेटिव . इसके विपरीत, आगे की ओर गुणा करना, पिछली परत में परिवर्तनों से प्रारंभ करना, इसका अर्थ है कि प्रत्येक गुणन मैट्रिक्स द्वारा मैट्रिक्स को गुणा करता है। यह बहुत अधिक महंगा है, और परत में बदलाव के हर संभव पथ को ट्रैक करने के अनुरूप है परत में परिवर्तन के लिए आगे (गुणा करने के लिए द्वारा , सक्रियण के डेरिवेटिव के लिए अतिरिक्त गुणन के साथ), जो अनावश्यक रूप से मध्यवर्ती मात्रा की गणना करता है कि कैसे भार परिवर्तन छिपे हुए नोड्स के मूल्यों को प्रभावित करता है।

संलग्न ग्राफ

अधिक सामान्य रेखांकन, और अन्य उन्नत विविधताओं के लिए, बैकप्रोपैगेशन को स्वचालित विभेदन के संदर्भ में समझा जा सकता है, जहां बैकप्रोपैगेशन रिवर्स संचय (या रिवर्स मोड) का विशेष मामला है।[11]


अंतर्ज्ञान

प्रेरणा

किसी भी पर्यवेक्षित शिक्षण एल्गोरिथ्म का लक्ष्य ऐसे फलन को खोजना है जो इनपुट के सेट को उनके सही आउटपुट के लिए सबसे अच्छा मैप करता है। पश्चप्रचार के लिए प्रेरणा बहु-स्तरित तंत्रिका नेटवर्क को प्रशिक्षित करना है, ताकि यह उचित आंतरिक अभ्यावेदन सीख सके ताकि यह इनपुट से आउटपुट के किसी भी मनमाना मानचित्रण को सीख सके।[21]


अनुकूलन समस्या के रूप में सीखना

बैकप्रोपैगेशन एल्गोरिदम की गणितीय व्युत्पत्ति को समझने के लिए, पहले न्यूरॉन के वास्तविक आउटपुट और किसी विशेष प्रशिक्षण उदाहरण के लिए सही आउटपुट के बीच संबंध के बारे में कुछ अंतर्ज्ञान विकसित करने में सहायता मिलती है। दो इनपुट इकाइयों, आउटपुट इकाई और कोई छिपी हुई इकाइयों के साथ साधारण तंत्रिका नेटवर्क पर विचार करें, और जिसमें प्रत्येक न्यूरॉन कृत्रिम न्यूरॉन#रैखिक संयोजन का उपयोग करता है (तंत्रिका नेटवर्क पर अधिकांश काम के विपरीत, जिसमें इनपुट से आउटपुट तक मैपिंग गैर-रैखिक है)[lower-alpha 7] that is the weighted sum of its input.

File:A simple neural network with two input units and one output unit.png
दो इनपुट इकाइयों (प्रत्येक इनपुट के साथ) और आउटपुट इकाई (दो इनपुट के साथ) के साथ साधारण तंत्रिका नेटवर्क

प्रारंभ में, प्रशिक्षण से पहले, भार बेतरतीब ढंग से निर्धारित किया जाएगा। फिर न्यूरॉन प्रशिक्षण सेट से सीखता है, जिसमें इस मामले में टुपल्स का सेट होता है जहाँ और नेटवर्क के लिए इनपुट हैं और t सही आउटपुट है (आउटपुट को उन इनपुटों को देखते हुए उत्पादन करना चाहिए, जब इसे प्रशिक्षित किया गया हो)। प्रारंभिक नेटवर्क, दिया गया और , आउटपुट की गणना करेगा y जो संभवतः इससे भिन्न है t (यादृच्छिक भार दिया गया है)। हानि फलन लक्ष्य आउटपुट के बीच विसंगति को मापने के लिए उपयोग किया जाता है t और परिकलित आउटपुट y. प्रतिगमन विश्लेषण समस्याओं के लिए चुकता त्रुटि का उपयोग हानि फलन के रूप में किया जा सकता है, सांख्यिकीय वर्गीकरण के लिए क्रॉस एन्ट्रॉपी का उपयोग किया जा सकता है।

उदाहरण के रूप में हानि के रूप में वर्ग त्रुटि का उपयोग करके प्रतिगमन समस्या पर विचार करें:

जहाँ E विसंगति या त्रुटि है।

एकल प्रशिक्षण मामले पर नेटवर्क पर विचार करें: . इस प्रकार, इनपुट और क्रमशः 1 और 1 हैं और सही आउटपुट, t 0 है। अब यदि नेटवर्क के आउटपुट के बीच संबंध प्लॉट किया जाता है y क्षैतिज अक्ष और त्रुटि पर E ऊर्ध्वाधर अक्ष पर, परिणाम परवलय है। पैराबोला का मैक्सिमा और मिनिमा आउटपुट से मेल खाता है y जो त्रुटि को कम करता है E. एकल प्रशिक्षण मामले के लिए, न्यूनतम भी क्षैतिज अक्ष को छूता है, जिसका अर्थ है कि त्रुटि शून्य होगी और नेटवर्क आउटपुट उत्पन्न कर सकता है y जो लक्ष्य आउटपुट से बिल्कुल मेल खाता है t. इसलिए, आउटपुट को मैपिंग इनपुट की समस्या को अनुकूलन समस्या में कम किया जा सकता है of finding a function that will produce the minimal error.

File:Error surface of a linear neuron for a single training case.png
एकल प्रशिक्षण मामले के लिए रेखीय न्यूरॉन की त्रुटि सतह

चूँकि, न्यूरॉन का आउटपुट उसके सभी इनपुट के भारित योग पर निर्भर करता है:

जहाँ और इनपुट यूनिट से आउटपुट यूनिट तक कनेक्शन पर भार हैं। इसलिए, त्रुटि न्यूरॉन के आने वाले भार पर भी निर्भर करती है, जो अंततः सीखने को सक्षम करने के लिए नेटवर्क में बदलने की आवश्यकता होती है।

इस उदाहरण में, प्रशिक्षण डेटा को इंजेक्ट करने पर , loss function बन जाता है

फिर, हानि फलन इसके आधार के साथ निर्देशित परवलयिक सिलेंडर का रूप लेता है . भार के सभी सेट जो संतुष्ट करते हैं हानि फलन को कम करें, इस मामले में अद्वितीय समाधान में अभिसरण करने के लिए अतिरिक्त बाधाओं की आवश्यकता होती है। अतिरिक्त बाधाओं को या तो भार के लिए विशिष्ट शर्तों को निर्धारित करके या अतिरिक्त प्रशिक्षण डेटा को इंजेक्ट करके उत्पन्न किया जा सकता है।

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

व्युत्पत्ति

ग्रेडिएंट डिसेंट मेथड में नेटवर्क के वेट के संबंध में लॉस फंक्शन के डेरिवेटिव की गणना करना सम्मिलित है। यह सामान्य रूप से पश्चप्रचार का उपयोग करके किया जाता है। आउटपुट न्यूरॉन मानते हुए,[lower-alpha 8] चुकता त्रुटि फलन है

जहाँ

आउटपुट के लिए हानि है और लक्ष्य मूल्य ,
प्रशिक्षण नमूने के लिए लक्ष्य आउटपुट है, और
आउटपुट न्यूरॉन का वास्तविक आउटपुट है।

प्रत्येक न्यूरॉन के लिए , इसका आउटपुट परिभाषित किया जाता है

जहां सक्रियण कार्य करता है सक्रियण क्षेत्र पर गैर-रैखिक और विभेदक कार्य है (ReLU बिंदु पर भिन्न नहीं है)। ऐतिहासिक रूप से उपयोग किया जाने वाला सक्रियण कार्य रसद कार्य है:

जिसका सुविधाजनक व्युत्पन्न है:

इनपुट न्यूरॉन के लिए आउटपुट का भारित योग है पिछले न्यूरॉन्स की। यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, तो इनपुट लेयर के केवल इनपुट होते हैं नेटवर्क के लिए। न्यूरॉन में इनपुट इकाइयों की संख्या है . चर न्यूरॉन के बीच भार को दर्शाता है पिछली परत और न्यूरॉन की वर्तमान परत की।

त्रुटि का व्युत्पन्न ढूँढना

File:ArtificialNeuronModel english.png
यहां प्रयुक्त अंकन को दर्शाने के लिए कृत्रिम तंत्रिका नेटवर्क का आरेख

भार के संबंध में त्रुटि के आंशिक व्युत्पन्न की गणना करना दो बार श्रृंखला नियम का उपयोग करके किया जाता है:

 

 

 

 

(Eq. 1)

उपर्युक्त के दाहिनी ओर के अंतिम कारक में योग में केवल पद है पर निर्भर करता है , ताकि

 

 

 

 

(Eq. 2)

यदि न्यूरॉन इनपुट परत के बाद पहली परत में है, बस है .

न्यूरॉन के आउटपुट का व्युत्पन्न इसके इनपुट के संबंध में केवल सक्रियण फलन का आंशिक व्युत्पन्न है:

 

 

 

 

(Eq. 3)

जो रसद फलन के लिए

यही कारण है कि पश्चप्रचार के लिए जरूरी है कि एक्टिवेशन फंक्शन डिफरेंशियल फंक्शन हो। (फिर भी, ReLU सक्रियण फलन, जो 0 पर अविभेद्य है, काफी लोकप्रिय हो गया है, उदाहरण के लिए एलेक्सनेट में)

न्यूरॉन आउटपुट लेयर में है या नहीं, इसका मूल्यांकन करने के लिए पहला कारक सीधा है और

 

 

 

 

(Eq. 4)

यदि आधे वर्ग त्रुटि का उपयोग हानि फलन के रूप में किया जाता है, तो हम इसे फिर से लिख सकते हैं

चूंकि, यदि व्युत्पन्न खोजने, नेटवर्क की मनमाना आंतरिक परत में है इसके संबंध में कम स्पष्ट है।

मानते हुए सभी न्यूरॉन्स होने वाले इनपुट के साथ फलन के रूप में न्यूरॉन से इनपुट प्राप्त करना ,

और के संबंध में कुल व्युत्पन्न लेना व्युत्पन्न के लिए पुनरावर्ती अभिव्यक्ति प्राप्त की जाती है:

 

 

 

 

(Eq. 5)

इसलिए, के संबंध में व्युत्पन्न गणना की जा सकती है यदि आउटपुट के संबंध में सभी डेरिवेटिव अगली परत के - जो आउटपुट न्यूरॉन के करीब हैं - ज्ञात हैं। [ध्यान दें, यदि सेट में कोई भी न्यूरॉन्स न्यूरॉन से जुड़े नहीं थे , वे स्वतंत्र होंगे और समन के अंतर्गत संगत आंशिक अवकलज 0 पर लुप्त हो जाएगा।]

स्थानापन्न Eq. 2, Eq. 3 Eq.4 और Eq. 5 में Eq. 1 हमने प्राप्त:

साथ

अगर रसद फलन है, और त्रुटि वर्ग त्रुटि है:

भार अपडेट करने के लिए ग्रेडिएंट डिसेंट का उपयोग करते हुए, सीखने की दर का चयन करना चाहिए, . भार में परिवर्तन पर प्रभाव को प्रतिबिंबित करने की जरूरत है में वृद्धि या कमी के बारे में . अगर , में वृद्धि बढ़ती है ; इसके विपरीत, अगर , में वृद्धि कम हो जाती है . नई पुराने भार में जोड़ा जाता है, और सीखने की दर और ग्रेडिएंट के उत्पाद को गुणा किया जाता है इसकी गारंटी देता है तरह से बदलता है जो हमेशा घटता है . दूसरे शब्दों में, तुरंत नीचे समीकरण में, हमेशा बदलता है इस तरह से कि घटा है:


द्वितीय क्रम प्रवणता वंश

त्रुटि फलन के दूसरे-क्रम के डेरिवेटिव के हेसियन मैट्रिक्स का उपयोग करते हुए, लेवेनबर्ग-मार्क्वार्ट एल्गोरिथम अक्सर पहले-क्रम प्रवणता वंश की तुलना में तेजी से अभिसरण करता है, खासकर जब त्रुटि फलन की टोपोलॉजी जटिल होती है।[22][23] यह छोटे नोड काउंट में भी समाधान ढूंढ सकता है जिसके लिए अन्य विधियां अभिसरण नहीं कर सकती हैं।[23]फिशर सूचना मैट्रिक्स द्वारा हेसियन का अनुमान लगाया जा सकता है।[24]


हानि फलन

हानि फलन ऐसा फलन है जो या अधिक चर के मानों को वास्तविक संख्या पर मानचित्रित करता है जो उन मूल्यों से जुड़ी कुछ लागतों को सहजता से दर्शाता है। पश्चप्रचार के लिए, प्रशिक्षण उदाहरण नेटवर्क के माध्यम से प्रसारित होने के बाद, हानि फलन नेटवर्क आउटपुट और उसके अपेक्षित आउटपुट के बीच अंतर की गणना करता है।

अनुमान

हानि फलन की गणितीय अभिव्यक्ति को दो शर्तों को पूरा करना चाहिए ताकि इसे संभवत: पश्चप्रचार में उपयोग किया जा सके।[25] पहला यह है कि इसे औसत के रूप में लिखा जा सकता है त्रुटि कार्यों पर , के लिए व्यक्तिगत प्रशिक्षण उदाहरण, . इस धारणा का कारण यह है कि पश्चप्रचार एल्गोरिथ्म एकल प्रशिक्षण उदाहरण के लिए त्रुटि फलन के ग्रेडिएंट की गणना करता है, जिसे समग्र त्रुटि फलन के लिए सामान्यीकृत करने की आवश्यकता होती है। दूसरी धारणा यह है कि इसे तंत्रिका नेटवर्क से आउटपुट के फलन के रूप में लिखा जा सकता है।

उदाहरण हानि फलन

होने देना में वैक्टर हो .

त्रुटि फलन का चयन करें दो आउटपुट के बीच अंतर को मापना। मानक विकल्प सदिशों के बीच यूक्लिडियन दूरी का वर्ग है और :

त्रुटि कार्य समाप्त हो गया प्रशिक्षण के उदाहरणों को अलग-अलग उदाहरणों पर हानि के औसत के रूप में लिखा जा सकता है:


सीमाएं

File:Extrema example.svg
ग्रेडियेंट डिसेंट वैश्विक न्यूनतम के बजाय स्थानीय न्यूनतम पा सकता है।

* त्रुटि फलन के मैक्सिमा और मिनिमा को खोजने के लिए पश्चप्रचार के साथ ग्रेडिएंट डिसेंट की गारंटी नहीं है, किन्तु केवल स्थानीय न्यूनतम है; इसके अलावा, इसे एरर फंक्शन लैंडस्केप में पठार (गणित) को पार करने में परेशानी होती है। उत्तल अनुकूलन | तंत्रिका नेटवर्क में त्रुटि कार्यों की गैर-उत्तलता के कारण होने वाली इस समस्या को लंबे समय से बड़ी कमी माना जाता था, किन्तु वाई एन एल ईसीयू के अंदर एट अल। तर्क देते हैं कि कई व्यावहारिक समस्याओं में, ऐसा नहीं है।[26]

  • पश्चप्रचार सीखने के लिए इनपुट वैक्टर के सामान्यीकरण की आवश्यकता नहीं होती है; चूँकि, सामान्यीकरण प्रदर्शन में सुधार कर सकता है।[27]
  • पश्चप्रचार के लिए आवश्यक है कि सक्रियण कार्यों के डेरिवेटिव को नेटवर्क डिज़ाइन समय पर जाना जाए।

इतिहास

नेस्टेड डिफरेंशियल फंक्शन फंक्शन के असतत कनेक्टेड नेटवर्क के लिए आधुनिक बैकप्रॉपैगेशन सेप्पो लिन्नैनमा का रिवर्स मोड ऑफ ऑटोमैटिक डिफरेंशियल (1970) है।[5][6][9][10][7][8] यह श्रृंखला नियम का कुशल अनुप्रयोग है (1673 में गॉटफ्रीड विल्हेम लीबनिज द्वारा व्युत्पन्न)[3][28]) ऐसे नेटवर्क के लिए।[4] शब्दावली पश्च-प्रसार त्रुटि सुधार 1962 में फ्रैंक रोसेनब्लैट द्वारा प्रस्तुत किया गया था,[29][4]किन्तु वह यह नहीं जानता था कि इसे कैसे प्रायुक्त किया जाए, चूंकि हेनरी जे. केली के पास पश्चप्रचार का निरंतर अग्रदूत था[13] पहले से ही 1960 में नियंत्रण सिद्धांत के संदर्भ में।[4]स्टोचैस्टिक ग्रेडिएंट डिसेंट द्वारा प्रशिक्षित पहला ध्यान लगा के पढ़ना या सीखना मल्टीलेयर परसेप्ट्रॉन (एमएलपी)।[16] 1967 में शुनिची अमारी द्वारा प्रकाशित किया गया था।[30][4]कंप्यूटर प्रयोगों में, दो परिवर्तनीय परतों के साथ उनके पांच परत एमएलपी ने गैर-रैखिक रूप से अलग-अलग पैटर्न वर्गों को वर्गीकृत करने के लिए आवश्यक ज्ञान प्रतिनिधित्व सीखा।[4]1982 में, पॉल वर्बोस ने MLPs के लिए उस तरह से बैकप्रॉपैगैशन प्रायुक्त किया जो मानक बन गया है।[31][32][4] 1985 में, डेविड ई. रुमेलहार्ट एट अल। विधि का प्रायोगिक विश्लेषण प्रकाशित किया।[18] इसने बैकप्रोपैगेशन को लोकप्रिय बनाने में योगदान दिया और बहुपरत परसेप्ट्रॉन में अनुसंधान की सक्रिय अवधि प्रारंभ करने में सहायता की।[21][33][34] केली (1960)[13]और आर्थर ई. ब्रायसन (1961)[14] विधि के उपर्युक्त निरंतर अग्रदूत को प्राप्त करने के लिए गतिशील प्रोग्रामिंग के सिद्धांतों का उपयोग किया। 1962 में, स्टुअर्ट ड्रेफस ने केवल श्रृंखला नियम पर आधारित सरल व्युत्पत्ति प्रकाशित की।[35][36][37][9][10] 1973 में, उन्होंने त्रुटि ग्रेडिएंट्स के अनुपात में नियंत्रकों के मापदंडों को अनुकूलित किया।[38] लिनेनमा 1970 विधि के विपरीत,[5][7]इन अग्रदूतों ने मानक जैकबियन मैट्रिक्स गणनाओं को चरण से पिछले तक उपयोग किया, न तो कई चरणों में सीधे लिंक को संबोधित किया और न ही नेटवर्क दुर्लभता के कारण संभावित अतिरिक्त दक्षता लाभ।[4]

1985 में, पार्कर द्वारा विधि का भी वर्णन किया गया था।[39][40] यान लेकन ने 1987 में अपनी पीएचडी थीसिस में तंत्रिका नेटवर्क के लिए बैकप्रॉपैगैशन का वैकल्पिक रूप प्रस्तावित किया। 1993 में, एरिक वान ने बैकप्रॉपैगैशन के माध्यम से अंतरराष्ट्रीय पैटर्न मान्यता प्रतियोगिता जीती।[9][41] 2000 के दशक के समय यह पक्ष से बाहर हो गया[citation needed], किन्तु 2010 के दशक में लौटा, सस्ते, शक्तिशाली जीपीयू-आधारित कंप्यूटिंग सिस्टम से लाभान्वित हुआ। यह विशेष रूप से वाक् पहचान, मशीन दृष्टि, प्राकृतिक भाषा प्रसंस्करण, और भाषा संरचना सीखने के अनुसंधान में ऐसा रहा है (जिसमें इसका उपयोग पहले से संबंधित विभिन्न प्रकार की घटनाओं की व्याख्या करने के लिए किया गया है)[42] और दूसरी भाषा सीखना।[43]).

मानव मस्तिष्क घटना से संबंधित संभावित घटकों जैसे N400 (न्यूरोसाइंस) और P600 (न्यूरोसाइंस) की व्याख्या करने के लिए त्रुटि बैकप्रॉपैगेशन का सुझाव दिया गया है।[44]


यह भी देखें

टिप्पणियाँ

  1. Use for the loss function to allow to be used for the number of layers
  2. This follows Nielsen (2015), and means (left) multiplication by the matrix corresponds to converting output values of layer to input values of layer : columns correspond to input coordinates, rows correspond to output coordinates.
  3. This section largely follows and summarizes Nielsen (2015).
  4. The derivative of the loss function is a covector, since the loss function is a scalar-valued function of several variables.
  5. The activation function is applied to each node separately, so the derivative is just the diagonal matrix of the derivative on each node. This is often represented as the Hadamard product with the vector of derivatives, denoted by , which is mathematically identical but better matches the internal representation of the derivatives as a vector, rather than a diagonal matrix.
  6. Since matrix multiplication is linear, the derivative of multiplying by a matrix is just the matrix: .
  7. One may notice that multi-layer neural networks use non-linear activation functions, so an example with linear neurons seems obscure. However, even though the error surface of multi-layer networks are much more complicated, locally they can be approximated by a paraboloid. Therefore, linear neurons are used for simplicity and easier understanding.
  8. There can be multiple output neurons, in which case the error is the squared norm of the difference vector.


संदर्भ

  1. Goodfellow, Bengio & Courville 2016, p. 200, "Furthermore, back-propagation is often misunderstood as being specific to multi-layer neural networks, but in principle it can compute derivatives of any function"
  2. Graves, Alex; Wayne, Greg; Danihelka, Ivo (2014). "तंत्रिका ट्यूरिंग मशीनें". arXiv:1410.5401 [cs.NE].
  3. 3.0 3.1 Leibniz, Gottfried Wilhelm Freiherr von (1920). The Early Mathematical Manuscripts of Leibniz: Translated from the Latin Texts Published by Carl Immanuel Gerhardt with Critical and Historical Notes (Leibniz published the chain rule in a 1676 memoir) (in English). Open court publishing Company.
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Schmidhuber, Juergen (2022). "आधुनिक एआई और डीप लर्निंग का एनोटेट इतिहास". arXiv:2212.11279 [cs.NE].
  5. 5.0 5.1 5.2 Linnainmaa, Seppo (1970). स्थानीय राउंडिंग त्रुटियों के टेलर विस्तार के रूप में एल्गोरिथम की संचयी राउंडिंग त्रुटि का प्रतिनिधित्व (Masters) (in suomi). University of Helsinki. pp. 6–7.
  6. 6.0 6.1 Linnainmaa, Seppo (1976). "संचित गोलाई त्रुटि का टेलर विस्तार". BIT Numerical Mathematics. 16 (2): 146–160. doi:10.1007/bf01931367. S2CID 122357351.
  7. 7.0 7.1 7.2 Griewank, Andreas (2012). "Who Invented the Reverse Mode of Differentiation?". अनुकूलन कहानियां. Documenta Matematica, Extra Volume ISMP. pp. 389–400. S2CID 15568746.
  8. 8.0 8.1 Griewank, Andreas; Walther, Andrea (2008). Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition. SIAM. ISBN 978-0-89871-776-1.
  9. 9.0 9.1 9.2 9.3 Schmidhuber, Jürgen (2015). "Deep learning in neural networks: An overview". Neural Networks. 61: 85–117. arXiv:1404.7828. doi:10.1016/j.neunet.2014.09.003. PMID 25462637. S2CID 11715509.
  10. 10.0 10.1 10.2 Schmidhuber, Jürgen (2015). "ध्यान लगा के पढ़ना या सीखना". Scholarpedia. 10 (11): 32832. Bibcode:2015SchpJ..1032832S. doi:10.4249/scholarpedia.32832.
  11. 11.0 11.1 Goodfellow, Bengio & Courville (2016, p. 217–218), "The back-propagation algorithm described here is only one approach to automatic differentiation. It is a special case of a broader class of techniques called reverse mode accumulation."
  12. Rosenblatt, Frank (1962). Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms Cornell Aeronautical Laboratory. Report no. VG-1196-G-8 Report (Cornell Aeronautical Laboratory). Spartan. pp. Page XIII Table of contents, Page 292 "13.3 Back-Propagating Error Correction Procedures", Page 301 "figure 39 BACK-PROPAGATING ERROR-CORRECTION EXPERIMENTS".
  13. 13.0 13.1 13.2 13.3 Kelley, Henry J. (1960). "इष्टतम उड़ान पथों का क्रमिक सिद्धांत". ARS Journal. 30 (10): 947–954. doi:10.2514/8.5282.
  14. 14.0 14.1 Bryson, Arthur E. (1962). "A gradient method for optimizing multi-stage allocation processes". Proceedings of the Harvard Univ. Symposium on digital computers and their applications, 3–6 April 1961. Cambridge: Harvard University Press. OCLC 498866871.
  15. Goodfellow, Bengio & Courville 2016, p. 214, "This table-filling strategy is sometimes called dynamic programming."
  16. 16.0 16.1 Robbins, H.; Monro, S. (1951). "एक स्टोकेस्टिक सन्निकटन विधि". The Annals of Mathematical Statistics. 22 (3): 400. doi:10.1214/aoms/1177729586.
  17. Goodfellow, Bengio & Courville 2016, p. 200, "The term back-propagation is often misunderstood as meaning the whole learning algorithm for multilayer neural networks. Backpropagation refers only to the method for computing the gradient, while other algorithms, such as stochastic gradient descent, is used to perform learning using this gradient."
  18. 18.0 18.1 Rumelhart; Hinton; Williams (1986). "बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना" (PDF). Nature. 323 (6088): 533–536. Bibcode:1986Natur.323..533R. doi:10.1038/323533a0. S2CID 205001834.
  19. Ramachandran, Prajit; Zoph, Barret; Le, Quoc V. (2017-10-27). "सक्रियण कार्यों की खोज". arXiv:1710.05941 [cs.NE].
  20. Misra, Diganta (2019-08-23). "Mish: A Self Regularized Non-Monotonic Activation Function" (in English). arXiv:1908.08681 [cs.LG].
  21. 21.0 21.1 Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (1986a). "बैक-प्रोपेगेटिंग एरर द्वारा अभ्यावेदन सीखना". Nature. 323 (6088): 533–536. Bibcode:1986Natur.323..533R. doi:10.1038/323533a0. S2CID 205001834.
  22. Tan, Hong Hui; Lim, King Han (2019). "कृत्रिम तंत्रिका नेटवर्क बैकप्रोपैगेशन में दूसरे क्रम की अनुकूलन तकनीकों की समीक्षा". IOP Conference Series: Materials Science and Engineering. 495 (1): 012003. Bibcode:2019MS&E..495a2003T. doi:10.1088/1757-899X/495/1/012003. S2CID 208124487.
  23. 23.0 23.1 Wiliamowski, Bogdan; Yu, Hao (June 2010). "Improved Computation for Levenberg–Marquardt Training" (PDF). IEEE Transactions on Neural Networks and Learning Systems. 21 (6).
  24. Martens, James (August 2020). "प्राकृतिक ढाल पद्धति पर नई अंतर्दृष्टि और दृष्टिकोण". Journal of Machine Learning Research (21). arXiv:1412.1193.
  25. Nielsen (2015), "[W]hat assumptions do we need to make about our cost function ... in order that backpropagation can be applied? The first assumption we need is that the cost function can be written as an average ... over cost functions ... for individual training examples ... The second assumption we make about the cost is that it can be written as a function of the outputs from the neural network ..."
  26. LeCun, Yann; Bengio, Yoshua; Hinton, Geoffrey (2015). "ध्यान लगा के पढ़ना या सीखना". Nature. 521 (7553): 436–444. Bibcode:2015Natur.521..436L. doi:10.1038/nature14539. PMID 26017442. S2CID 3074096.
  27. Buckland, Matt; Collins, Mark (2002). गेम प्रोग्रामिंग के लिए एआई तकनीक. Boston: Premier Press. ISBN 1-931841-08-X.
  28. Rodríguez, Omar Hernández; López Fernández, Jorge M. (2010). "श्रृंखला नियम के उपदेशों पर एक लाक्षणिक प्रतिबिंब". The Mathematics Enthusiast. 7 (2): 321–332. doi:10.54870/1551-3440.1191. S2CID 29739148. Retrieved 2019-08-04.
  29. Rosenblatt, Frank (1962). न्यूरोडायनामिक्स के सिद्धांत. Spartan, New York.
  30. Amari, Shun'ichi (1967). "अनुकूली पैटर्न वर्गीकारक का एक सिद्धांत". IEEE Transactions. EC (16): 279–307.
  31. Werbos, Paul (1982). "Applications of advances in nonlinear sensitivity analysis" (PDF). सिस्टम मॉडलिंग और अनुकूलन. Springer. pp. 762–770. Archived (PDF) from the original on 14 April 2016. Retrieved 2 July 2017.
  32. Werbos, Paul J. (1994). The Roots of Backpropagation : From Ordered Derivatives to Neural Networks and Political Forecasting. New York: John Wiley & Sons. ISBN 0-471-59897-6.
  33. Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (1986b). "8. Learning Internal Representations by Error Propagation". In Rumelhart, David E.; McClelland, James L. (eds.). Parallel Distributed Processing : Explorations in the Microstructure of Cognition. Vol. 1 : Foundations. Cambridge: MIT Press. ISBN 0-262-18120-7.
  34. Alpaydin, Ethem (2010). मशीन लर्निंग का परिचय. MIT Press. ISBN 978-0-262-01243-0.
  35. Dreyfus, Stuart (1962). "परिवर्तनशील समस्याओं का संख्यात्मक समाधान". Journal of Mathematical Analysis and Applications. 5 (1): 30–45. doi:10.1016/0022-247x(62)90004-5.
  36. Dreyfus, Stuart E. (1990). "कृत्रिम तंत्रिका नेटवर्क, पश्च प्रसार, और केली-ब्रायसन ग्रेडिएंट प्रक्रिया". Journal of Guidance, Control, and Dynamics. 13 (5): 926–928. Bibcode:1990JGCD...13..926D. doi:10.2514/3.25422.
  37. Mizutani, Eiji; Dreyfus, Stuart; Nishio, Kenichi (July 2000). "केली-ब्रायसन ऑप्टिमल-कंट्रोल ग्रेडिएंट फॉर्मूला और उसके अनुप्रयोग से एमएलपी बैकप्रॉपैगेशन की व्युत्पत्ति पर" (PDF). Proceedings of the IEEE International Joint Conference on Neural Networks.
  38. Dreyfus, Stuart (1973). "समय अंतराल के साथ इष्टतम नियंत्रण समस्याओं का कम्प्यूटेशनल समाधान". IEEE Transactions on Automatic Control. 18 (4): 383–385. doi:10.1109/tac.1973.1100330.
  39. Parker, D.B. (1985). "तर्क सीखना". Center for Computational Research in Economics and Management Science. Cambridge MA: Massachusetts Institute of Technology. {{cite journal}}: Cite journal requires |journal= (help)
  40. Hertz, John (1991). तंत्रिका संगणना के सिद्धांत का परिचय. Krogh, Anders., Palmer, Richard G. Redwood City, Calif.: Addison-Wesley. p. 8. ISBN 0-201-50395-6. OCLC 21522159.
  41. Wan, Eric A. (1994). "Time Series Prediction by Using a Connectionist Network with Internal Delay Lines". In Weigend, Andreas S.; Gershenfeld, Neil A. (eds.). Time Series Prediction : Forecasting the Future and Understanding the Past. Proceedings of the NATO Advanced Research Workshop on Comparative Time Series Analysis. Vol. 15. Reading: Addison-Wesley. pp. 195–217. ISBN 0-201-62601-2. S2CID 12652643.
  42. Chang, Franklin; Dell, Gary S.; Bock, Kathryn (2006). "वाक्यात्मक बनना।". Psychological Review. 113 (2): 234–272. doi:10.1037/0033-295x.113.2.234. PMID 16637761.
  43. Janciauskas, Marius; Chang, Franklin (2018). "Input and Age-Dependent Variation in Second Language Learning: A Connectionist Account". Cognitive Science. 42 (Suppl Suppl 2): 519–554. doi:10.1111/cogs.12519. PMC 6001481. PMID 28744901.
  44. Fitz, Hartmut; Chang, Franklin (2019). "भाषा ईआरपी भविष्यवाणी त्रुटि प्रसार के माध्यम से सीखने को दर्शाता है". Cognitive Psychology (in English). 111: 15–52. doi:10.1016/j.cogpsych.2019.03.002. hdl:21.11116/0000-0003-474D-8. PMID 30921626. S2CID 85501792.


अग्रिम पठन


बाहरी संबंध