फ़िल्टर और एक्टिवेशन मैप्स कन्वेन्शनल न्यूरल नेटवर्क्स में कैसे जुड़े हैं?


11

उस लेयर के फिल्टर से जुड़े लेयर पर एक्टिवेशन मैप्स कैसे हैं? मैं फ़िल्टर और सक्रियण मानचित्र के बीच एक संवैधानिक संचालन करने के बारे में नहीं पूछ रहा हूं, मैं इन दोनों के संपर्क के प्रकार के बारे में पूछ रहा हूं।

उदाहरण के लिए, मान लीजिए कि आप पूर्ण कनेक्टिविटी करना चाहते हैं। आपके पास दिए गए लेयर में f फिल्टर की संख्या और एन एक्टिवेशन मैप्स की संख्या है। आपको अगली परत में सक्रियण मानचित्रों की f * n संख्या मिल जाएगी, और प्रत्येक नई परत के साथ सक्रियण मानचित्रों की संख्या बढ़ जाएगी। यह वह तरीका है जो मैं मानता हूं कि यह किया जाता है।

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

मेरे भ्रम का मुख्य स्रोत मैं ऑनलाइन देखे जाने वाले आक्षेपों के आरेखों को देख रहा हूं। उनमें से कुछ में फिल्टर और सक्रियण नक्शे के बीच "पूर्ण संबंध" है, जैसे कि - यहां छवि विवरण दर्ज करें पहली परत में आपके पास 4 सक्रियण मानचित्र हैं, और संभवतः 2 फ़िल्टर हैं। प्रत्येक नक्शे को प्रत्येक फ़िल्टर के साथ सजाया जाता है, जिसके परिणामस्वरूप अगली परत में 8 नक्शे होते हैं। अच्छा लग रहा है।

लेकिन यहाँ हमारे पास एक आर्किटेक्चर है जो मेरे लिए मायने नहीं रखता है - यहां छवि विवरण दर्ज करें आप पहली लेयर में 6 में 6 मैप्स से 16 में कैसे जाते हैं? मैं 6 में से 16 मानचित्र प्राप्त करने के तरीकों के बारे में सोच सकता हूं, लेकिन उन्हें करने का कोई मतलब नहीं होगा।

जवाबों:


10

आपके द्वारा पोस्ट किया गया दूसरा दृढ़ तंत्रिका नेटवर्क (CNN) आर्किटेक्चर इस पेपर से आता है । पेपर में लेखक S2 और C3 की परतों के बीच क्या होता है, का विवरण देते हैं। उनकी व्याख्या हालांकि बहुत स्पष्ट नहीं है। मैं कहूंगा कि यह सीएनएन आर्किटेक्चर 'मानक' नहीं है, और यह सीएनएन के लिए पहले उदाहरण के रूप में काफी भ्रामक हो सकता है।

CNN वास्तुकला

