न्यूरल नेटवर्क: प्लेग्राउंड एक्सरसाइज़

पहला न्यूरल नेटवर्क

इस व्यायाम में, हम अपने पहले छोटे न्यूरल नेट को ट्रेनिंग देंगे. न्यूरल नेट हमें अश्लील सुविधाओं का इस्तेमाल किए बिना, लीनियर मॉडल सीखने का तरीका बताएंगे.

टास्क 1: दिया गया मॉडल हमारी दो इनपुट सुविधाओं को एक न्यूरॉन में जोड़ता है. क्या यह मॉडल कोई गैर- मशहूरता सीखेगा? अपने अनुमान की पुष्टि करने के लिए इसे चलाएं.

टास्क 2: छिपी हुई परत में, न्यूरॉन की संख्या को 1 से बढ़ाकर 2 करने की कोशिश करें. साथ ही, लीनियर ऐक्टिवेशन को ReLU जैसे बिना लीनियर ऐक्टिवेशन से बदलकर भी देखें. क्या आप ऐसा मॉडल बना सकते हैं जो लीनियर डेटा को सीख सके? क्या यह डेटा को असरदार तरीके से मॉडल कर सकता है?

टास्क 3: ReLU जैसे बिना लीनियर ऐक्टिवेशन का इस्तेमाल करके, छिपी हुई लेयर में मौजूद न्यूरॉन की संख्या को 2 से 3 तक बढ़ाने की कोशिश करें. क्या यह डेटा को असरदार तरीके से मॉडल कर सकता है? मॉडल की क्वालिटी, अलग-अलग रन कैसे होती है?

टास्क 4: हर लेयर में छिपाई गई लेयर या न्यूरॉन को जोड़कर या हटाकर, प्रयोग जारी रखना. सीखने की दरों, सामान्य बनाने, और सीखने की दूसरी सेटिंग में भी बदलाव करें. न्यूरॉन और लेयर की ऐसी सबसे छोटी संख्या जो इस्तेमाल की जा सकती है, लेकिन जो 0.177 या उससे कम के टेस्ट लॉस का फ़ायदा देती है?

क्या मॉडल का साइज़ बढ़ाने से फ़िट हो जाता है या यह कितनी तेज़ी से बढ़ता है? क्या यह बदलता है कि यह किसी अच्छे मॉडल के लिए कितनी बार मिलता-जुलता है? उदाहरण के लिए, यह आर्किटेक्चर देखें:

  • तीन न्यूरॉन की पहली छिपी हुई लेयर.
  • 3 न्यूरॉन के साथ दूसरी छिपी हुई लेयर.
  • 2 न्यूरॉन के साथ तीसरी छिपी हुई लेयर.

(जवाब, कसरत के ठीक नीचे दिखते हैं.)



न्यूरल नेट इनीशियलाइज़ेशन

यह एक्सरसाइज़, XOR डेटा को फिर से इस्तेमाल करता है. हालांकि, इसमें न्यूरल नेट्स की ट्रेनिंग के साथ-साथ, इनीशियलाइज़ेशन की अहमियत को भी देखा जाता है.

टास्क 1: चार या पांच बार दिए गए मॉडल को चलाएं. हर बार आज़माने से पहले, एक नया रैंडम इनीशियलाइज़ेशन पाने के लिए नेटवर्क रीसेट करें बटन दबाएं. 'नेटवर्क रीसेट करें' बटन, 'चलाएं' बटन के बाईं ओर होता है और गोल आकार में रीसेट होता है. सभी शर्तें पूरी करने के लिए, हर ट्रायल को कम से कम 500 चरणों पर चलने दें. हर मॉडल आउटपुट किस तरह से इकट्ठा होता है? बिना कन्वर्ज़न वाले ऑप्टिमाइज़ेशन में इनीशियलेशन करने के बारे में क्या कहना है?

टास्क 2: एक लेयर और कुछ और नोड जोड़कर मॉडल को थोड़ा और जटिल बनाने की कोशिश करें. टास्क 1 से ट्रायल दोहराएं. क्या इससे नतीजों में कोई और स्थिरता जुड़ी है?

(जवाब, कसरत के ठीक नीचे दिखते हैं.)



न्यूरल नेट सर्कुलर

यह डेटा सेट शोर वाले दायरे में है. ज़ाहिर है, यहां एक लीनियर मॉडल काम नहीं करेगा, लेकिन मैन्युअल तरीके से तय किए गए फ़ीचर क्रॉस भी बनाना मुश्किल हो सकते हैं.

टास्क 1: सिर्फ़ X1 और X2 का इस्तेमाल करके, सबसे अच्छे मॉडल को ट्रेनिंग दें. लेयर और न्यूरॉन को बेझिझक जोड़ें या हटाएं. लर्निंग रेट में बदलाव करें. जैसे- लर्निंग रेट, रेगुलराइज़ेशन रेट, और बैच साइज़. आपको टेस्ट के लिए सबसे अच्छा क्या मिल सकता है? मॉडल आउटपुट सर्फ़ेस कितना सहज है?

टास्क 2: न्यूरल नेट्स के साथ भी, बेहतरीन परफ़ॉर्मेंस पाने के लिए कई फ़ीचर इंजीनियरिंग की ज़रूरत होती है. प्रॉडक्ट में और सुविधाएं शामिल करें. जैसे, sin(X1) और sin(X2) को बदलें. क्या आपको बेहतर मॉडल मिलता है? क्या मॉडल आउटपुट किसी भी तरह से आसानी से दिखाई देता है?

(जवाब, कसरत के ठीक नीचे दिखते हैं.)