तंत्रिका नेटवर्क डिबगिंग


10

मैंने scipy.optimize.minimize (Conjugate gradient) अनुकूलन फ़ंक्शन का उपयोग करके अजगर में एक कृत्रिम तंत्रिका नेटवर्क बनाया है।

मैंने ग्रेडिएंट चेकिंग, डबल चेक सबकुछ आदि को लागू किया है और मुझे पूरा यकीन है कि यह सही तरीके से काम कर रहा है।

मैंने इसे कुछ बार चलाया है और यह 'ऑप्टिमाइज़ेशन सफलतापूर्वक समाप्त' तक पहुँच जाता है, हालाँकि जब मैं छिपी हुई परतों की संख्या बढ़ाता हूँ, तो इसे सफलतापूर्वक समाप्त करने के बाद परिकल्पना की लागत बढ़ जाती है (बाकी सब कुछ वही रखा जाता है)।

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

मुझे यह समझने में दिलचस्पी होगी कि यहां क्या हो रहा है, या यदि मैंने तंत्रिका जाल को गलत तरीके से लागू किया है?

जवाबों:


9

एक तंत्रिका जाल के साथ गलत तरीके से जाने के कई तरीके हैं कि यह डिबग करना मुश्किल हो रहा है। इसके अलावा, अपने अंतर्ज्ञान को संबोधित करने के लिए, प्रत्येक अतिरिक्त छिपी परत सीखने को बहुत कठिन बना देती है। उस ने कहा, यहाँ कुछ संभावनाएं हैं:

  1. आपने वजन घटाया है। अधिक परतों को जोड़ने से अधिक वज़न बढ़ता है जो आपके नियमितीकरण की लागत को बढ़ाता है।
  2. यह समस्या काफी सरल है कि एकल छिपी परत वाला एक मॉडल पर्याप्त है। अधिक छिपी हुई परतों को जोड़ने से नेटवर्क को सीखना कठिन हो जाता है (कठिन अनुकूलन समस्या)।
  3. अनुकूलन विधि बहुत अच्छा काम नहीं कर रही है (मैं clip to scipy.optimize पसंद करता हूं)।
  4. आप सिग्मॉइड / टैन्ह सक्रियण फ़ंक्शन का उपयोग कर रहे हैं। सिग्मॉइड फ़ंक्शन गायब होने वाली ढाल समस्या का कारण बनता है जो अधिक परतों के साथ सीखने को कठिन बनाता है। ReLu फ़ंक्शन का उपयोग करने का प्रयास करें।

प्रशिक्षण तंत्रिका जाल बहुत अभ्यास, भाग्य, और धैर्य लेता है। सौभाग्य।


1
अच्छा उत्तर। एहसास है कि 2, 3, 4 जटिल तरीकों से बातचीत कर सकते हैं, हालांकि। एएनएन के सक्रियण मूल्यों, एएनएन के वजन के परिमाण की जांच, नमूना और आउट-ऑफ-सैंपल त्रुटि पर नज़र रखने और ऑप्टिमाइज़र के अभिसरण, आदि की जाँच करके डीबगिंग किया जा सकता है
Def_Os

3

एक मानक तंत्रिका नेटवर्क के लिए छिपी हुई परतों की संख्या बढ़ने से वास्तव में अधिकांश मामलों में परिणाम में सुधार नहीं होगा। छिपी हुई परत के आकार को बदलना होगा।

यह तथ्य (कि छिपी हुई परतों की संख्या बहुत कम है) वास्तव में ऐतिहासिक रूप से नोट किया गया था और गहन शिक्षा के क्षेत्र के पीछे प्रेरणा है। दीप लर्निंग प्रभावी ढंग से बहुपरत तंत्रिका नेटवर्क के प्रशिक्षण के तरीके हैं, उदाहरण के लिए, विभिन्न परतों को प्रशिक्षित करते समय सुविधाओं के सबसेट को अलग करना।

YouTube पर इस विषय पर अच्छा परिचयात्मक वीडियो


2
गहरी सीख छिपी हुई परतों की संख्या बढ़ाने के बारे में है । अन्यथा इसे वसा विद्या कहा जाएगा:
एम्रे

@Emre निश्चित रूप से इसका मतलब है। मेरे विराम चिह्न को शाप दो!
एरिक चियांग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.