सबसे पहले, यह स्पष्ट करने की आवश्यकता है कि फ़ीचर मैप कैसे बनाए जाते हैं और फ़िल्टर के साथ उनका क्या संबंध है। एक फ़ीचर मैप एक फ़ीचर मैप के साथ फ़िल्टर के कनविक्शन का परिणाम है। आइए INPUT और C1 की परतों को एक उदाहरण के रूप में लेते हैं। सबसे आम मामले में, आकार C1 में के आकार के 6 फ़ीचर मानचित्र प्राप्त करने के लिए आपको आकार के 6 फ़िल्टर्स की ज़रूरत है ( आकार की छवि के 'मान्य' कनवल्शन का परिणाम एक के साथ आकार के फिल्टर , यह मानते हुए , आकार की है28×285×5×एन×एनएन(-एन+1)×(-एन+1)। हालाँकि, आप 6 फ़िल्टरों को 6 या उससे अधिक फ़िल्टरों द्वारा निर्मित फ़ीचर मानचित्रों के संयोजन द्वारा निर्मित कर सकते हैं (जैसे कि उन्हें संक्षेप में कहें)। कागज में, परत C1 के लिए हालांकि छंटनी का कुछ भी निहित नहीं है।

परत S2 और परत C3 के बीच क्या होता है, निम्नलिखित है। परत S2 में 6 फ़ीचर मानचित्रों से निर्मित परत C3 में 16 फ़ीचर मानचित्र हैं। परत C3 में फिल्टर की संख्या वास्तव में स्पष्ट नहीं है। वास्तव में, केवल आर्किटेक्चर आरेख से, कोई यह निर्धारित नहीं कर सकता है कि उन 16 फ़ीचर मानचित्रों का निर्माण करने वाले फ़िल्टर की सही संख्या क्या है। कागज के लेखक निम्नलिखित तालिका प्रदान करते हैं (पृष्ठ 8):

S2 और C3 परतों के बीच संबंध

तालिका के साथ वे निम्नलिखित स्पष्टीकरण प्रदान करते हैं (पृष्ठ 7 का नीचे):

Layer C3 16 फ़ीचर मैप्स के साथ एक संकेंद्रित परत है। प्रत्येक फ़ीचर मैप में प्रत्येक यूनिट S2 के फ़ीचर मैप्स के सबसेट में समान स्थानों पर कई पड़ोस से जुड़ी होती है ।5×5

तालिका में लेखक दिखाते हैं कि परत C3 में प्रत्येक फीचर मैप 3 या अधिक फीचर मैप्स (पेज 8) के संयोजन द्वारा निर्मित है:

पहले छह C3 फीचर मैप्स S2 में तीन फीचर मैप्स के प्रत्येक सन्निहित सबसेट से इनपुट लेते हैं। अगले छह चार में से प्रत्येक सन्निहित सबसेट से इनपुट लेते हैं। अगले तीन चार के कुछ बंद सबसेट से इनपुट लेते हैं। अंत में, अंतिम सभी S2 फीचर मैप से इनपुट लेता है।

अब, परत C3 में कितने फिल्टर हैं? दुर्भाग्य से, वे इसे स्पष्ट नहीं करते हैं। दो सरल संभावनाएं होंगी:

  1. C3 फ़ीचर मैप के अनुसार S2 फ़ीचर मैप में एक फ़िल्टर होता है, यानी समान C3 फ़ीचर मैप से जुड़े S2 फ़ीचर मैप्स के बीच कोई फ़िल्टर शेयरिंग नहीं होती है।
  2. प्रति C3 फ़ीचर मैप में एक फ़िल्टर होता है, जो कि S2 लेयर के 3 (3 या अधिक) फ़ीचर मैप के साथ साझा किया जाता है।

दोनों मामलों में, 'संयोजन' का अर्थ होगा कि प्रति S2 सुविधा मानचित्र समूह के प्रतिरूपण के परिणाम, को C3 फीचर मानचित्रों के निर्माण के लिए संयोजित करना होगा। लेखक यह निर्दिष्ट नहीं करते हैं कि यह कैसे किया जाता है, लेकिन इसके अलावा एक आम पसंद है (उदाहरण के लिए इस पृष्ठ के मध्य के पास एनिमेटेड जिफ देखें ।

लेखक हालांकि कुछ अतिरिक्त जानकारी देते हैं, जो हमें वास्तुकला को समझने में मदद कर सकती हैं। वे कहते हैं कि 'लेयर C3 में 1,516 ट्रेन योग्य पैरामीटर हैं' (पृष्ठ 8)। हम इस जानकारी का उपयोग उपरोक्त मामलों (1) और (2) के बीच निर्णय लेने के लिए कर सकते हैं।

मामले में (1) हमारे पास फिल्टर हैं। फ़िल्टर का आकार । इस मामले में ट्रेन करने योग्य मापदंडों की संख्या ट्रेन करने योग्य पैरामीटर होगी। यदि हम प्रति C3 सुविधा मानचित्र में एक पूर्वाग्रह इकाई मानते हैं, तो हमें पैरामीटर मिलते हैं , जो कि लेखकों का कहना है। पूर्णता के लिए, मामले में (2) हमारे पास पैरामीटर होगा, जो कि मामला नहीं है।(6×3)+(9×4)+(1×6)=60(14-10+1)×(14-10+1)=5×55×5×60=1,5001,500+16=1,516(5×5×16)+16=416

इसलिए, यदि हम ऊपर तालिका I पर फिर से देखते हैं, तो प्रत्येक S2 सुविधा मानचित्र (इस प्रकार कुल 60 विशिष्ट फ़िल्टर) से जुड़े 10 अलग C3 फ़िल्टर हैं।

लेखक इस प्रकार की व्याख्या करते हैं:

अलग-अलग फ़ीचर मैप्स [इन लेयर C3] को अलग-अलग (उम्मीद के साथ पूरक) फीचर्स निकालने के लिए मजबूर किया जाता है क्योंकि उन्हें इनपुट के अलग-अलग सेट मिलते हैं।

मुझे उम्मीद है कि इससे स्थिति स्पष्ट होगी।


3

आप वास्तव में सही हैं कि @ से पहले का मान फ़िल्टर की मात्रा को इंगित करता है, न कि फ़ीचर मैप्स की राशि को (हालांकि पहले संवैधानिक परतों के लिए ये मान मेल खाते हैं)।

आपके अंतिम प्रश्न के बारे में: हाँ यह परत एल + 1 पर हर फिल्टर से जुड़े परत एल पर हर सुविधा का नक्शा बनाने के लिए समझ में आता है। इसका एकमात्र कारण यह है कि यह नेटवर्क की अभिव्यक्ति शक्ति को बहुत बढ़ाता है, क्योंकि इसमें फीचर मैप्स को संयोजित करने के अधिक तरीके (पथ) हैं जो इस प्रकार इनपुट छवि पर जो कुछ भी है उसे बेहतर ढंग से भेद करने की अनुमति देते हैं।

अंत में मुझे नहीं पता कि क्या आप अपने तंत्रिका नेटवर्क कौशल का अभ्यास खुद उन्हें लागू करके कर रहे हैं, लेकिन यदि आप किसी विशेष कार्य के लिए केवल नेटवर्क को लागू करना चाहते हैं तो पहले से ही कई उत्कृष्ट तंत्रिका नेटवर्क लाइब्रेरी हैं जैसे कि थीनो, मंथन, कैफ


मुझे लगता है कि मैं क्या करूँगा दोनों तुलना करने के लिए बेंचमार्क है। गैर पूरी तरह से जुड़े संस्करण के साथ यह तेजी से अपने वर्गीकरण को प्रशिक्षित और गणना करेगा। लेकिन सटीकता अधिक महत्वपूर्ण है। पूरी तरह से जुड़े हुए संस्करण में, प्रत्येक फ़िल्टर को अधिक सामान्य कार्य के बजाय बहुत अधिक विशिष्ट कार्य के लिए स्थानीय किया जाता है। पूरी तरह से जुड़े संस्करण में, केवल एक प्रकार की सुविधा के बजाय पिछले सभी फ़िल्टर के लिए सबसे अच्छा क्या है, इसके आधार पर एक फ़िल्टर अपडेट किया जाता है। मैं c # का उपयोग करके 100% खरोंच से अपना नेटवर्क बना रहा हूं। निश्चित रूप से चीजों को करने का आसान तरीका नहीं है ... लेकिन इसने मुझे गहरी चीजों में सिखाया है
फ्रोबोट

यह एक साउंड प्लान की तरह लगता है। सौभाग्य!
जोएर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.