पश्चप्रचार: Difference between revisions
From Vigyanwiki
No edit summary |
No edit summary |
||
| (7 intermediate revisions by 3 users not shown) | |||
| 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">{{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 name="DLhistory">{{cite arXiv|last=Schmidhuber|first=Juergen|author-link=Juergen Schmidhuber|date=2022|title=आधुनिक एआई और डीप लर्निंग का एनोटेट इतिहास|class=cs.NE|eprint=2212.11279}}</ref> [[सेप्पो लिनैनमा]] (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" /> किन्तु उन्हें यह नहीं पता था कि इसे कैसे प्रायुक्त किया जाए, चूंकि हेनरी जे. केली के पास [[नियंत्रण सिद्धांत]] के संदर्भ में 1960 में पहले से ही पश्चप्रचार का निरंतर अग्रदूत था<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><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" /> सामान्यतः उपयोग किए जाते हैं। | ||
पश्चप्रचार | पश्चप्रचार शब्द केवल ग्रेडिएंट की गणना के लिए एल्गोरिथम को संदर्भित करता है, न कि कैसे ग्रेडिएंट का उपयोग किया जाता है; चूँकि, इस शब्द का उपयोग अक्सर संपूर्ण शिक्षण एल्गोरिथ्म को संदर्भित करने के लिए किया जाता है, जिसमें ग्रेडिएंट का उपयोग कैसे किया जाता है, जैसे कि स्टोकेस्टिक ग्रेडिएंट डिसेंट द्वारा।<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>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>: | * <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, [[लॉग नुकसान|लॉग | *: वर्गीकरण के लिए, यह सामान्यतः [[क्रॉस एन्ट्रापी]] (XC, [[लॉग नुकसान|लॉग लॉस]]) होता है, जबकि रिग्रेशन के लिए यह सामान्यतः [[चुकता त्रुटि हानि|स्क्वायर त्रुटि लॉस]] (एसईएल) होता है। | ||
* <math>L</math>: परतों की संख्या | * <math>L</math>: परतों की संख्या | ||
* <math>W^l = (w^l_{jk})</math>: परत <math>l - 1</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>f^l</math>: सक्रियण परत पर | * <math>f^l</math>: सक्रियण परत पर फलन करता है <math>l</math> | ||
*: वर्गीकरण के लिए अंतिम परत सामान्यतः बाइनरी वर्गीकरण के लिए [[रसद समारोह| | *: वर्गीकरण के लिए अंतिम परत सामान्यतः बाइनरी वर्गीकरण के लिए [[रसद समारोह|लॉजिस्टिक फलन]] है, और मल्टी-क्लास वर्गीकरण के लिए [[सॉफ्टमैक्स फ़ंक्शन|सॉफ्टमैक्स फलन]] (सॉफ्टरमैक्स) है, जबकि छिपी हुई परतों के लिए यह पारंपरिक रूप से प्रत्येक नोड (समन्वय) पर [[सिग्मॉइड फ़ंक्शन|सिग्मॉइड फलन]] (लॉजिस्टिक फलन या अन्य) था ), किन्तु आज अधिक विविध है, जिसमें रेक्टिफायर (तंत्रिका नेटवर्क) ([[रैंप समारोह|रैंप फलन]], [[ReLU|रेएलयू]]) सामान्य है। | ||
पश्चप्रचार की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग किया जाता है; उन्हें नीचे आवश्यकतानुसार प्रस्तुत किया गया है। पूर्वाग्रह की शर्तों को विशेष रूप से व्यवहार नहीं किया जाता है, क्योंकि वे 1 के निश्चित इनपुट के साथ भार के अनुरूप होते हैं। पश्चप्रचार के उद्देश्य के लिए, विशिष्ट | पश्चप्रचार की व्युत्पत्ति में, अन्य मध्यवर्ती मात्राओं का उपयोग किया जाता है; उन्हें नीचे आवश्यकतानुसार प्रस्तुत किया गया है। पूर्वाग्रह की शर्तों को विशेष रूप से व्यवहार नहीं किया जाता है, क्योंकि वे 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>\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> | ||
अंतर पर ध्यान दें: मॉडल मूल्यांकन के समय, भार तय होते हैं, जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें | अंतर पर ध्यान दें: मॉडल मूल्यांकन के समय, भार तय होते हैं, जबकि इनपुट भिन्न होते हैं (और लक्ष्य आउटपुट अज्ञात हो सकता है), और नेटवर्क आउटपुट परत के साथ समाप्त होता है (इसमें लॉस फलन सम्मिलित नहीं होता है)। मॉडल प्रशिक्षण के समय, इनपुट-आउटपुट जोड़ी तय हो जाती है, जबकि भार भिन्न-भिन्न होता है, और नेटवर्क लॉस फलन के साथ समाप्त होता है। | ||
पश्चप्रचार निश्चित इनपुट-आउटपुट जोड़ी <math>(x_i, y_i)</math> के लिए प्रवणता की गणना करता है, जहां भार <math>w^l_{jk}</math> भिन्न हो सकती है। प्रवणता के प्रत्येक व्यक्तिगत घटक, <math>\partial C/\partial w^l_{jk},</math> श्रृंखला नियम द्वारा गणना की जा सकती है; चूँकि, प्रत्येक भार के लिए इसे अलग से करना अक्षम है। पश्चप्रचार प्रत्येक परत के ग्रेडिएंट की गणना करके - विशेष रूप से, प्रत्येक परत के भारित इनपुट के ग्रेडिएंट की गणना करके, डुप्लिकेट गणनाओं से बचने और अनावश्यक मध्यवर्ती मानों की गणना नहीं करके कुशलता से ग्रेडिएंट की गणना करता है, जिसे <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> के प्रवणता की सीधे गणना करता है। | |||
# | #आव्यूह गुणन के संदर्भ में, या अधिक सामान्यतः आसन्न ग्राफ़ के संदर्भ में सरल फ़ीडफ़ॉरवर्ड नेटवर्क के लिए पश्चप्रचार व्यक्त किया जा सकता है। | ||
== | == आव्यूह गुणन == | ||
फीडफॉरवर्ड नेटवर्क के मूल | फीडफॉरवर्ड नेटवर्क के मूल स्थिति के लिए, जहां प्रत्येक परत में नोड्स केवल तत्काल अगली परत (बिना किसी परत को छोड़े) में नोड्स से जुड़े होते हैं, और लॉस फलन होता है जो अंतिम आउटपुट के लिए स्केलर लॉस की गणना करता है, पश्चप्रचार हो सकता है आव्यूह गुणन द्वारा आसानी से समझा जा सकता है।{{efn|This section largely follows and summarizes {{harvtxt|Nielsen|2015}}.}} अनिवार्य रूप से, पश्चप्रचार प्रत्येक परत के बीच डेरिवेटिव के उत्पाद के रूप में लागत फलन के व्युत्पन्न के लिए अभिव्यक्ति का मूल्यांकन करता है, प्रत्येक परत के बीच भार के प्रवणता के साथ दाएं से बाएं "पीछे की ओर" आंशिक उत्पादों ("पीछे की ओर प्रचारित" गलती") का एक साधारण संशोधन होता है। | ||
इनपुट-आउटपुट जोड़ी | इनपुट-आउटपुट जोड़ी <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>\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>.}} | ||
:<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>\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>\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> आसानी से पुनरावर्ती रूप से गणना की जा सकती है, दाएं से बाएं जा रही है, जैसे: | |||
:<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 78: | Line 77: | ||
पश्चप्रचार के साथ दो प्रमुख अंतर हैं: | पश्चप्रचार के साथ दो प्रमुख अंतर हैं: | ||
# | #<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+2</math> <math>W^{l+1}</math> को <math>W^{l+2}</math> से गुणा करने के लिए) आगे एक परत <math>l</math> में परिवर्तन के हर संभव पथ को ट्रैक करने के अनुरूप है। सक्रियण के डेरिवेटिव के लिए अतिरिक्त गुणन के साथ), जो अनावश्यक रूप से मध्यवर्ती मात्रा की गणना करता है कि कैसे भार परिवर्तन छिपे हुए नोड्स के मूल्यों को प्रभावित करता है। | ||
== संलग्न ग्राफ == | == संलग्न ग्राफ == | ||
अधिक सामान्य रेखांकन, और अन्य उन्नत विविधताओं के लिए, | अधिक सामान्य रेखांकन, और अन्य उन्नत विविधताओं के लिए, पश्चप्रचार को स्वचालित विभेदन के संदर्भ में समझा जा सकता है, जहां पश्चप्रचार रिवर्स संचय (या रिवर्स मोड) का विशेष स्थिति है।<ref name="DL-reverse-mode" /> | ||
| Line 88: | Line 87: | ||
===प्रेरणा=== | ===प्रेरणा=== | ||
किसी भी पर्यवेक्षित शिक्षण एल्गोरिथ्म का लक्ष्य ऐसे फलन को खोजना है जो इनपुट के सेट को उनके सही आउटपुट के लिए सबसे अच्छा मैप करता है। पश्चप्रचार के लिए प्रेरणा बहु-स्तरित तंत्रिका नेटवर्क को प्रशिक्षित करना है, | |||