बैच का आकार नमूने है कि नेटवर्क के माध्यम से प्रचारित किया जाएगा की संख्या को परिभाषित करता है।
उदाहरण के लिए, मान लें कि आपके पास 1050 प्रशिक्षण नमूने हैं और आप batch_size
100 के बराबर सेट करना चाहते हैं । एल्गोरिथ्म पहले 100 नमूने लेता है (1 से 100 वें तक) प्रशिक्षण डाटासेट से और नेटवर्क को प्रशिक्षित करता है। अगला, यह दूसरे 100 नमूने लेता है (101 वें से 200 वें तक) और फिर से नेटवर्क को प्रशिक्षित करता है। हम इस प्रक्रिया को तब तक कर सकते हैं जब तक कि हमने नेटवर्क के माध्यम से सभी नमूनों का प्रचार नहीं कर लिया। नमूने के अंतिम सेट के साथ समस्या हो सकती है। हमारे उदाहरण में, हमने 1050 का उपयोग किया है जो शेष के बिना 100 से विभाज्य नहीं है। सबसे सरल उपाय केवल अंतिम 50 नमूने प्राप्त करना और नेटवर्क को प्रशिक्षित करना है।
बैच आकार का उपयोग करने के लाभ <सभी नमूनों की संख्या:
इसके लिए कम मेमोरी की आवश्यकता होती है। चूंकि आप कम नमूनों का उपयोग करके नेटवर्क को प्रशिक्षित करते हैं, इसलिए समग्र प्रशिक्षण प्रक्रिया में कम मेमोरी की आवश्यकता होती है। यह विशेष रूप से महत्वपूर्ण है यदि आप अपने मशीन की मेमोरी में पूरे डेटासेट को फिट करने में सक्षम नहीं हैं।
आमतौर पर नेटवर्क मिनी-बैचों के साथ तेजी से प्रशिक्षित होते हैं। ऐसा इसलिए है क्योंकि हम प्रत्येक प्रसार के बाद वजन को अपडेट करते हैं। हमारे उदाहरण में हमने 11 बैचों का प्रचार किया है (उनमें से 10 में 100 नमूने थे और 1 में 50 नमूने थे) और उनमें से प्रत्येक के बाद हमने अपने नेटवर्क के मापदंडों को अपडेट किया है। यदि हमने प्रचार के दौरान सभी नमूनों का उपयोग किया है तो हम नेटवर्क के पैरामीटर के लिए केवल 1 अपडेट करेंगे।
बैच आकार का उपयोग करने के नुकसान <सभी नमूनों की संख्या:
- बैच जितना छोटा होगा ढाल का अनुमान उतना ही कम होगा। नीचे दिए गए आंकड़े में, आप देख सकते हैं कि मिनी-बैच ढाल (हरा रंग) की दिशा पूर्ण बैच ढाल (नीले रंग) की दिशा की तुलना में बहुत अधिक उतार-चढ़ाव करती है।
स्टोचस्टिक सिर्फ batch_size
1 के बराबर एक मिनी-बैच है । उस स्थिति में, ढाल एक मिनी-बैच ढाल की तुलना में अपनी दिशा को और भी अधिक बार बदल देता है।