कैप्सूल न्यूरल नेटवर्क्स - नेस्टेड न्यूरल लेयर्स का सेट



कैप्सूल नेटवर्क - यह ब्लॉग संवादी तंत्रिका नेटवर्क की सीमाओं के बारे में बात करता है, और कैप्सूल न्यूरल नेटवर्क उन सीमाओं को कैसे हल करता है।

कैप्सूल नेटवर्क:

कैप्सूल नेटवर्क क्या है? यह मूल रूप से, नेस्टेड तंत्रिका परतों के सेट का एक नेटवर्क है।

मैं आपको निम्न ब्लॉगों के माध्यम से जाने की सलाह दूंगा:





मैं यह मान रहा हूं कि, आप लोग कन्वर्सेशनल न्यूरल नेटवर्क्स (CNN) को जानते हैं। यहां, मैं आपको उसी पर एक छोटा सा परिचय दे रहा हूं, ताकि मैं सीएनएन की सीमाओं पर चर्चा कर सकूं।

आप नीचे दिए गए वीडियो को कन्वर्सेशनल न्यूरल नेटवर्क पर भी देख सकते हैं।



संवैधानिक तंत्रिका नेटवर्क (CNN)

संवादात्मक तंत्रिका नेटवर्क, मूल रूप से कृत्रिम न्यूरॉन्स की विभिन्न परतों के ढेर हैं, जो कंप्यूटर दृष्टि के लिए उपयोग किया जाता है। नीचे, मैंने उन परतों का उल्लेख किया है:

संवादी तंत्रिका नेटवर्क - कैप्सूल तंत्रिका नेटवर्क - एडुर्का

संवैधानिक परत: जब हम इमेज वर्गीकरण के लिए फीडफॉर्वर्ड न्यूरल नेटवर्क्स (मल्टी लेयर पेसेप्ट्रॉन) का उपयोग करते हैं, तो इसके साथ कई चुनौतियां हैं। सबसे निराशाजनक चुनौती यह है कि, यह कई मापदंडों का परिचय देता है, सीएनएन पर वीडियो ट्यूटोरियल पर विचार करें।



इस चुनौती को पार करने के लिए कन्वेंशन लेयर पेश किया गया था। यह माना जाता है कि, पिक्सेल जो एक साथ स्थानिक रूप से करीब हैं, छवि के विपरीत कोनों पर लोगों की तुलना में ब्याज की एक विशेष विशेषता बनाने पर 'सहयोग' करेंगे। साथ ही, यदि किसी छवि के लेबल को परिभाषित करते समय किसी विशेष (छोटे) फीचर का बहुत अधिक महत्व पाया जाता है, तो यह उतना ही महत्वपूर्ण होगा, अगर यह सुविधा छवि के भीतर कहीं भी, स्थान की परवाह किए बिना पाई गई थी।

ReLU परत: रेक्टिफाइड लीनियर यूनिट (ReLU) ट्रांसफॉर्म फ़ंक्शन केवल एक नोड को सक्रिय करता है यदि इनपुट एक निश्चित मात्रा से ऊपर है, जबकि इनपुट शून्य से नीचे है, आउटपुट शून्य है, लेकिन जब इनपुट एक निश्चित सीमा से ऊपर उठता है, तो इसके साथ एक रैखिक संबंध होता है निर्भर चर।

  • इस परत में हम फ़िल्टर किए गए चित्रों से प्रत्येक नकारात्मक मानों को हटा देते हैं और इसे शून्य के साथ बदल देते हैं
  • यह शून्य से योग तक के मूल्यों से बचने के लिए किया जाता है

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

पूरी तरह से जुड़ा परत: यह परत वर्ग स्कोर की गणना करेगी, जहां प्रत्येक संख्या एक वर्ग स्कोर के अनुरूप है। जैसा कि सामान्य तंत्रिका नेटवर्क के साथ होता है और जैसा कि नाम से ही स्पष्ट है, इस परत में प्रत्येक न्यूरॉन पिछली मात्रा में सभी न्यूरॉन्स से जुड़ा होगा। संक्षेप में, यह अंतिम वर्गीकरण करता है।

