{count, plural, one {कोर्स} other {कोर्स}}

कृत्रिम न्यूरल नेटवर्क (ANNs) में शुरुआती अक्सर कुछ सवाल पूछते हैं। इनमें से कुछ सवाल हैं: कितनी हिडन परतें इस्तेमाल करें? प्रत्येक हिडन परत में कितने हिडन न्यूरॉन हों? हिडन परतों/न्यूरॉनों का उद्देश्य क्या है? क्या हिडन परतों/न्यूरॉनों की संख्या बढ़ाने से हमेशा बेहतर परिणाम मिलते हैं? मुझे बताते हुए खुशी हो रही है कि हम ऐसे सवालों के जवाब दे सकते हैं। स्पष्ट रहे, यदि हल की जा रही समस्या जटिल है तो ऐसे सवालों के जवाब देना भी काफी जटिल हो सकता है। इस लेख के अंत तक, आपको कम से कम यह समझ आ जाएगा कि इन सवालों के जवाब कैसे दिए जाते हैं और आप सरल उदाहरणों के आधार पर खुद परीक्षण कर सकेंगे।

परिचय
ANN जैविक न्यूरल नेटवर्क से प्रेरित है। सरलता के लिए, कंप्यूटर विज्ञान में इसे परतों के एक सेट के रूप में दर्शाया जाता है। इन परतों को तीन श्रेणियों में बाँटा जाता है: इनपुट, हिडन, और आउटपुट।
इनपुट और आउटपुट परतों की संख्या और उनमें न्यूरॉनों की संख्या जानना सबसे आसान हिस्सा है। हर नेटवर्क में एक इनपुट और एक आउटपुट परत होती है। इनपुट परत में न्यूरॉनों की संख्या उस डेटा में इनपुट वेरिएबल्स की संख्या के बराबर होती है जिसका प्रसंस्करण हो रहा है। आउटपुट परत में न्यूरॉनों की संख्या प्रत्येक इनपुट से जुड़े आउटपुट की संख्या के बराबर होती है। लेकिन चुनौती हिडन परतों और उनके न्यूरॉनों की संख्या जानने में है।
किसी वर्गीकरण समस्या में प्रत्येक हिडन परत के लिए हिडन परतों और न्यूरॉनों की संख्या जानने के कुछ दिशानिर्देश नीचे दिए गए हैं:
- डेटा के आधार पर, कक्षाओं को अलग करने के लिए एक अपेक्षित निर्णय सीमा (decision boundary) बनाएं।
- निर्णय सीमा को रेखाओं के एक सेट के रूप में व्यक्त करें। ध्यान दें कि ऐसी रेखाओं का संयोजन मिलकर निर्णय सीमा दे।
- चुनी गई रेखाओं की संख्या पहली हिडन परत में हिडन न्यूरॉनों की संख्या दर्शाती है।
- पिछली परत द्वारा बनाई गई रेखाओं को आपस में जोड़ने के लिए एक नई हिडन परत जोड़ी जाती है। ध्यान दें कि जब भी पिछली हिडन परत की रेखाओं के बीच कनेक्शन बनाने की आवश्यकता हो, तब एक नई हिडन परत जोड़ी जाती है।
- हर नई हिडन परत में हिडन न्यूरॉनों की संख्या बनने वाले कनेक्शनों की संख्या के बराबर होती है।
बात को और स्पष्ट करने के लिए, आइए इन दिशानिर्देशों को कुछ उदाहरणों पर लागू करें।
उदाहरण एक
आइए दो कक्षाओं वाली एक सरल वर्गीकरण समस्या से शुरू करें जैसा कि निम्न चित्र में दिखाया गया है। प्रत्येक सैंपल में दो इनपुट और एक आउटपुट है जो क्लास लेबल को दर्शाता है। यह XOR समस्या से काफी मिलता-जुलता है।

