Contents — find the section you need

लेयर l को h_{l+1}=\phi(W_lh_l+b_l) के रूप में लिखा जा सकता है। नॉन-लीनियर \phi के बिना, स्टैक्ड लेयर्स एक लीनियर ट्रांसफॉर्म में सिमट जाती हैं। लर्निंग, लॉस L के ग्रेडिएंट को बैकप्रोपैगेट करती है और \theta\leftarrow\theta-\eta\nabla_\theta L के माध्यम से अपडेट करती है।

Diagram 1 · Use the button to switch views
Forward and backward neural network flowInput passes through hidden layers to prediction and loss; gradients flow in reverse.input xhidden hprediction ŷloss L

आरेख: डस्ककॉइल, एक अवधारणात्मक आर्किटेक्चर है, न कि कोई विशिष्ट मापी गई संरचना।

एक्टिवेशन, नॉर्मलाइज़ेशन, रेसिडुअल कनेक्शन और अटेंशन, प्रतिनिधित्व और ऑप्टिमाइज़ेशन को बदलते हैं। डेटा ऑग्मेंटेशन, वेट डीके, अर्ली स्टॉपिंग और वैलिड स्प्लिटिंग, जनरलाइज़ेशन की निगरानी में मदद करते हैं; कम ट्रेनिंग लॉस सुरक्षा या निष्पक्षता की गारंटी नहीं देता।

एलिमेंट भूमिका ध्यान दें
एक्टिवेशन नॉन-लीनियर प्रतिनिधित्व जोड़ता है सैचुरेशन और डेड यूनिट्स

ऑप्टिमाइज़र | ग्रेडिएंट्स से पैरामीटर अपडेट करता है | लर्निंग रेट और न्यूमेरिकल स्टेबिलिटी |

रेगुलराइज़ेशन | जनरलाइज़ेशन को सपोर्ट करता है | टेस्ट लीकेज को नहीं रोक सकता |

लॉस, आउटपुट लेयर्स और न्यूमेरिकल स्टेबिलिटी

क्लासिफायर के अंत में सॉफ्टमैक्स लगाने से क्लास k की प्रायिकता p_k=\exp z_k/\sum_j\exp z_j में बदल जाती है। सही लेबल के साथ वन-हॉट y है, क्रॉस-एंट्रोपी L=-\sum_k y_k\log p_k है। कार्यान्वयन \exp z की गणना सीधे करने से बचते हैं, इसके बजाय लॉग-सम-एक्सप ट्रिक का उपयोग करते हैं जो अधिकतम लॉजिट को घटाता है — इससे बड़े लॉजिट पर एक्सपोनेंट ओवरफ्लो होने और लॉस के NaN में बदलने से बचा जा सकता है। रिग्रेशन के लिए, वर्ग त्रुटि, जो आउटलायर्स के प्रति संवेदनशील है, एकमात्र विकल्प नहीं है: ह्यूबर लॉस भी एक संभावित विकल्प है। लॉस केवल "एक ऐसा व्यंजक नहीं है जो किसी संख्या को छोटा बनाता है" — यह एक विनिर्देश है कि किन परिचालन त्रुटियों को अधिक दंडित किया जाना चाहिए।

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

सामान्य आर्किटेक्चर की तुलना

आर्किटेक्चर क्षमता विशिष्ट इनपुट सामान्य विफलता
MLP निश्चित लंबाई की विशेषताओं के लिए सरल टेबल और सेंसर विशेषताएँ स्थानिक या लौकिक संरचना को अनदेखा करता है

CNN | स्थानीयता का लाभ उठाता है | छवियाँ और ग्रिड | रिज़ॉल्यूशन और अधिग्रहण शिफ्ट |

RNN/स्टेट-स्पेस मॉडल | क्रमबद्ध स्थिति को बनाए रखता है | समय श्रृंखला और ऑडियो | लंबी निर्भरताएँ और आरंभीकरण |

ट्रांसफ़ॉर्मर | लंबी दूरी की कंडीशनिंग | टेक्स्ट, छवियाँ, मल्टीमॉडल इनपुट | कंप्यूट, प्रोवेनेंस, असमर्थित आउटपुट |

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

विफलता का उदाहरण: उच्च सटीकता का भ्रम

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

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