इस तरह, कन्वेंशन मूल पिक्सेल मानों की परत से मूल छवि परत को अंतिम वर्ग स्कोर में बदल देता है।

यह संवैधानिक तंत्रिका नेटवर्क के लिए एक बहुत ही छोटा परिचय था, मैं अब भी आपको सीएनएन वीडियो पर एक नज़र डालने की सलाह दूंगा जो मैंने इस पोस्ट में एम्बेड किया है।

इस कैप्सूल नेटवर्क्स ब्लॉग में, मैं अब कन्वेंशनल न्यूरल नेटवर्क्स की कुछ सीमाओं पर चर्चा करूँगा

संवैधानिक तंत्रिका नेटवर्क की सीमाएं:

खैर, मैं इसे एक सादृश्य के साथ समझाता हूं।

मान लीजिए कि एक मानव है, जिसकी आंखें विभिन्न छवियों की सुविधाओं का पता लगा सकती हैं। आइए हम मानव के चेहरे को एक उदाहरण के रूप में मानते हैं। तो, यह दुर्भाग्यपूर्ण व्यक्ति विभिन्न विशेषताओं जैसे कि, आंख, नाक आदि की पहचान कर सकता है, लेकिन सुविधाओं (परिप्रेक्ष्य, आकार, अभिविन्यास) के बीच स्थानिक संबंधों की पहचान करने में असमर्थ है। उदाहरण के लिए, निम्न चित्र उस आदमी को एक मानव चेहरे के अच्छे स्केच के रूप में वर्गीकृत करने में मूर्ख बना सकता है।

यही समस्या कंफ्यूजनल न्यूरल नेटवर्क्स के साथ भी है। CNN सुविधाओं का पता लगाने में अच्छा है, लेकिन चेहरा पहचानने के लिए गलत तरीके से न्यूरॉन को सक्रिय कर देगा। ऐसा इसलिए है क्योंकि यह सुविधाओं के बीच स्थानिक संबंधों की खोज करने में कम प्रभावी है।

एक साधारण सीएनएन मॉडल नाक, आंख और मुंह के लिए सुविधाओं को सही ढंग से निकाल सकता है लेकिन गलत तरीके से चेहरे की पहचान के लिए न्यूरॉन को सक्रिय कर देगा। स्थानिक अभिविन्यास और आकार में गलत मिलान को समझने के बिना, चेहरे का पता लगाने के लिए सक्रियता बहुत अधिक होगी।

खैर, यह सीमा अधिकतम पूलिंग परत के कारण है।

CNN में अधिकतम पूलिंग ट्रांसलेशनल वेरिएशन को हैंडल करता है। यहां तक ​​कि एक विशेषता को थोड़ा स्थानांतरित कर दिया गया है, अगर यह अभी भी पूलिंग विंडो के भीतर है, तो भी इसका पता लगाया जा सकता है। फिर भी, यह दृष्टिकोण केवल अधिकतम सुविधा (सबसे अधिक हावी) रखता है और दूसरों को दूर फेंकता है।

तो, ऊपर दिखाए गए चेहरे की तस्वीर को एक सामान्य चेहरे के रूप में वर्गीकृत किया जाएगा। पूलिंग परत भी इस प्रकार के आक्रमण को जोड़ती है।

यह पूलिंग लेयर का उद्देश्य कभी नहीं था। पूलिंग क्या करना चाहिए था, यह स्थितिगत, प्राच्य, आनुपातिक आक्रमण का परिचय देना है।

वास्तव में, इस पूलिंग परत में सभी प्रकार की स्थितियाँ होती हैं। जैसा कि आप उपरोक्त आरेख में भी देख सकते हैं, यह चेहरे को सही ढंग से पता लगाने की दुविधा की ओर जाता है।

आइए देखें कि इसके द्वारा प्रस्तावित समाधान क्या है जेफ्री हिंटन

इस समस्या को हल कैसे करें?

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

द्वारा जारी कागज में जेफ्री हिंटन , इस प्रकार के न्यूरॉन्स को कैप्सूल कहा जाता है। ये कैप्सूल एकल स्केलर मान के बजाय वेक्टर का उत्पादन करते हैं।