सबसे पहले यह जवाब देना है कि क्या हिडन परतों की आवश्यकता है या नहीं। इसे तय करने के लिए एक नियम यह है:
कृत्रिम न्यूरल नेटवर्क में हिडन परतें तभी और केवल तभी आवश्यक होती हैं जब डेटा को गैर-रेखीय रूप से अलग करना पड़े।
अगले चित्र को देखकर लगता है कि कक्षाओं को गैर-रेखीय रूप से अलग करना होगा। एक ही रेखा काम नहीं करेगी। परिणामस्वरूप, सर्वोत्तम निर्णय सीमा पाने के लिए हमें हिडन परतों का उपयोग करना चाहिए। ऐसी स्थिति में, हम हिडन परतों का उपयोग न भी करें तो चलेगा, लेकिन इससे वर्गीकरण सटीकता प्रभावित होगी। इसलिए हिडन परतों का उपयोग करना बेहतर है।
यह जान लेने के बाद कि हमें हिडन परतों की आवश्यकता है, दो महत्वपूर्ण सवालों का जवाब देना होगा। ये सवाल हैं:
-
आवश्यक हिडन परतों की संख्या कितनी है?
-
प्रत्येक हिडन परत में हिडन न्यूरॉनों की संख्या कितनी हो?
पिछली प्रक्रिया का अनुसरण करते हुए, पहला कदम है निर्णय सीमा खींचना जो दोनों कक्षाओं को विभाजित करती है। नीचे दिए गए चित्र में दिखाया गया है कि डेटा को सही ढंग से विभाजित करने वाली एक से अधिक संभावित निर्णय सीमाएं हो सकती हैं। आगे की चर्चा के लिए हम चित्र के दाईं ओर वाले भाग (b) का उपयोग करेंगे।

दिशानिर्देशों का पालन करते हुए, अगला कदम है निर्णय सीमा को रेखाओं के एक सेट में व्यक्त करना।
निर्णय सीमा को रेखाओं के एक सेट के रूप में दर्शाने का विचार इस तथ्य से आता है कि कोई भी ANN एकल-परत परसेप्ट्रॉन को बिल्डिंग ब्लॉक के रूप में उपयोग करके बनाया जाता है। एकल-परत परसेप्ट्रॉन एक रैखिक वर्गीकार (linear classifier) है जो निम्न समीकरण के अनुसार बनाई गई रेखा से कक्षाओं को अलग करता है:
y=w1x1+w2x2+ ⋯ +wixi+b
जहाँ xi iवाँ इनपुट है, wi उसका वेट है, b बायस है, और y आउटपुट है। क्योंकि जो भी हिडन न्यूरॉन जोड़ा जाएगा वह वेट्स की संख्या बढ़ाएगा, इसलिए कार्य पूरा करने के लिए न्यूनतम आवश्यक हिडन न्यूरॉनों का उपयोग करना अनुशंसित है। आवश्यकता से अधिक हिडन न्यूरॉन जोड़ने से जटिलता बढ़ेगी।
अपने उदाहरण पर लौटते हुए, यह कहना कि ANN कई परसेप्ट्रॉन नेटवर्क्स से बना है, वैसा ही है जैसे कहना कि नेटवर्क कई रेखाओं से बना है।
इस उदाहरण में, निर्णय सीमा को रेखाओं के एक सेट से बदला गया है। रेखाएं उन बिंदुओं से शुरू होती हैं जहाँ सीमा वक्र की दिशा बदलती है। ऐसे बिंदु पर, दो रेखाएं रखी जाती हैं, प्रत्येक एक अलग दिशा में।
क्योंकि केवल एक ही बिंदु है जहाँ सीमा वक्र की दिशा बदलती है, जैसा कि अगले चित्र में ग्रे वृत्त द्वारा दिखाया गया है, तो केवल दो रेखाओं की आवश्यकता होगी। दूसरे शब्दों में, दो एकल-परत परसेप्ट्रॉन नेटवर्क हैं। प्रत्येक परसेप्ट्रॉन एक रेखा उत्पन्न करता है।

