बहुत सारे अनुभवजन्य साक्ष्य हैं कि गहरे पर्याप्त तंत्रिका नेटवर्क विशाल डेटासेट (चियुआन जांग, सैमी बेंगियो, मोरित्ज़ हार्ड्ट, बेंजामिन रिचेट, ओरियोल विनयल्स, "गहरी समझ के लिए पुनर्मिलन सामान्यीकरण की आवश्यकता है) पर यादृच्छिक लेबल याद कर सकते हैं ।" इस प्रकार सैद्धांतिक रूप से एक बड़ा पर्याप्त एनएन प्राप्त करके हम हमेशा संख्यात्मक सटीकता द्वारा अभ्यास में सीमित, बहुत छोटे मूल्यों के लिए प्रशिक्षण त्रुटि को कम कर सकते हैं , चाहे वह कार्य कितना भी निरर्थक हो।
सामान्यीकरण त्रुटि के लिए चीजें काफी भिन्न हैं । हम यह सुनिश्चित नहीं कर सकते हैं कि प्रत्येक सीखने की समस्या के लिए, एक सीखने योग्य एनएन मॉडल मौजूद है जो सामान्यीकरण त्रुटि को कम कर सकता है। इस कारण से पहला कदम है
1. अपनी उम्मीदों को सही ढंग से सेट करें
एक सम्मानित संदर्भ खोजें जो आपको बताता है कि एक आर्किटेक्चर मौजूद है जो आपके डेटा सेट पर या सबसे समान एक सामान्य त्रुटि पर पहुंच सकता है जिसके लिए आप संदर्भ पा सकते हैं। उदाहरण के लिए, यहां देखें
वर्तमान अत्याधुनिक अत्याधुनिक तंत्रिका नेटवर्क क्या हैं?
विभिन्न कार्यों पर सीएनएन के लिए वर्तमान (उत्तरों के समय) एसओटीए (द स्टेट ऑफ द आर्ट) प्रदर्शन के लिए। इन संदर्भ डेटा सेटों पर ऐसे परिणामों को पुन: पेश करने का प्रयास करना एक अच्छा विचार है, इससे पहले कि आप अपने स्वयं के डेटा सेट पर प्रशिक्षण दें, एक परीक्षण के रूप में कि आपके सभी बुनियादी ढांचे ठीक से हैं।
2. सुनिश्चित करें कि आपकी प्रशिक्षण प्रक्रिया निर्दोष है
प्रश्न के उत्तर में वर्णित सभी जांचें
जब मेरा तंत्रिका नेटवर्क नहीं सीखता है तो मुझे क्या करना चाहिए?
यह सुनिश्चित करने के लिए कि आपकी प्रशिक्षण प्रक्रिया ठीक है, सामान्यीकरण त्रुटि की सफल कमी के लिए एक शर्त है (यदि आपका एनएन नहीं सीख रहा है, तो यह सामान्यीकरण नहीं सीख सकता है)। इन चेक में अन्य सामान शामिल हैं:
- इकाई परीक्षण
- डेटासेट चेक (प्रशिक्षण सेट और परीक्षण सेट दोनों के लिए कुछ यादृच्छिक इनपुट / लेबल नमूनों पर एक नज़र डालें और जांचें कि लेबल सही हैं; इनपुट छवियों की चौड़ाई और आकार की जांच करें; प्रशिक्षण / परीक्षण सेट में नमूने फेरबदल करें और देखें कि क्या यह प्रभावित होता है) परिणाम; आदि)
- यादृच्छिक परीक्षण
- अपने प्रीप्रोसेसिंग और पैकेज संस्करणों को मानकीकृत करें
- संख्यात्मक प्रयोगों की एक लॉगबुक रखें
3. सुपरकंवरेज हासिल करने की कोशिश करें
लेस्ली एन। स्मिथ और निकोले टॉपिन द्वारा "सुपर-कन्वर्जेंस: वेरी लर्निंग ऑफ़ न्यूरल नेटवर्क्स द लर्निंग लर्निंग रेट्स" का उपयोग करके दिखाया गया है कि कुछ मामलों में लेस्ली एन। स्मिथ की चक्रीय अधिगम दर पद्धति के साथ बड़े अधिगम दर का संयोजन एक नियमित रूप से होता है। , परिमाण के एक क्रम द्वारा अभिसरण को तेज करना और व्यापक नियमितीकरण की आवश्यकता को कम करना। इस प्रकार यह पहले की कोशिश करने के लिए एक अच्छी बात है
4. MAXXX के लिए अपने नियमितीकरण की स्थापना
नियमितीकरण अक्सर प्रशिक्षण के समय (खराब) को बढ़ाता है, प्रशिक्षण की त्रुटि को बढ़ाता है और सामान्यीकरण त्रुटि (अच्छा) को कम करता है, लेकिन बहुत अधिक नियमितीकरण वास्तव में दोनों त्रुटियों (कम होने) को बढ़ा सकता है। इस कारण से, और प्रशिक्षण समय में वृद्धि के कारण, प्रशिक्षण सेट को ओवरफिट करने में सफल होने के बाद , विभिन्न नियमितीकरण तकनीकों को एक बार में पेश करना अक्सर बेहतर होता है । ध्यान दें कि नियमित रूप से नियमित करने से जरूरी नहीं कि आपकी सामान्यीकरण त्रुटि छोटी हो जाएगी: अच्छे सामान्यीकरण गुणों को प्राप्त करने के लिए मॉडल में पर्याप्त बड़ी क्षमता होनी चाहिए। इसका अर्थ अक्सर यह होता है कि आपको नियमित रूप से गहन नेटवर्क की आवश्यकता होती है, इससे पहले कि आप नियमितीकरण के लाभों को देख सकें।
सबसे पुराने नियमितीकरण के तरीके शायद जल्दी रुकने वाले और वजन घटाने वाले हैं। कुछ अन्य:
- म = १६
- अनुकूली ऑप्टिमाइज़र के बजाय SGD का उपयोग करें: यह पहले से ही @shimao द्वारा कवर किया गया है, इस प्रकार मैं केवल पूर्णता के लिए इसका उल्लेख करता हूं
- ड्रॉपआउट का उपयोग करें: यदि आप LSTM का उपयोग करते हैं, तो LSTM परत के इनपुट और आउटपुट इकाइयों के लिए केवल मानक ड्रॉपआउट का उपयोग करें। आवर्तक इकाइयों के लिए (द्वार) आवर्तक ड्रॉपआउट का उपयोग करते हैं, जैसा कि पहली बार यारिन गाल ने अपने पीएच.डी. थीसिस । हालाँकि, यदि आप CNN का उपयोग करते हैं, तो ड्रॉपआउट का उपयोग अब कम किया जाता है। इसके बजाय, आप…
- ... बैच के सामान्यीकरण का उपयोग करें: बैच के सामान्यीकरण के पक्ष में सबसे हालिया CNN आर्किटेक्चर ने ड्रॉपआउट किया। यह सिर्फ एक सनक हो सकती है, या यह इस तथ्य के कारण हो सकता है कि जाहिरा तौर पर ड्रॉपआउट और बैच सामान्यीकरण एक साथ नहीं खेलते हैं (जियांग ली, शुओ चेन, शियाओलिन हू, जियान यांग, ड्रॉपआउट और बैच सामान्यीकरण के बीच के विवाद को समझना शिफ्ट )। चूंकि बैच मानदंड ड्रॉपआउट की तुलना में अधिक प्रभावी है जब आपके पास विशाल डेटा सेट होते हैं, तो यह एक कारण हो सकता है कि ड्रॉपआउट सीएनएन आर्किटेक्चर के पक्ष में गिर गया है। यदि आप बैच सामान्यीकरण का उपयोग करते हैं, तो सत्यापित करें कि प्रत्येक परत के लिए वजन और गैसों का वितरण लगभग मानक सामान्य दिखता है। RNN के लिए, बैच मानक लागू करना जटिल है: वजन सामान्यीकरण (टिम सलीमन्स, डिडेरिक पी। किंग्मा,वजन सामान्यीकरण: गहरी तंत्रिका नेटवर्क के प्रशिक्षण को सरल बनाने के लिए एक सरल पुनर्संरचना ) एक व्यवहार्य विकल्प है।
- डेटा वृद्धि का उपयोग करें: इसका एक नियमित प्रभाव भी है।
5. हाइपरपरमीटर / वास्तुकला खोज
यदि और कुछ भी मदद नहीं करता है, तो आपको कई अलग-अलग हाइपरपेरेटरी सेटिंग्स (बायेसियन ऑप्टिमाइज़ेशन यहां मदद कर सकते हैं) या कई अलग-अलग वास्तु परिवर्तन (जैसे कि शायद आपके जीएएन आर्किटेक्चर में हो सकता है और आपके द्वारा काम कर रहे डेटा सेट के लिए, बैच मानदंड केवल काम करता है) जनरेटर, लेकिन जब विवेचक को भी जोड़ा जाता है तो यह चीजों को बदतर बना देता है)। एक सुव्यवस्थित लॉगबुक में इन लंबे और उबाऊ प्रयोगों के परिणामों पर नज़र रखना सुनिश्चित करें।
एक गण के लिए PS यह सामान्यीकरण त्रुटि के बारे में बात करने के लिए बहुत अधिक समझ में नहीं आता है: उपरोक्त उदाहरण केवल एक संकेत के रूप में था कि डीप लर्निंग में अभी भी बहुत अधिक कीमिया है, और ऐसी चीजें जो आप ठीक काम करने की उम्मीद करेंगे, कभी-कभी डॉन 't, या इसके विपरीत, जो कई बार ठीक काम करता है, अचानक एक नए डेटा सेट के लिए आप पर तरस खा जाता है।