कार्यान्वयन प्रक्रिया

  1. भविष्यवाणी समय, जनसंख्या, लेबल, विलंबता सीमा और त्रुटि लागत परिभाषित करें।

  2. इकाई-, समय- और स्थान-जागरूक विभाजन को स्थिर करें; केवल प्रशिक्षण डेटा पर प्रीप्रोसेसिंग फिट करें।

  3. समान विभाजन और मेट्रिक्स पर एक रैखिक मॉडल या छोटे MLP की तुलना करें।

  4. हानि, सीखने की दर, ग्रेडिएंट नॉर्म, NaN, प्रशिक्षण-मान्यकरण अंतराल और स्लाइस किए गए प्रदर्शन को लॉग करें।

  5. गुम डेटा, शोर, विलंबता और वितरण से बाहर के इनपुट डालें; परहेज का परीक्षण करें और रोलबैक।

ग्रेडिएंट को अवलोकन योग्य बनाएं

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

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

प्रयोग की एक उचित इकाई

एक सर्वश्रेष्ठ स्कोर के बजाय सीड वितरण, लर्निंग कर्व और कंप्यूट बजट की तुलना करें। समान पैरामीटर गणना। प्रीप्रोसेसिंग, प्रीट्रेनिंग, ऑग्मेंटेशन या पोस्टप्रोसेसिंग में अंतर होने पर निष्पक्ष तुलना न करें। टेस्ट सेट पर थ्रेशोल्ड को कभी भी पुनः समायोजित न करें। असंतुलन की स्थिति में, मैक्रो और प्रति-वर्ग मेट्रिक्स को बनाए रखें; जब संभावनाएँ निर्णयों को प्रभावित करती हैं, तो कैलिब्रेशन की भी जाँच करें।

अवलोकन योग्य स्वस्थ पैटर्न यदि असामान्य हो, तो जाँच करें
प्रशिक्षण/मान्यकरण हानि दोनों एक स्थिर अंतराल के साथ घटती हैं रिसाव, ओवरफिट, विभाजित इकाई
ग्रेडिएंट नॉर्म अचानक उछाल के बिना परिमित स्केल, आरंभीकरण, हानि

भविष्यवाणी वितरण | कार्य और व्यापकता के अनुरूप | लेबल मैपिंग, सॉफ्टमैक्स अक्ष, थ्रेशोल्ड |

अनुमान विलंबता | टेल विलंबता समय सीमा को पूरा करती है | वार्म-अप, बैचिंग, प्री/पोस्टप्रोसेसिंग |

विफलता का उदाहरण: सत्यापन संदूषण

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

तैनाती-पूर्व चेकलिस्ट

  1. प्रतिनिधि मामलों की तुलना मैन्युअल गणनाओं या किसी विश्वसनीय कार्यान्वयन से करें।

  2. छोटे बैच ओवरफिट, परिमित-ग्रेडिएंट और सेव/रीलोड समतुल्यता परीक्षणों को स्वचालित करें।

  3. समान इनपुट और टाइमर के साथ बेसलाइन, कैंडिडेट और क्वांटाइज़्ड मॉडल का बेंचमार्क करें।

  4. API अनुबंध में अमान्य, अनुपलब्ध या विलंबित इनपुट के लिए अस्वीकृति मान और फ़ॉलबैक व्यवहार शामिल करें।

  5. मॉडल, डेटा, कोड कमिट, निर्भरता और मूल्यांकन को एक रिलीज़ रिकॉर्ड में लिंक करें।

न्यूरल नेटवर्क इंजीनियरिंग डेटा से निर्णय तक के पथ को मापने योग्य बनाने का कार्य है। जटिलता को एक-एक करके बढ़ाएँ ताकि सुधार का स्पष्टीकरण हो और घटना का एक ज्ञात रोलबैक बिंदु हो।

अपनी समझ की जाँच करें
क्या परतें जोड़ने से सटीकता में हमेशा सुधार होता है?

डेटा, ऑप्टिमाइज़ेशन, ओवरफिटिंग और कंप्यूट भी मायने रखते हैं। अतिरिक्त जटिलता के लिए सत्यापन डेटा पर सुधार के प्रमाण की आवश्यकता होती है।

What to read next

Review the backgroundमशीन लर्निंग की बुनियादी बातें: आधारशिलाएँ — डेटा डिज़ाइन करना, हानि और सामान्यीकरणContinue the seriesऑब्जेक्ट डिटेक्शन और सिमेंटिक सेगमेंटेशन का प्रारंभिक परिचय — किसी छवि से "कौन सी वस्तु कहाँ है" यह समझनाExplore another aspect of this fieldस्थानीय एलएलएम का बेंचमार्क: प्रथम प्रतिक्रिया, उत्पादन दर और मेमोरी