पांचवां चरण: हाइपरपैरामीटर को ट्यून करना

हमें मॉडल को तय करने और उसकी ट्रेनिंग के लिए कई हाइपरपैरामीटर चुनने थे. हमने सुझाव, उदाहरण, और सबसे सही तरीकों के सुझावों पर भरोसा किया. हालांकि, हाइपरपैरामीटर वैल्यू के लिए हमारा पहला विकल्प, सबसे अच्छे नतीजे नहीं दे सकता. इससे हमें ट्रेनिंग देने के लिए अच्छी शुरुआत मिलती है. हर समस्या अलग होती है और इन हाइपरपैरामीटर को ट्यून करने से, हमारे मॉडल को बेहतर बनाने में मदद मिलती है. इसकी मदद से, समस्या की खासियत को बेहतर तरीके से दिखाया जा सकता है. आइए, इस्तेमाल किए गए कुछ हाइपरपैरामीटर के बारे में जानें. साथ ही, यह भी जानें कि उन्हें लागू करने का क्या मतलब है:

  • मॉडल में लेयर की संख्या: न्यूरल नेटवर्क में लेयर की संख्या, इसकी जटिलता का संकेत होती है. इस वैल्यू को चुनने में सावधानी बरतें. बहुत सारी लेयर की मदद से, मॉडल ट्रेनिंग के डेटा के बारे में बहुत ज़्यादा जानकारी पा सकता है. इस वजह से, मॉडल को ज़रूरत से ज़्यादा फ़िट हो सकता है. बहुत कम लेयर की वजह से, मॉडल की लर्निंग की क्षमता कम हो सकती है. इस वजह से, फ़िटिंग कम हो जाती है. टेक्स्ट क्लासिफ़िकेशन डेटासेट के लिए, हमने एक, दो, और तीन लेयर वाले एमएलपी के साथ प्रयोग किया. दो लेयर वाले मॉडल अच्छा परफ़ॉर्म करते हैं. कुछ मामलों में ये तीन लेयर वाले मॉडल से बेहतर होते हैं. इसी तरह, हमने चार और छह लेयर वाले sepCNN का इस्तेमाल किया और चार लेयर वाले मॉडल ने अच्छा परफ़ॉर्म किया.

  • हर लेयर के लिए यूनिट की संख्या: लेयर की इकाइयों में, लेयर के बदलाव की जानकारी होनी चाहिए. पहली लेयर के लिए, यह सुविधाओं की संख्या के आधार पर तय होता है. बाद की लेयर में, इकाइयों की संख्या पिछली लेयर से प्रतिनिधित्व को बढ़ाने या अनुबंध करने के विकल्प पर निर्भर करती है. लेयर के बीच जानकारी खोने को कम करने की कोशिश करें. हमने [8, 16, 32, 64] रेंज में इकाई वैल्यू का इस्तेमाल किया और 32/64 यूनिट ने अच्छा काम किया.

  • ड्रॉपआउट रेट: ड्रॉप-आउट लेयर का इस्तेमाल, मॉडल में सामान्य बनाने के लिए किया जाता है. ज़्यादा इनपुट के लिए, एहतियात के तौर पर इनपुट के अंश को हटा दिया जाता है. सुझाई गई सीमा: 0.2–0.5.

  • लर्निंग रेट: वह दर जिस पर बदलावों के बीच न्यूरल नेटवर्क के महत्व में बदलाव होता है. लर्निंग की बड़ी दर की वजह से वेट में बदलाव हो सकता है और हमें कभी भी उनकी सबसे अच्छी वैल्यू का पता नहीं चल सकता. कम लर्निंग रेट अच्छा है, लेकिन मॉडल में बार-बार बदलाव होगा. अच्छी शुरुआत के लिए, 1-4 से देखना अच्छा रहता है. अगर ट्रेनिंग बहुत धीमी है, तो यह वैल्यू बढ़ाएं. अगर आपका मॉडल सीख नहीं रहा है, तो सीखने की दर को कम करें.

हमने ऐसे कुछ और हाइपरपैरामीटर इस्तेमाल किए हैं जो खास तौर पर, हमारे sepCNN मॉडल के लिए बनाए गए हैं:

  1. कर्नेल का साइज़: कॉन्वोलेशन विंडो का साइज़. सुझाई गई वैल्यू: 3 या 5.

  2. एम्बेड करने वाले डाइमेंशन: डाइमेंशन की संख्या, जिनका इस्तेमाल हम शब्द को एम्बेड करने के लिए करना चाहते हैं. इसका मतलब है कि हर शब्द वेक्टर का साइज़. सुझाई गई वैल्यू: 50 से 300. अपने प्रयोगों में, हमने GloVe को एम्बेड करने की सुविधा का इस्तेमाल करके, पहले से प्रशिक्षित एम्बेड करने वाली लेयर के साथ 200 डाइमेंशन का इस्तेमाल किया.

इन हाइपरपैरामीटर के साथ खेलें और देखें कि क्या सबसे अच्छा काम करता है. जब आप उपयोग के उदाहरण के लिए, सबसे अच्छा परफ़ॉर्म करने वाले हाइपरपैरामीटर चुन लेते हैं, तो आपका मॉडल इस्तेमाल के लिए तैयार हो जाता है.