जवाबों:
यह प्रयोग की जाने वाली विधि की तुलना में फ़ंक्शन को कम करने के लिए अधिक समस्या है, अगर सही वैश्विक न्यूनतम खोजना महत्वपूर्ण है, तो ऐसी विधि का उपयोग करें जैसे कि नकली एनेलिंग । यह वैश्विक न्यूनतम खोजने में सक्षम होगा, लेकिन ऐसा करने में बहुत लंबा समय लग सकता है।
तंत्रिका जाल के मामले में, स्थानीय मिनीमा जरूरी नहीं कि एक समस्या का ज्यादा हो। स्थानीय मिनीमा में से कुछ इस तथ्य के कारण हैं कि आप छिपी हुई परत इकाइयों को अनुमति देकर या नेटवर्क आदि के इनपुट और आउटपुट भार की उपेक्षा करके कार्यात्मक रूप से समान मॉडल प्राप्त कर सकते हैं। इसके अलावा यदि स्थानीय मिनीमा केवल थोड़ा गैर-इष्टतम है, तो प्रदर्शन में अंतर न्यूनतम होगा और इसलिए यह वास्तव में मायने नहीं रखेगा। अंत में, और यह एक महत्वपूर्ण बिंदु है, एक तंत्रिका नेटवर्क को फिट करने में महत्वपूर्ण समस्या अति-फिटिंग है, इसलिए आक्रामक रूप से लागत फ़ंक्शन के वैश्विक मिनीमा की खोज करने से परिणाम अधिक होने की संभावना है और एक मॉडल जो खराब प्रदर्शन करता है।
एक नियमितीकरण शब्द जोड़ना, जैसे वजन घटाना, लागत फ़ंक्शन को सुचारू करने में मदद कर सकता है, जिससे स्थानीय मिनिमा की समस्या को थोड़ा कम किया जा सकता है, और कुछ ऐसा है जिसे मैं ओवरफिटिंग से बचने के साधन के रूप में वैसे भी सुझाऊंगा।
तंत्रिका नेटवर्क में स्थानीय मिनिमा से बचने का सबसे अच्छा तरीका एक गाऊसी प्रक्रिया मॉडल (या एक रेडियल बेसिस फ़ंक्शन तंत्रिका नेटवर्क) का उपयोग करना है, जिसमें स्थानीय मिनीमा के साथ कम समस्याएं हैं।
ग्रेडिएंट वंश एक अनुकूलन एल्गोरिथ्म है ।
कई अनुकूलन एल्गोरिदम हैं जो निश्चित संख्या में वास्तविक मूल्यों पर काम करते हैं जो सहसंबद्ध ( गैर-वियोज्य ) हैं। हम उन्हें लगभग 2 श्रेणियों में विभाजित कर सकते हैं: ग्रेडिएंट-आधारित ऑप्टिमाइज़र और व्युत्पन्न-मुक्त ऑप्टिमाइज़र। आमतौर पर आप पर्यवेक्षित सेटिंग में तंत्रिका नेटवर्क को अनुकूलित करने के लिए ढाल का उपयोग करना चाहते हैं क्योंकि यह व्युत्पन्न-मुक्त अनुकूलन की तुलना में काफी तेज है। कई ढाल-आधारित अनुकूलन एल्गोरिदम हैं जिनका उपयोग तंत्रिका नेटवर्क को अनुकूलित करने के लिए किया गया है:
और तंत्रिका नेटवर्क के अनुकूलन के लिए कई अन्य एल्गोरिदम प्रस्तावित किए गए हैं, आप हेसियन-मुक्त अनुकूलन या वी-एसडब्ल्यूडी के लिए Google कर सकते हैं (अनुकूली सीखने की दरों के साथ कई प्रकार के SGD हैं, उदाहरण के लिए यहां देखें )।
एनएनएस के लिए अनुकूलन एक हल समस्या नहीं है! मेरे अनुभवों में सबसे बड़ी चुनौती एक अच्छा स्थानीय न्यूनतम नहीं है। हालाँकि, चुनौतियाँ बहुत सपाट क्षेत्रों से बाहर निकलने के लिए हैं, अशिक्षित त्रुटि कार्यों आदि से निपटना है। यही वजह है कि LMA और अन्य एल्गोरिदम जो हेसियन के अंदाजों का उपयोग करते हैं, आमतौर पर व्यवहार में इतनी अच्छी तरह से काम करते हैं और लोग स्टोकेस्टिक संस्करणों को विकसित करने की कोशिश करते हैं। कम जटिलता के साथ दूसरे क्रम की जानकारी का उपयोग करें। हालांकि, अक्सर मिनीबच के लिए एक बहुत अच्छी तरह से तैयार किया गया पैरामीटर SGD किसी भी जटिल अनुकूलन एल्गोरिथम से बेहतर है।
आमतौर पर आप एक वैश्विक इष्टतम नहीं खोजना चाहते हैं। क्योंकि आमतौर पर प्रशिक्षण डेटा को ओवरफिट करने की आवश्यकता होती है।
ग्रेडिएंट डिसेंट का एक दिलचस्प विकल्प जनसंख्या-आधारित प्रशिक्षण एल्गोरिदम जैसे विकासवादी एल्गोरिदम (ईए) और कण झुंड अनुकूलन (पीएसओ) है। जनसंख्या-आधारित दृष्टिकोणों के पीछे मूल विचार यह है कि उम्मीदवार समाधान (एनएन वेट वैक्टर) की आबादी बनाई जाती है, और उम्मीदवार समाधान खोज स्थान का पता लगाते हैं, सूचनाओं का आदान-प्रदान करते हैं, और अंततः एक मिनीमा पर परिवर्तित होते हैं। क्योंकि कई शुरुआती बिंदु (उम्मीदवार समाधान) का उपयोग किया जाता है, वैश्विक मिनीमा पर परिवर्तित होने की संभावना काफी बढ़ जाती है। पीएसओ और ईए को बहुत प्रतिस्पर्धात्मक रूप से प्रदर्शन करने के लिए दिखाया गया है, अक्सर (हमेशा नहीं) हमेशा जटिल एनएन प्रशिक्षण समस्याओं पर ग्रेडिएंट वंश को मात देते हैं।
मुझे पता है कि यह धागा काफी पुराना है और अन्य लोगों ने स्थानीय मिनीमा, ओवरफिटिंग आदि जैसी अवधारणाओं को समझाने के लिए बहुत अच्छा काम किया है। हालांकि, जैसा कि ओपी एक वैकल्पिक समाधान की तलाश में था, मैं एक योगदान करने की कोशिश करूंगा और आशा है कि यह अधिक दिलचस्प विचारों को प्रेरित करेगा।
विचार प्रत्येक भार को डब्ल्यू + टी में बदलने का है, जहां गॉसियन वितरण के बाद टी एक यादृच्छिक संख्या है। नेटवर्क का अंतिम आउटपुट तो टी के सभी संभावित मूल्यों पर औसत आउटपुट है। यह विश्लेषणात्मक रूप से किया जा सकता है। आप तब ढाल वंश या LMA या अन्य अनुकूलन विधियों के साथ समस्या का अनुकूलन कर सकते हैं। अनुकूलन हो जाने के बाद, आपके पास दो विकल्प हैं। एक विकल्प यह है कि गाऊसी वितरण में सिग्मा को कम करें और फिर से अनुकूलन करें और जब तक सिग्मा 0 तक नहीं पहुंच जाता है, तब आपके पास एक बेहतर स्थानीय न्यूनतम होगा (लेकिन संभावित रूप से यह ओवरफिटिंग का कारण बन सकता है)। एक और विकल्प अपने वजन में यादृच्छिक संख्या के साथ एक का उपयोग कर रहा है, इसमें आमतौर पर बेहतर सामान्यीकरण गुण होता है।
पहला दृष्टिकोण एक अनुकूलन चाल है (मैं इसे दृढ़ सुरंग के रूप में कहता हूं, क्योंकि यह लक्ष्य फ़ंक्शन को बदलने के लिए मापदंडों पर दृढ़ संकल्प का उपयोग करता है), यह लागत फ़ंक्शन परिदृश्य की सतह को सुचारू करता है और स्थानीय मिनिमा से कुछ को छुटकारा दिलाता है, इस प्रकार वैश्विक न्यूनतम (या बेहतर स्थानीय न्यूनतम) ढूंढना आसान बनाएं।
दूसरा दृष्टिकोण शोर इंजेक्शन (वज़न पर) से संबंधित है। ध्यान दें कि यह विश्लेषणात्मक रूप से किया जाता है, जिसका अर्थ है कि अंतिम परिणाम कई नेटवर्क के बजाय एक एकल नेटवर्क है।
अनुसरण दो-सर्पिल समस्या के लिए उदाहरण आउटपुट हैं। नेटवर्क आर्किटेक्चर उन तीनों के लिए समान है: 30 नोड्स की केवल एक छिपी हुई परत है, और आउटपुट परत रैखिक है। उपयोग किया जाने वाला अनुकूलन एल्गोरिथ्म LMA है। बाईं छवि वेनिला सेटिंग के लिए है; मध्य पहले दृष्टिकोण का उपयोग कर रहा है (अर्थात् बार-बार सिग्मा को 0 की ओर कम करना); तीसरा सिग्मा = 2 का उपयोग कर रहा है।
आप देख सकते हैं कि वेनिला समाधान सबसे खराब है, कन्वेन्शनल टनलिंग एक बेहतर काम करता है, और शोर इंजेक्शन (कन्टीन्यूशनल टनलिंग के साथ) सबसे अच्छा है (सामान्यीकरण संपत्ति के संदर्भ में)।
दोनों अवशिष्ट सुरंग और शोर इंजेक्शन के विश्लेषणात्मक तरीके मेरे मूल विचार हैं। हो सकता है कि वे कोई ऐसा विकल्प हो, जिसमें कोई दिलचस्पी हो। विवरण मेरे पेपर में पाया जा सकता है, एक के साथ तंत्रिका नेटवर्क के इन्फिनिटी नंबर । चेतावनी: मैं एक पेशेवर अकादमिक लेखक नहीं हूं और कागज की समीक्षा नहीं की जाती है। यदि आपके पास मेरे द्वारा बताए गए दृष्टिकोणों के बारे में प्रश्न हैं, तो कृपया एक टिप्पणी छोड़ दें।
चरम लर्निंग मशीन अनिवार्य रूप से वे एक तंत्रिका नेटवर्क हैं जहां छिपे हुए नोड्स में इनपुट को जोड़ने वाले भार यादृच्छिक रूप से असाइन किए जाते हैं और कभी भी अपडेट नहीं किए जाते हैं। छिपे हुए नोड्स और आउटपुट के बीच वजन एक एकल चरण में एक रेखीय समीकरण (मैट्रिक्स व्युत्क्रम) को हल करके सीखा जाता है।
जब ग्लोबल ऑप्टिमाइज़ेशन कार्यों की बात होती है (यानी एक वस्तुनिष्ठ फ़ंक्शन का वैश्विक न्यूनतम खोजने का प्रयास) तो आप एक नज़र डाल सकते हैं:
जैसा कि ऊपर उल्लेख किया गया है, नकली एनीलिंग, कण झुंड अनुकूलन और जेनेटिक एल्गोरिदम अच्छे वैश्विक अनुकूलन एल्गोरिदम हैं जो विशाल खोज स्थानों के माध्यम से अच्छी तरह से नेविगेट करते हैं और ग्रेडिएंट डिसेंट के विपरीत ग्रेडिएंट के बारे में किसी भी जानकारी की आवश्यकता नहीं है और ब्लैक-बॉक्स उद्देश्य कार्यों और समस्याओं के साथ सफलतापूर्वक उपयोग किया जा सकता है। कि सिमुलेशन चलाने की आवश्यकता है।