'युग', 'बैच' और 'मिनीबैच' में क्या अंतर हैं?


37

जहाँ तक मुझे पता है, स्टोचैस्टिक ग्रेडिएंट डिसेंट को लर्निंग एल्गोरिथम के रूप में अपनाते समय, कोई व्यक्ति पूर्ण डेटासेट के लिए 'युग', और एकल अद्यतन चरण में उपयोग किए गए डेटा के लिए 'बैच' का उपयोग करता है, जबकि दूसरा क्रमशः 'बैच' और 'मिनीबैच' का उपयोग करता है, और अन्य लोग 'युग' और 'मिनीबैच' का उपयोग करते हैं। यह चर्चा करते समय बहुत भ्रम लाता है।

तो सही क्या कह रहा है? या वे केवल बोलियाँ हैं जो सभी स्वीकार्य हैं?

जवाबों:


24
  • एपोच का अर्थ है पूर्ण प्रशिक्षण सेट पर एक पास
  • बैच का मतलब है कि आप एक पुनरावृत्ति के दौरान ढाल की गणना करने के लिए अपने सभी डेटा का उपयोग करते हैं।
  • मिनी-बैच का मतलब है कि आप केवल एक पुनरावृत्ति के दौरान अपने सभी डेटा का एक सबसेट ले सकते हैं।

15

आमतौर पर एक युग का अर्थ है कि आपका एल्गोरिथ्म एक बार प्रत्येक प्रशिक्षण उदाहरण को देखता है । अब आपके पास प्रशिक्षण उदाहरण हैं:n

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

यदि आप बैच-आकार = साथ मिनी-बैच अपडेट चलाते हैं , तो प्रत्येक पैरामीटर अपडेट के लिए आपके एल्गोरिदम को n प्रशिक्षण इंस्टेंस के b को देखने की आवश्यकता होती है , अर्थात, आपके प्रत्येक पैरामीटर को n / b समय के बारे में अपडेट किया जाता है।bbnn/b

nn


4

"एपोच" आमतौर पर प्रशिक्षण डेटा के पूरे सेट के लिए एक लर्निंग एल्गोरिदम को उजागर करने का मतलब है। यह हमेशा समझ में नहीं आता क्योंकि हम कभी-कभी डेटा उत्पन्न करते हैं।

"बैच" और "मिनीबैच" भ्रामक हो सकते हैं।

प्रशिक्षण के उदाहरणों को कभी-कभी "बैचेड" होने की आवश्यकता होती है क्योंकि सभी डेटा को आवश्यक रूप से एक बार एल्गोरिथ्म में उजागर नहीं किया जा सकता है (आमतौर पर मेमोरी की कमी के कारण)।

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


क्या आप अंतिम पैराग्राफ के बारे में निश्चित हैं? मैंने सोचा कि "बैचेड" SGD एक बहुत ही सटीक ढाल को धीरे-धीरे गणना करने के लिए एक युग में सभी डेटा का उपयोग करता है। आपका अंतिम वाक्य 1 आकार के मिनी-बैच जैसा लगता है।
मैट क्रूस

इसके अलावा, वेलिडेट में आपका स्वागत है!
मैट क्रूस

यूप, ओरिजिनल SGD का आकार छोटा-छोटा है। मुझे लगता है कि यह अंततः सॉफ्टवेयर लेखक की व्याख्या पर निर्भर करता है। बहुत बार बैच == मिनी-बैच, प्रलेखन के बिना कभी भी "मिनी-बैच" का उल्लेख नहीं करता है।
फेरूशेवेल

इर्र, मुझे लगता है कि मेरा मतलब था कि जीडी सभी डेटा का उपयोग करता है। मैं आमतौर पर बैच और मिनीबैच का उपयोग परस्पर रूप से करता हूं, लेकिन "मिनी-बैच" जब मैं इंगित करना चाहता हूं कि यह वास्तव में बहुत छोटा है ...
मैट क्रूस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.