हाइपर पैरामीटर वैरिएबल होते हैं जो ट्रेनिंग के अलग-अलग पहलुओं को कंट्रोल करती हैं. तीन सामान्य हाइपर पैरामीटर हैं:
वहीं दूसरी ओर, पैरामीटर वैरिएबल, जैसे कि वेट और बायस, जो कि मॉडल के हिस्से हों. तय सीमा में दूसरे शब्दों में, हाइपर पैरामीटर वे वैल्यू होती हैं जिन्हें आपने कंट्रोल किया है; पैरामीटर का मतलब मान होता है इसका हिसाब मॉडल, ट्रेनिंग के दौरान लगाता है.
सीखने की दर
लर्निंग रेट आपका सेट किया गया फ़्लोटिंग पॉइंट नंबर, इस बात पर असर डालता है कि मॉडल एक-दूसरे से मिलते-जुलते हैं. अगर लर्निंग रेट बहुत कम है, तो मॉडल को प्रोसेस होने में ज़्यादा समय लग सकता है मदद मिल सकती है. हालांकि, अगर सीखने की दर बहुत ज़्यादा है, तो मॉडल मेल खाता है, लेकिन वह उन वज़न और पूर्वाग्रह के आस-पास बाउंस हो जाता है जो नुकसान. इसका मकसद ऐसी लर्निंग रेट चुनना है जो न तो बहुत ज़्यादा हो और न ही बहुत कम हो कि मॉडल तेज़ी से इकट्ठा हो जाए.
लर्निंग रेट से, महत्व में किए जाने वाले बदलावों का असर तय होता है और फ़र्क़ नज़र आता है. मॉडल एक से दूसरे मॉडल का गुणा करता है मॉडल के पैरामीटर (वेट) को तय करने के लिए, लर्निंग रेट के हिसाब से ग्रेडिएंट और बायस वैल्यू) का इस्तेमाल करें. ग्रेडिएंट नाम की सेटिंग के तीसरे चरण में नीचे, "छोटी रकम" दिशा में चलने के लिए नेगेटिव स्लोप का मतलब लर्निंग रेट से है.
पुराने मॉडल पैरामीटर और नए मॉडल पैरामीटर में यह अंतर होता है जो नुकसान फ़ंक्शन के स्लोप के अनुपात में होता है. उदाहरण के लिए, अगर स्लोप तो मॉडल एक बड़ा कदम उठाता है. अगर छोटा है, तो एक छोटा सा कदम उठाता है. इसके लिए उदाहरण के लिए, अगर ग्रेडिएंट का मैग्निट्यूड 2.5 है और लर्निंग रेट 0.01 है, तो मॉडल, पैरामीटर को 0.025 तक बदल देगा.
सीखने की आदर्श दर से, मॉडल को तय की गई संख्या तक पहुंचने में मदद मिलती है बार-बार किया जा सकता है. इमेज 21 में, लॉस कर्व मॉडल को अहम तरीके से दिखाता है पहली 20 बार में सुधार किया जा रहा है. इससे पहले ये सुधार किए जा सकेंगे:
इमेज 21. लॉस ग्राफ़ में एक ऐसे मॉडल को दिखाया गया है जिसे लर्निंग रेट के हिसाब से ट्रेनिंग दी गई है तेज़ी से इकट्ठा होता है.
इसके उलट, बहुत कम सीखने की दर कई बार दोहराई जाती है एक साथ दिखाना. इमेज 22 में, लॉस कर्व को दिखाया गया है कि मॉडल को सिर्फ़ मामूली बनाया जा रहा है हर बार के बाद सुधार दिखेंगे:
इमेज 22. लॉस ग्राफ़, जिसमें एक ऐसे मॉडल को दिखाया गया है जिसे ट्रेनिंग दी गई है. साथ ही, इस मॉडल को सीखने की दर कम है.
बहुत ज़्यादा सीखने की दर कभी एक-दूसरे से मेल नहीं खाती, क्योंकि हर बार एक बार फिर से बदलाव होने पर, जिससे नुकसान होता है या लगातार बढ़ता है. इमेज 23 में, नुकसान कर्व, हर बार दोहराए जाने के बाद, मॉडल को घटते और बढ़ते हुए दिखाता है. और इमेज 24 में, बाद के दोहराए जाने पर नुकसान में बढ़ोतरी होती है:
इमेज 23. लॉस ग्राफ़ में एक मॉडल दिखाया गया है. इस मॉडल को सीखने की दर के हिसाब से ट्रेनिंग दी गई है यह बहुत बड़ा है, जिसमें लॉस कर्व बहुत तेज़ी से बदलता रहता है और दोहराव बढ़ जाता है.
इमेज 24. लॉस ग्राफ़ में एक मॉडल दिखाया गया है. इस मॉडल को सीखने की दर के हिसाब से ट्रेनिंग दी गई है बहुत बड़ा है, जहां लॉस कर्व बाद की घटनाओं में बहुत तेज़ी से बढ़ जाता है.
व्यायाम: अपनी समझ की जांच करें
बैच का साइज़
बैच साइज़ एक हाइपर पैरामीटर है, जो उन उदाहरणों की संख्या का रेफ़रंस देता है जिन्हें मॉडल, अपने वेट अपडेट करने से पहले प्रोसेस करता है और पक्षपात करना. आप सोच सकते हैं कि मॉडल को सभी के लिए नुकसान का हिसाब लगाना चाहिए उदाहरण के तौर पर दिया गया है. हालांकि, जब किसी डेटासेट में लाखों उदाहरण मौजूद हैं, जिनमें पूरा बैच व्यावहारिक नहीं है.
बिना किसी ज़रूरत के औसत पर सही ग्रेडिएंट पाने की दो सामान्य तकनीकें वेट और पूर्वाग्रह को अपडेट करने से पहले डेटासेट में हर उदाहरण पर स्टोकैस्टिक ग्रेडिएंट ढलान और मिनी-बैच स्टोकेस्टिक ग्रेडिएंट नीचे जाना:
स्टोकेस्टिक ग्रेडिएंट डीसेंट (एसजीडी): स्टॉकास्टिक ग्रेडिएंट ढलान सिर्फ़ इस्तेमाल होता है हर बार के हिसाब से एक उदाहरण (एक बैच साइज़) का इस्तेमाल करें. काफ़ी दिया गया बार-बार, SGD काम करता है, लेकिन इसमें बहुत शोर है. "शोर" के दौरान अलग-अलग ऐसी ट्रेनिंग जो पहले से घटने के बजाय नुकसान को बढ़ा सकती है बार-बार इस्तेमाल करना. "स्टोकैस्टिक" शब्द यह बताता है कि इसका एक उदाहरण है हर बैच को किसी भी क्रम में चुना जाता है.
नीचे दी गई इमेज में देखें कि कैसे लॉस मॉडल में थोड़ा उतार-चढ़ाव होता है SGD का इस्तेमाल करके, अपने वज़न और पक्षपात को अपडेट करता है. इससे नुकसान की आशंका पैदा हो सकती है ग्राफ़:
इमेज 25. स्टोहैटिक ग्रेडिएंट डिसेंट (एसजीडी) के साथ ट्रेन किया गया मॉडल दिख रहा है लॉस कर्व में नॉइज़ कर सकती है.
ध्यान दें कि स्टोकैस्टिक ग्रेडिएंट ढलान का उपयोग करने से पूरे घंटे में शोर हो सकता है पूरा लॉस कर्व होता है, न कि सिर्फ़ कन्वर्जेंस के पास.
मिनी-बैच स्टोकेस्टिक ग्रेडिएंट डिसेंट (मिनी-बैच SGD): मिनी-बैच स्टोकेस्टिक ग्रेडिएंट ढलान, फ़ुल-बैच और एसजीडी के बीच एक समझौता है. इसके लिए $ N $ डेटा पॉइंट की संख्या, बैच का साइज़ 1 से बड़ी कोई भी संख्या हो सकती है और $ N $ से कम. मॉडल, हर बैच में शामिल उदाहरण चुनता है किसी भी क्रम में, उनके ग्रेडिएंट का औसत करता है और फिर वज़न और पूर्वाग्रह को अपडेट करता है बार-बार इस्तेमाल नहीं करना होगा.
हर बैच के लिए उदाहरणों की संख्या तय करना, डेटासेट और तो उपलब्ध कंप्यूट संसाधन. आम तौर पर, छोटे बैच साइज़ इस तरह काम करते हैं SGD और बड़े बैच साइज़, फ़ुल-बैच ग्रेडिएंट डिसेंट की तरह काम करते हैं.
इमेज 26. इस मॉडल को मिनी-बैच SGD से ट्रेनिंग दी गई है.
मॉडल को ट्रेनिंग देते समय, आप सोच सकती हैं कि शोर की वजह से विशेषता है जिसे खत्म करना ज़रूरी है. हालांकि, कुछ हद तक शोर की वजह से अच्छा होगा. बाद के मॉड्यूल में, आपको यह पता चलेगा कि शोर की वजह से किसी मॉडल को कैसे मदद मिल सकती है सामान्य बनाकर बेहतर तरीके से समझें और न्यूरल में इष्टतम भार और पूर्वाग्रह नेटवर्क से कनेक्ट होता है.
युग (एपक)
ट्रेनिंग के दौरान, epoch का मतलब है कि मॉडल ने ट्रेनिंग सेट के हर उदाहरण को एक बार प्रोसेस कर दिया है. उदाहरण के लिए, एक ट्रेनिंग सेट,जिसमें 1, 000 उदाहरण और मिनी-बैच का साइज़ 100 उदाहरण हैं. मॉडल 10 दोहरावों को एक epoch पूरा करें.
ट्रेनिंग के लिए आम तौर पर, कई epoch का इस्तेमाल किया जाता है. इसका मतलब है कि सिस्टम को हर उदाहरण को कई बार सेट किया जाता है.
Epoch की संख्या, ऐसा हाइपर पैरामीटर है जिसे मॉडल शुरू होने से पहले सेट किया जाता है ट्रेनिंग ली हुई है. कई मामलों में, आपको यह देखना होगा कि कितने epoch का इस्तेमाल किया जाता है मॉडल को समझने के लिए किया जा सकता है. सामान्य तौर पर, ज़्यादा epoch का मॉडल बेहतर होता है. हालांकि, ट्रेनिंग में भी ज़्यादा समय लगता है.
इमेज 27. पूरा बैच बनाम मिनी बैच.
नीचे दी गई टेबल में यह बताया गया है कि बैच साइज़ और epoch का कितनी बार मॉडल अपने पैरामीटर अपडेट करता है.
बैच टाइप | जब वेट और बायस अपडेट होते हैं |
---|---|
पूरा बैच | जब मॉडल, डेटासेट में दिए गए सभी उदाहरण देखता है. उदाहरण के लिए, अगर किसी डेटासेट में 1,000 उदाहरण हैं और मॉडल 20 युगों के लिए ट्रेनिंग लेता है, यह मॉडल, हर epoch के लिए, वेट और बायस को 20 बार अपडेट करता है. |
स्टॉकास्टिक ग्रेडिएंट ढलान | इसके बाद, यह मॉडल डेटासेट से एक उदाहरण देखता है. उदाहरण के लिए, अगर डेटासेट में यह मॉडल, वज़न और पक्षपात को 20,000 बार अपडेट करता है. |
मिनी-बैच स्टोकेस्टिक ग्रेडिएंट ढलान | इसके बाद, मॉडल हर बैच में दिए गए उदाहरणों पर गौर करता है. उदाहरण के लिए, अगर किसी डेटासेट में 1,000 उदाहरण हैं और बैच का साइज़ 100 है, और यह मॉडल 20 युगों के लिए ट्रेनिंग देता है, फिर मॉडल हर युग के वेटेज को अपडेट करता है और पक्षपात को 200 गुना बढ़ा देते हैं. |