नॉनलाइनैरिटी सीखने वाले न्यूरल नेटवर्क का निर्माण करने के लिए, निम्नलिखित परिचित मॉडल संरचना से शुरू करें: $y' = b + w_1x_1 + w_2x_2 + w_3x_3$ के रूप में एक रैखिक मॉडल ।
हम इस समीकरण को नीचे दिखाए गए अनुसार देख सकते हैं, जहाँ $x_1$, $x_2$, और $x_3$ हमारे तीन इनपुट नोड (नीले रंग में) हैं, और $y'$ हमारा आउटपुट नोड (हरे रंग में) है।
अभ्यास 1
ऊपर दिए गए मॉडल में, भार और पूर्वाग्रह मानों को यादृच्छिक रूप से आरंभ किया गया है। इंटरफ़ेस से परिचित होने और रैखिक मॉडल को समझने के लिए निम्नलिखित कार्य करें। आप अभी के लिए सक्रियण फ़ंक्शन ड्रॉपडाउन को अनदेखा कर सकते हैं; हम इस विषय पर मॉड्यूल में आगे चर्चा करेंगे।
इनपुट मान $x_1 = 1.00$, $x_2 = 2.00$, और $x_3 = 3.00$ के लिए आउटपुट नोड का मान ज्ञात करने के लिए नेटवर्क के ऊपर स्थित प्ले (▶️) बटन पर क्लिक करें।
इनपुट लेयर में दूसरे नोड पर क्लिक करें और मान को 2.00 से बढ़ाकर 2.50 कर दें। ध्यान दें कि आउटपुट नोड का मान बदल जाता है। आउटपुट नोड्स (हरे रंग में) का चयन करें और गणना पैनल की समीक्षा करके देखें कि आउटपुट मान की गणना कैसे की गई।
आउटपुट नोड (हरे रंग में) पर क्लिक करके वेट ($w_1$, $w_2$, $w_3$) और बायस ($b$) पैरामीटर मान देखें। $w_3$ के लिए वेट मान घटाएँ (ध्यान दें कि आउटपुट नोड का मान और नीचे की गणनाएँ बदल गई हैं)। फिर, बायस मान बढ़ाएँ। देखें कि इन परिवर्तनों ने मॉडल आउटपुट को कैसे प्रभावित किया है।
नेटवर्क में परतें जोड़ना
ध्यान दें कि अभ्यास 1 में नेटवर्क के भार और पूर्वाग्रह मानों को समायोजित करने से इनपुट और आउटपुट के बीच समग्र गणितीय संबंध में कोई परिवर्तन नहीं हुआ। हमारा मॉडल अभी भी एक रैखिक मॉडल है।
लेकिन क्या होगा यदि हम इनपुट लेयर और आउटपुट लेयर के बीच नेटवर्क में एक और लेयर जोड़ दें? न्यूरल नेटवर्क शब्दावली में, इनपुट लेयर और आउटपुट लेयर के बीच की अतिरिक्त लेयर्स को हिडन लेयर्स कहा जाता है, और इन लेयर्स में मौजूद नोड्स को न्यूरॉन्स कहा जाता है।
हिडन लेयर में प्रत्येक न्यूरॉन का मान लीनियर मॉडल के आउटपुट की तरह ही गणना किया जाता है: इसके प्रत्येक इनपुट (नेटवर्क की पिछली लेयर के न्यूरॉन) और एक विशिष्ट वेट पैरामीटर के गुणनफल का योगफल, साथ ही बायस, जोड़कर गणना की जाती है। इसी प्रकार, अगली लेयर (यहां, आउटपुट लेयर) के न्यूरॉन की गणना हिडन लेयर के न्यूरॉन मानों को इनपुट के रूप में उपयोग करके की जाती है।
यह नई हिडन लेयर हमारे मॉडल को पैरामीटर के एक अन्य सेट का उपयोग करके इनपुट डेटा को पुनर्संयोजित करने की अनुमति देती है। क्या इससे हमारे मॉडल को नॉन-लीनियर संबंधों को सीखने में मदद मिल सकती है?
अभ्यास 2
हमने मॉडल में चार न्यूरॉन्स वाली एक हिडन लेयर जोड़ी है।
इनपुट मान $x_1 = 1.00$, $x_2 = 2.00$, और $x_3 = 3.00$ के लिए चार हिडन-लेयर नोड्स और आउटपुट नोड के मान की गणना करने के लिए नेटवर्क के ऊपर प्ले (▶️) बटन पर क्लिक करें।
फिर मॉडल का अध्ययन करें और इसका उपयोग करके निम्नलिखित प्रश्नों के उत्तर दें।
मॉडल के मापदंडों को संशोधित करने का प्रयास करें और छिपे हुए स्तर के नोड मानों और आउटपुट मान पर इसके प्रभाव का निरीक्षण करें (आप यह देखने के लिए नीचे दिए गए गणना पैनल की समीक्षा कर सकते हैं कि इन मानों की गणना कैसे की गई थी)।
क्या यह मॉडल नॉनलाइनैरिटी सीख सकता है?
यदि आप छिपी हुई परत में प्रत्येक नोड पर क्लिक करते हैं और नीचे की गणनाओं की समीक्षा करते हैं, तो आप देखेंगे कि वे सभी रैखिक हैं (गुणा और जोड़ संक्रियाओं से युक्त)।
यदि आप आउटपुट नोड पर क्लिक करके नीचे दी गई गणना की समीक्षा करते हैं, तो आप देखेंगे कि यह गणना भी रैखिक है। रैखिक गणनाओं के आउटपुट पर की गई रैखिक गणनाएँ भी रैखिक होती हैं, जिसका अर्थ है कि यह मॉडल अरैखिकताओं को नहीं सीख सकता।