मुझे कैप्सूल नेटवर्क क्या है पर कुछ रोशनी डालते हैं।

कैप्सूल नेटवर्क क्या हैं?

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

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

एक ही कैप्सूल विभिन्न अभिविन्यास के साथ एक ही वस्तु वर्ग का पता लगा सकता है (उदाहरण के लिए, दक्षिणावर्त घुमाएं):

हम यह कह सकते हैं कि यह समानताओं पर काम करता है, न कि आक्रमणकारी।

आक्रमण: वेरिएंट की परवाह किए बिना सुविधाओं का पता लगाना है। उदाहरण के लिए, एक नाक का पता लगाने वाला न्यूरॉन उन्मुखीकरण की परवाह किए बिना एक नाक का पता लगाता है।

समान: उन वस्तुओं का पता लगाना है जो एक दूसरे को बदल सकते हैं (उदाहरण के लिए, विभिन्न झुकावों के साथ चेहरे का पता लगाना)। सहजता से, कैप्सूल नेटवर्क का पता लगाता है कि चेहरे को 31 ° (विषुव) की ओर घुमाया जाता है, बजाए इसके कि चेहरे को 31 ° घुमाए जाने वाले संस्करण से मेल खाता है। एक कैप्सूल में फ़ीचर वेरिएंट सीखने के लिए मॉडल को मजबूर करके, हम कम वेरिएंट को कम प्रशिक्षण डेटा के साथ अधिक प्रभावी ढंग से लागू कर सकते हैं। इसके अतिरिक्त, हम विरोधियों को अधिक प्रभावी ढंग से अस्वीकार कर सकते हैं।

एक कैप्सूल इकाई के अस्तित्व का प्रतिनिधित्व करने के लिए एक वेक्टर आउटपुट करता है। वेक्टर का अभिविन्यास इकाई के गुणों का प्रतिनिधित्व करता है।

तंत्रिका नेटवर्क में सभी संभावित माता-पिता को वेक्टर भेजा जाता है। प्रत्येक संभव माता-पिता के लिए, एक कैप्सूल एक भविष्यवाणी वेक्टर पा सकता है। भविष्यवाणी वेक्टर की गणना उसके स्वयं के वजन और एक वजन मैट्रिक्स को गुणा करने के आधार पर की जाती है। जो भी माता-पिता के पास सबसे बड़ा स्केलर भविष्यवाणी वेक्टर उत्पाद है, कैप्सूल बॉन्ड को बढ़ाता है। बाकी माता-पिता अपने बंधन को कम करते हैं। इसे कहा जाता है रूटिंग बाय एग्रीमेंट

यह निश्चित रूप से एक बेहतर दृष्टिकोण है, तो अधिकतम पूलिंग, जिसमें रूटिंग निचली परत में पाई जाने वाली सबसे मजबूत विशेषता पर आधारित है।

इसके बाद एक स्क्वाशिंग फंक्शन होता है जिसे जोड़ा जाता है। यह गैर-रैखिकता का परिचय देने के लिए किया जाता है। यह स्क्वाशिंग फ़ंक्शन प्रत्येक कैप्सूल के वेक्टर आउटपुट पर लागू होता है।

अब मैं आपको बताता हूं, कि कैसे कैप्सूल नेटवर्क काम करता है।

कैसे काम करता है कैप्सूल नेटवर्क?

हम एक कदम पीछे हटते हैं। पूरी तरह से जुड़े नेटवर्क में, प्रत्येक न्यूरॉन का आउटपुट इनपुट का भारित योग होता है।

अब, आइए देखें कि कैप्सूल नेटवर्क में क्या होता है।

कैप्सूल तंत्रिका नेटवर्क:

आइए एक कैप्सूल तंत्रिका नेटवर्क पर विचार करें जहां consider यूमैंCapsule कैप्सूल के लिए गतिविधि वेक्टर है vectorमैं'नीचे की परत में

