स्टोचस्टिक ढाल वंश के लिए बैच का आकार कितना बड़ा होना चाहिए?


49

जवाबों:


72

जिस "नमूना आकार" के बारे में आप बात कर रहे हैं उसे बैच आकार , कहा जाता है । जब आप मिनी-बैच स्टोचस्टिक ग्रेडिएंट डिसेंट (SGD) के साथ एक तंत्रिका नेटवर्क को प्रशिक्षित करते हैं और डेटा आश्रित होता है, तो बैच आकार पैरामीटर हाइपर-मापदंडों में से एक होता है। हाइपर-पैरामीटर खोज का सबसे मूल तरीका एक जोड़ी खोजने के लिए सीखने की दर और बैच आकार पर एक ग्रिड खोज करना है जो नेटवर्क को परिवर्तित करता है।B

यह समझने के लिए कि बैच का आकार क्या होना चाहिए, बैच ग्रेडिएंट डिसेंट, ऑनलाइन SGD, और मिनी-बैच SGD के बीच संबंध देखना महत्वपूर्ण है। यहां मिनी-बैच SGD में वजन अपडेट चरण के लिए सामान्य सूत्र है, जो तीनों प्रकारों का सामान्यीकरण है। [ ]

θt+1θtϵ(t)1Bb=0B1L(θ,mb)θ
  1. बैच ढाल वंश, B=|x|
  2. ऑनलाइन स्टोचैस्टिक ग्रेडिएंट डिसेंट: B=1
  3. मिनी-बैच स्टोचस्टिक ग्रेडिएंट डिसेंट: लेकिन बी < | x | B>1B<|x|

ध्यान दें कि 1 के साथ, नुकसान फ़ंक्शन अब एक यादृच्छिक चर नहीं है और स्टोचस्टिक सन्निकटन नहीं है।

SGD सामान्य "बैच" ग्रेडिएंट डिसेंट की तुलना में तेज़ी से कंवर्ट करता है क्योंकि यह ट्रेनिंग सेट के बेतरतीब ढंग से चुने गए सबसेट को देखने के बाद वज़न को अपडेट करता है। चलो हमारे प्रशिक्षण सेट हो सकता है और जाने मीटर एक्स । बैच का आकार B केवल m की कार्डिनैलिटी है : B = | एम | xmxBmB=|m|

बैच ग्रैडिएंट वंश पूरे डेटासेट x के का उपयोग करके वज़न को अपडेट करता है ; जबकि मिनी-बैच m के लिए ग्रेडिएंट्स के औसत का उपयोग करके वेट अपडेट करता है । (औसत के रूप में एक राशि का विरोध एल्गोरिथ्म उन कदमों को लेने से रोकता है जो कि डेटासेट बहुत बड़े हैं। अन्यथा, आपको डेटासेट के आकार के आधार पर अपनी सीखने की दर को समायोजित करने की आवश्यकता होगी।) इस के अपेक्षित मूल्य। सीटू में प्रयुक्त ढाल का स्टोचस्टिक सन्निकटन बैच ढाल ढाल में प्रयुक्त नियतात्मक ढाल के बराबर है। [ एल एस जी डी ( θ , मीटर ) ] = θxmE[LSGD(θ,m)]=L(θ,x)

हर बार जब हम एक नमूना लेते हैं और अपने वजन को अपडेट करते हैं तो इसे मिनी-बैच कहा जाता है । हर बार जब हम संपूर्ण डेटासेट से चलते हैं, तो इसे एक युग कहा जाता है ।

x:RDθ0:RSL(θ,x):RSRDRSTB

C=T/B

सादगी के लिए हम मान सकते हैं कि टी बी से समान रूप से विभाज्य है। हालांकि, जब यह मामला नहीं है, जैसा कि अक्सर ऐसा नहीं होता है, प्रत्येक मिनी-बैच को इसके आकार के कार्य के रूप में उचित वजन सौंपा जाना चाहिए।

युगलों के साथ SGD के लिए एक पुनरावृत्ति एल्गोरिथ्म नीचे दिया गया है:M

