neural network - तंत्रिका नेटवर्क प्रतिगमन के लिए मिनी बैच आकार का चयन



neural-network gradient-descent (1)

मैं 4 सुविधाओं के साथ एक तंत्रिका नेटवर्क प्रतिगमन कर रहा हूँ मैं अपनी समस्या के लिए मिनी-बैच का आकार कैसे निर्धारित करूं? मैं देखता हूं कि प्रत्येक चित्र के लिए 32 * 32 * 3 सुविधाओं के साथ कंप्यूटर दृष्टि के लिए 100 ~ 1000 बैच आकार का उपयोग करता है, क्या इसका मतलब है कि मुझे 1 मिलियन के बैच आकार का उपयोग करना चाहिए? मेरे पास बिलियन डेटा और जीबी स्मृति के दसियों हैं, इसलिए मेरे लिए यह कठोर आवश्यकता नहीं है कि ऐसा न करें

मैंने आकार 1000 के साथ एक मिनी बैच का उपयोग करते हुए भी देखा है, कनवर्जेन्स को 1 मिलियन के बैच आकार से ज्यादा तेज़ बनाता है। मैंने सोचा था कि यह दूसरी तरह का होना चाहिए, क्योंकि बड़े बैच के आकार के साथ गणना की गई ढाल संपूर्ण नमूने के ढाल का सबसे प्रतिनिधि है? मिनी-बैच का इस्तेमाल अभिसरण तेजी से क्यों होता है?


एक न्यूरल नेटवर्क को प्रशिक्षित करने के लिए ट्रेडऑफ़ बैच आकार बनाम पुनरावृत्तियों की संख्या से :

नीतीश शिरीष केसकर, दिवेवत्स मुदगेयर, जोर्ज नोकेडल, मिखाइल स्मोलियास्की, पिंग तक पीटर तांग से। दीप लर्निंग के लिए बड़े-बैच प्रशिक्षण पर: सामान्यीकरण गैप और तीव्र मिनमा https://arxiv.org/abs/1609.04836 :

स्टोकेस्टिक ढाल वाले वंश विधि और इसके वेरिएंस कई दीप लर्निंग कार्यों के लिए पसंद के एल्गोरिदम हैं। ये विधियां एक छोटे-बैच शासन में काम करती हैं, जिसमें प्रशिक्षण डेटा का एक अंश, आमतौर पर 32 - 512 डेटा बिंदु, ग्रेडियेंट के लिए एक अनुमान लगाने की गणना करने के लिए नमूना है। यह व्यवहार में देखा गया है कि जब एक बड़ा बैच का उपयोग करते हुए मॉडल की गुणवत्ता में एक महत्वपूर्ण गिरावट आई है, जैसा कि सामान्यीकरण की क्षमता से मापा जाता है। बड़े-बैच शासन में इस सामान्यीकरण ड्रॉप के कारणों की जांच करने के कुछ प्रयास हुए हैं, हालांकि इस घटना के लिए सटीक जवाब है, अब तक अज्ञात है। इस पत्र में, हम पर्याप्त संख्यात्मक सबूत प्रस्तुत करते हैं जो इस दृश्य का समर्थन करते हैं कि बड़े-बैच के तरीकों का प्रशिक्षण और परीक्षण कार्यों के तेज कम से कम तक पहुंचने के लिए होते हैं - और यह तेज मिनामा गरीब सामान्यीकरण के लिए प्रेरित करता है। इसके विपरीत, छोटे-बैच के तरीकों को लगातार फ्लैट मिनिमाइज़र के लिए एकजुट किया जाता है, और हमारे प्रयोग एक सामान्य रूप से आयोजित दृश्य का समर्थन करते हैं कि यह ढाल अनुमान के अंतर्निहित शोर के कारण है। हम कई प्रायोगिक रणनीतियों पर भी चर्चा करते हैं जो बड़े बैच तरीकों को सामान्यीकरण के अंतर को खत्म करने में मदद करते हैं और भविष्य के अनुसंधान विचारों और खुले प्रश्नों के एक सेट के साथ समाप्त होते हैं।

