Google इंसेप्शन मॉडल: क्यों कई सॉफ्टमैक्स है?


13

Google इंसेप्शन मॉडल की टोपोलॉजी यहां पाई जा सकती है: Google इंसेप्शन नेटवॉर्क

मैंने देखा कि इस मॉडल में 3 सॉफ्टमैक्स परत है (# 154, # 152, # 145), और उनमें से 2 इस मॉडल के जल्दी भागने के कुछ प्रकार हैं।

मुझे जो पता है, सॉफ्टमैक्स लेयर अंतिम आउटपुट के लिए है, तो इतने सारे क्यों हैं? अन्य 2 लेयर का उद्देश्य क्या है?

जवाबों:


27

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

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

गहरा नेटवर्क बनाते समय, एक समस्या उत्पन्न होती है जिसे "लुप्त हो रहे ग्रेडिएंट्स" समस्या के रूप में गढ़ा जाता है। यह वास्तव में तंत्रिका नेटवर्क के लिए विशिष्ट नहीं है; किसी भी ग्रेड आधारित सीखने के तरीकों के बजाय। यह नहीं है कि तुच्छ और इसलिए खुद के लिए एक उचित स्पष्टीकरण के हकदार हैं; एक अच्छे संदर्भ के लिए यहां देखें । सहजता से, आप कम और कम जानकारी रखने वाले ग्रेडिएंट के बारे में सोच सकते हैं कि हम नेटवर्क के अंदर कितनी गहराई तक जाते हैं, जो निश्चित रूप से एक बड़ी चिंता का विषय है, क्योंकि हम "बैक-प्रोप का उपयोग करके, केवल ग्रेडिएंट्स पर आधारित नेटवर्क के मापदंडों (वेट) को ट्यून करते हैं। " कलन विधि।

GoogLeNet के डेवलपर्स ने इस समस्या को कैसे हैंडल किया? उन्होंने इस तथ्य को स्वीकार किया कि यह न केवल अंतिम परतों की विशेषताएं हैं जो सभी भेदभावपूर्ण जानकारी को ले जाती हैं: मध्यवर्ती विशेषताएं विभिन्न लेबल को भेदभाव करने में भी सक्षम हैं; और, सबसे महत्वपूर्ण बात, उनके मूल्य अधिक "विश्वसनीय" हैं क्योंकि उन्हें पहले की परतों से निकाला जाता है जिसमें ढाल अधिक जानकारी ले जाता है। इस अंतर्ज्ञान पर निर्माण करते हुए, उन्होंने दो मध्यवर्ती परतों में "सहायक क्लासिफायर" जोड़ा। यह नेटवर्क के बीच में "जल्दी भागने" नुकसान परतों का कारण है जिसे आपने अपने प्रश्न में संदर्भित किया था।

कुल नुकसान तो इन तीन नुकसान परतों का एक संयोजन है। मैं मूल लेख से उद्धृत करता हूं:

ये क्लासिफायर इनसेप्शन (4a) और (4d) मॉड्यूल्स के आउटपुट के ऊपर लगाए गए छोटे कंफर्टेबल नेटवर्क का रूप लेते हैं। प्रशिक्षण के दौरान, उनके नुकसान को छूट के वजन के साथ नेटवर्क के कुल नुकसान में जोड़ा जाता है (सहायक वर्ग के फियर्स को 0.3 से कम किया गया)। अनुमान के समय, इन सहायक नेटवर्क को छोड़ दिया जाता है।

दिखने में:

यहां छवि विवरण दर्ज करें


1
"... पहले की परतें जिसमें ढाल अधिक जानकारी ले जाती है" - ऐसा क्यों है?
अधिकतम

2

@ Galoosh33 के उत्तर के अलावा: यह मुझे लगता है कि सहायक क्लासिफायर फाइनल आउटपुट क्लासिफायरियर के समान लेबल का उपयोग करते हैं। स्रोत: स्लाइड ३४ में https://pdfs.semanticscholar.org/0b99/d677883883584d9a328f6f2d54738363997a.pdf

पहले, मुझे आश्चर्य हुआ कि क्या इन सहायक क्लासिफायर ने अन्य प्रकार के लेबल का उपयोग किया (जैसे कि साइबेरियाई कर्कश के बजाय केवल कुत्ते)।

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