t0while t<Mθt+1θtϵ(t)1Bb=0B1L(θ,mb)θtt+1

ध्यान दें: वास्तविक जीवन में हम इन प्रशिक्षण उदाहरण डेटा को मेमोरी से पढ़ रहे हैं और, आपके कंप्यूटर द्वारा किए गए कैश-प्रीचिंग और अन्य मेमोरी ट्रिक्स के कारण, मेमोरी एक्सेस के कॉइल होने पर , यानी जब आप मेमोरी पढ़ते हैं, तो आपका एल्गोरिथ्म तेजी से चलेगा क्रम में और बेतरतीब ढंग से चारों ओर कूद नहीं है। इसलिए, अधिकांश SGD कार्यान्वयन डेटासेट में फेरबदल करते हैं और फिर उदाहरणों को स्मृति में उस क्रम में लोड करते हैं जो उन्हें पढ़ा जाएगा।

उपरोक्त वर्णित वैनिला (कोई संवेग) SGD के लिए प्रमुख पैरामीटर हैं:

  1. ϵ

मैं एप्सिलॉन के बारे में सोचना चाहता हूं, जो कि एपोच काउंट से सीखने की दर तक एक फंक्शन है। इस फ़ंक्शन को लर्निंग रेट शेड्यूल कहा जाता है

ϵ(t):NR

यदि आप सीखने की दर निर्धारित करना चाहते हैं, तो बस एक स्थिर फ़ंक्शन के रूप में एप्सिलॉन को परिभाषित करें।

  1. बैच का आकार

वेट अपडेट करने से पहले बैच का आकार निर्धारित करता है कि आप कितने उदाहरण देखते हैं। यह जितना कम होगा, प्रशिक्षण संकेत उतना अधिक होगा, जितना अधिक होगा, प्रत्येक चरण के लिए ढाल की गणना करने में उतना ही अधिक समय लगेगा।

उद्धरण और आगे पढ़ना:

  1. ग्रैडिएंट बेस्ड लर्निंग का परिचय
  2. गहरे आर्किटेक्चर के ग्रेडिएंट-आधारित प्रशिक्षण के लिए व्यावहारिक सिफारिशें
  3. स्टोकेस्टिक अनुकूलन के लिए कुशल मिनी-बैच प्रशिक्षण

1
For simplicity we can assume that D is evenly divisible by B। क्या आपका मतलब यह नहीं है कि T, B द्वारा समान रूप से विभाज्य होना चाहिए?
एंटोनी

4
और वास्तव में ओपी के प्रश्न का उत्तर दें, आप B is typically chosen between 1 and a few hundreds, e.g. B = 32 is a good default value, with values above 10 taking advantage of the speed-up of matrix-matrix products over matrix-vector products.(बेंगियो के 2012 के पेपर से) जोड़ सकते हैं
एंटोनी

@sabalaba अच्छा जवाब। लेकिन क्या ऐसा नहीं है कि समीकरण में "एम युगों के साथ SGD के लिए एक पुनरावृत्त एल्गोरिथ्म नीचे दिया गया है" हम प्रत्येक मिनी-बैच पर चलने के बाद वजन अपडेट करेंगे। दूसरे शब्दों में, एपोक पर लूप के अंदर एक और लूप (सी मिनी बैच के ऊपर) नहीं होना चाहिए, जबकि टी <एम
कौशिक आचार्य

2
आंकड़ों में, एक नमूना में कई अवलोकन होते हैं। इसलिए, नमूना आकार की व्याख्या सही ढंग से सांख्यिकीविदों द्वारा की जाती है। कंप्यूटर विज्ञान में (विशेष रूप से, मशीन सीखने में) एक नमूना एक अवलोकन है और एक बैच नमूनों का संग्रह है। यह थोड़ा भ्रमित करने वाला हो सकता है। सांख्यिकीविदों का एक नमूना डेटा वैज्ञानिकों का एक समूह है;) स्रोत: en.wikipedia.org/wiki/Sample_size_determination
ओलेग मेलनिकोव

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