चरण - 1: एक परिवर्तन मैट्रिक्स लागू करेंमेंइ जकैप्सूल उत्पादन करने के लिए यूमैं पिछली परत का। उदाहरण के लिए, एक m × k मैट्रिक्स के साथ, हम एक k-D को रूपांतरित करते हैंयूमैं एक एम-डी के लिएयू ^जे | आई ((m × k) × (k × 1) = m × 1)।

यह भविष्यवाणी है ( वोट दें ) कैप्सूल from i ’से ऊपर कैप्सूल above जे’ के आउटपुट पर। ‘वीजेCapsule कैप्सूल के लिए गतिविधि वेक्टर है vectorजे'ऊपर की परत में

चरण - 2: एक भारित योग की गणना करेंजेवजन के साथसीइ जसीइ जयुग्मन गुणांक हैं। इन गुणांक का योग एक के बराबर है। यह वास्तविक पैरामीटर है जो कैप्सूल के समूह के संबंधों पर काम करता है जो हमने पहले बात की थी।

चरण - 3: संवैधानिक तंत्रिका नेटवर्क में हमने ReLU फ़ंक्शन का उपयोग किया। यहां, हम वेक्टर को स्केल करने के लिए 0 और यूनिट लंबाई के बीच स्क्वैश फ़ंक्शन लागू करेंगे। यह छोटे वैक्टर को शून्य और लंबे वैक्टर को यूनिट वैक्टर को सिकोड़ता है। इसलिए प्रत्येक कैप्सूल की संभावना शून्य और एक के बीच बंधी है।

अजगर में क्या छपा है

यह भविष्यवाणी है ( वोट दें ) कैप्सूल from i ’से ऊपर कैप्सूल above जे’ के आउटपुट पर। यदि गतिविधि वेक्टर में भविष्यवाणी वेक्टर के साथ समानता है, तो हम उस कैप्सूल का निष्कर्ष निकालते हैं closeमैं'कैप्सूल से अत्यधिक संबंधित है capsuleजे'। (उदाहरण के लिए, नाक कैप्सूल चेहरे के कैप्सूल से अत्यधिक संबंधित है।) ऐसी समानता को भविष्यवाणी और गतिविधि वेक्टर के स्केलर उत्पाद का उपयोग करके मापा जाता है। इसलिए समानता समानता और विशेषता गुणों दोनों को ध्यान में रखती है। (न्यूरॉन्स में सिर्फ संभावना के बजाय)।

चरण - 4: गणना प्रासंगिकता स्कोर 4 बीइ ज‘ यह गतिविधि वेक्टर और भविष्यवाणी वेक्टर का डॉट उत्पाद होगा। युग्मन गुणांकसीमैंजेकी सॉफ्टमैक्स के रूप में गणना की जाती हैबीमैंजे:

युग्मन गुणांक cइ जबी के सॉफ्टमैक्स के रूप में गणना की जाती हैइ ज

यह बीइ जकई पुनरावृत्तियों में पुनरावृत्तियों को अद्यतन किया जाता है

इसे कहा जाता है रूटिंग बाय एग्रीमेंट

नीचे आरेख एक उदाहरण है:

कैप्सूल नेटवर्क्स पर इस ब्लॉग के बाद, मैं TensorFlow का उपयोग करते हुए कैप्सूल न्यूरल नेटवर्क कार्यान्वयन पर एक ब्लॉग के साथ आ रहा हूं।

मुझे आशा है कि आपको कैप्सूल नेटवर्क पर इस ब्लॉग को पढ़ने में मज़ा आया है, इसे देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। TensorFlow सर्टिफिकेशन ट्रेनिंग कोर्स के साथ एडुर्का डीप लर्निंग सीखने वालों को सॉफ्ट टाइममैक्स फंक्शन, ऑटो-एनकोडर न्यूरल नेटवर्क्स, रेस्ट्रिक्टेड बोल्ट्ज़मन मशीन (RBM) जैसे कॉन्सेप्ट्स के साथ रियल टाइम प्रोजेक्ट्स और असाइनमेंट्स का इस्तेमाल करके बेसिक और कॉन्फिडेंशियल न्यूरल नेटवर्क्स के एक्सपर्ट बनने में मदद करता है।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे।