मैं पीछे प्रसार का उपयोग करके, वर्गीकरण के लिए एक गहरे तंत्रिका नेटवर्क को प्रशिक्षित करने की कोशिश कर रहा हूं। विशेष रूप से, मैं Tensor Flow पुस्तकालय का उपयोग करके, छवि वर्गीकरण के लिए एक दृढ़ तंत्रिका नेटवर्क का उपयोग कर रहा हूं। प्रशिक्षण के दौरान, मैं कुछ अजीब व्यवहार का अनुभव कर रहा हूं, और मैं सोच रहा हूं कि क्या यह विशिष्ट है, या क्या मैं कुछ गलत कर रहा हूं।
तो, मेरे दृढ़ तंत्रिका नेटवर्क में 8 परतें हैं (5 दृढ़, 3 पूरी तरह से जुड़े हुए)। सभी भार और पूर्वाग्रह छोटे यादृच्छिक संख्याओं पर आरंभ किए जाते हैं। मैंने तब एक चरण आकार निर्धारित किया, और मिनी-बैचों के साथ प्रशिक्षण के साथ आगे बढ़ा, टेन्सर फ्लो के एडम ऑप्टिमाइज़र का उपयोग किया।
मैं जिस अजीब व्यवहार के बारे में बात कर रहा हूं वह यह है कि मेरे प्रशिक्षण डेटा के माध्यम से पहले 10 छोरों के लिए, प्रशिक्षण का नुकसान सामान्य रूप से घटता नहीं है। वजन अपडेट किया जा रहा है, लेकिन प्रशिक्षण का नुकसान लगभग उसी मूल्य पर रहता है, कभी-कभी ऊपर जा रहा है और कभी-कभी मिनी-बैचों के बीच नीचे जा रहा है। यह इस तरह से थोड़ी देर के लिए रहता है, और मुझे हमेशा यह धारणा मिलती है कि नुकसान कभी कम नहीं होने वाला है।
फिर, अचानक, प्रशिक्षण हानि नाटकीय रूप से कम हो जाती है। उदाहरण के लिए, प्रशिक्षण डेटा के माध्यम से लगभग 10 छोरों के भीतर, प्रशिक्षण सटीकता लगभग 20% से लगभग 80% तक जाती है। तब से, सब कुछ अच्छी तरह से परिवर्तित होता है। हर बार जब मैं स्क्रैच से प्रशिक्षण पाइपलाइन चलाता हूं, तो यही बात होती है, और नीचे एक उदाहरण रन को दर्शाने वाला ग्राफ है।
इसलिए, मैं जो सोच रहा हूं, क्या यह सामान्य तंत्रिका नेटवर्क के प्रशिक्षण के साथ सामान्य व्यवहार है, जिससे "किक" करने में थोड़ा समय लगता है। या क्या यह संभावना है कि कुछ ऐसा है जो मैं गलत कर रहा हूं जिससे यह देरी हो रही है?
बहुत बहुत धन्यवाद!