[...]

सामान्यीकरण की क्षमता की कमी इस तथ्य के कारण है कि बड़े-बैच के तरीकों को प्रशिक्षण समारोह के तेज मिनिमाइज़र के लिए एकजुट होते हैं । इन मिनिमियर्स को $ \ nabla ^ 2f (x) $ में बड़ी सकारात्मक आयगेंवलुओं की विशेषता है और वे कम अच्छी तरह से सामान्यीकृत करते हैं इसके विपरीत, छोटे-बैच विधियां फ्लैट \ nabla ^ 2 f (x) $ के छोटे सकारात्मक आयगेंवलुओं के आधार पर फ्लैट मिनिमियर्स के लिए एकत्रित होती हैं। हमने देखा है कि गहरा तंत्रिका नेटवर्क का नुकसान कार्य परिदृश्य ऐसा है जैसे बड़े बैच के तरीकों को लगभग न्यूनतम तीव्रता के साथ क्षेत्रों में आकर्षित किया जाता है और यह कि छोटे बैच तरीकों के विपरीत, इन मिनिमियर्स के बेसिनों से बचने में असमर्थ हैं।

[...]

साथ ही, इयान गुडफ़्लो के कुछ अच्छे अंतर्दृष्टि का उत्तर देते हुए कि पूरे प्रशिक्षण का उपयोग ढाल की गणना करने के लिए क्यों नहीं किया जाता? Quora पर:

सीखने की दर का आकार ज्यादातर कारकों द्वारा सीमित है जैसे लागत कार्य कैसे चल रहा है आप ढाल के वंश के बारे में सोच सकते हैं लागत लागत के लिए एक रैखिक सन्निकटन करने के बाद, फिर अनुमानित लागत के साथ डाउनहिल ले जा रहा है। अगर लागत समारोह बेहद गैर-रैखिक (अत्यधिक घुमावदार) है तो सन्निकटन बहुत दूर के लिए बहुत अच्छा नहीं होगा, इसलिए केवल छोटे कदम आकार सुरक्षित हैं आप गहरी सीखने की पाठ्यपुस्तक के अध्याय 4 में इस बारे में संख्यात्मक गणना में अधिक पढ़ सकते हैं: http://www.deeplearningbook.org/contents/numerical.html

जब आप मि मीबैच में एम उदाहरण डालते हैं, तो आपको ओ (एम) कंप्यूटिंग करने और ओ (एम) मेमोरी का उपयोग करने की आवश्यकता है, लेकिन आप केवल ओ (एसक्यूआरटी (एम)) के कारक द्वारा ढाल में अनिश्चितता की मात्रा को कम करते हैं। दूसरे शब्दों में, मिनीबैच में अधिक उदाहरण डालने के लिए सीमांत रिटर्न कम हो रहे हैं। गहरी शिक्षा के लिए अनुकूलन एल्गोरिदम पर, आप गहरी सीखने की पाठ्यपुस्तक के अध्याय 8 में इसके बारे में अधिक पढ़ सकते हैं: http://www.deeplearningbook.org/contents/optimization.html

इसके अलावा, यदि आप इसके बारे में सोचते हैं, तो पूरे प्रशिक्षण सेट का उपयोग करके भी आप वास्तव में सही ढाल नहीं देते हैं सही ढाल अपेक्षित ढाल होगा, जो संभवतः सभी संभव उदाहरणों को उठाए गए अपेक्षाओं के साथ, डेटा जनरेटिंग वितरण द्वारा भारित होगा। पूरे प्रशिक्षण सेट का उपयोग करना सिर्फ एक बहुत बड़ी मिनीबैच आकार का उपयोग कर रहा है, जहां पर आपके द्वारा खर्च किए गए राशि के आधार पर आपके मिनेबैच का आकार डेटा संग्रह पर खर्च की गई राशि से सीमित होता है।