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