यह जानना कि निर्णय सीमा को दर्शाने के लिए केवल दो रेखाएं आवश्यक हैं, हमें बताता है कि पहली हिडन परत में दो हिडन न्यूरॉन होंगे।
अब तक, हमारे पास दो हिडन न्यूरॉनों वाली एक हिडन परत है। प्रत्येक हिडन न्यूरॉन को एक रैखिक वर्गीकार माना जा सकता है जिसे पिछली आकृति में एक रेखा के रूप में दिखाया गया है। दो आउटपुट होंगे, प्रत्येक वर्गीकार (अर्थात हिडन न्यूरॉन) से एक। लेकिन हमें एक ही आउटपुट वाला एकल वर्गीकार बनाना है जो क्लास लेबल दर्शाता हो, न कि दो वर्गीकार। परिणामस्वरूप, दोनों हिडन न्यूरॉनों के आउटपुट को एक एकल आउटपुट में मिलाना होगा। दूसरे शब्दों में, इन दो रेखाओं को एक अन्य न्यूरॉन द्वारा जोड़ना होगा। परिणाम अगली आकृति में दिखाया गया है।
खुशकिस्मती से, यह काम करने के लिए हमें एक और हिडन परत और एक न्यूरॉन जोड़ने की आवश्यकता नहीं है। आउटपुट परत का न्यूरॉन यह कार्य करेगा। ऐसा न्यूरॉन पहले उत्पन्न की गई दोनों रेखाओं को इस तरह जोड़ेगा कि नेटवर्क से केवल एक ही आउटपुट निकले।

हिडन परतों और उनके न्यूरॉनों की संख्या जान लेने के बाद, नेटवर्क की संरचना अब पूरी हो गई है, जैसा कि अगली आकृति में दिखाया गया है।

उदाहरण दो
एक और वर्गीकरण उदाहरण अगली आकृति में दिखाया गया है। यह पिछले उदाहरण के समान है जिसमें दो कक्षाएं हैं जहाँ प्रत्येक सैंपल में दो इनपुट और एक आउटपुट है। अंतर निर्णय सीमा में है। इस उदाहरण की सीमा पिछले उदाहरण की तुलना में अधिक जटिल है।

दिशानिर्देशों के अनुसार, पहला कदम है निर्णय सीमा खींचना। हमारी चर्चा में उपयोग की जाने वाली निर्णय सीमा अगली आकृति के सबसे बाएँ भाग (a) में दिखाई गई है।
अगला कदम है निर्णय सीमा को रेखाओं के एक सेट में बाँटना, जहाँ प्रत्येक रेखा को ANN में एक परसेप्ट्रॉन के रूप में मॉडल किया जाएगा। रेखाएं खींचने से पहले, उन बिंदुओं को चिह्नित किया जाना चाहिए जहाँ सीमा की दिशा बदलती है, जैसा कि अगली आकृति के सबसे दाएँ भाग (b) में दिखाया गया है।

सवाल यह है कि कितनी रेखाओं की आवश्यकता है? ऊपर और नीचे वाले प्रत्येक बिंदु से दो-दो रेखाएं जुड़ी होंगी, कुल 4 रेखाएं। बीच वाला बिंदु अपनी दो रेखाएं अन्य बिंदुओं से साझा करेगा। बनाई जाने वाली रेखाएं नीचे के चित्र में दिखाई गई हैं।
क्योंकि पहली हिडन परत में हिडन परत न्यूरॉनों की संख्या रेखाओं की संख्या के बराबर होगी, तो पहली हिडन परत में 4 न्यूरॉन होंगे। दूसरे शब्दों में, 4 वर्गीकार हैं, प्रत्येक एकल-परत परसेप्ट्रॉन द्वारा बनाया गया। इस समय, नेटवर्क 4 आउटपुट उत्पन्न करेगा, प्रत्येक वर्गीकार से एक। अगला कदम है इन वर्गीकारों को आपस में जोड़ना ताकि नेटवर्क केवल एक ही आउटपुट उत्पन्न करे। यानी, रेखाओं को अन्य हिडन परतों द्वारा आपस में जोड़कर एक ही वक्र बनाया जाना है।

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

अब तक, दो अलग-अलग वक्र हैं। अतः नेटवर्क से दो आउटपुट मिल रहे हैं। अगला कदम है इन वक्रों को आपस में जोड़ना ताकि पूरे नेटवर्क से केवल एक ही आउटपुट निकले। इस स्थिति में, एक नई हिडन परत जोड़ने के बजाय अंतिम कनेक्शन करने के लिए आउटपुट परत के न्यूरॉन का उपयोग किया जा सकता है। अंतिम परिणाम निम्न आकृति में दिखाया गया है।

नेटवर्क डिज़ाइन पूरा होने के बाद, पूर्ण नेटवर्क संरचना निम्न आकृति में दिखाई गई है।
