बाद की संकेंद्रण परतें कैसे काम करती हैं?


29

यह सवाल उबलता है "कैसे कनवल्शन लेयर्स बिल्कुल काम करती हैं।

मान लीजिए कि मेरे पास एक greyscale छवि है। तो छवि में एक चैनल है। पहली परत में, मैं फ़िल्टर और पैडिंग के साथ कनवल्शन लागू करता हूं । फिर मेरे पास कनवल्शन और फ़िल्टर के साथ एक और । मेरे पास कितने फ़ीचर मैप हैं?3 × 3 k 1 5 × 5 k 2n×मीटर3×3कश्मीर15×5कश्मीर2

टाइप 1 कनवल्शन

पहली परत निष्पादित हो जाती है। उसके बाद, मेरे पास कश्मीर1 फ़ीचर मैप्स हैं (प्रत्येक फ़िल्टर के लिए एक)। उनमें से प्रत्येक का आकार n×मीटर । हर एक पिक्सेल को गद्देदार इनपुट छवि से 33=9 पिक्सेल ले कर बनाया गया था ।

फिर दूसरी परत लागू हो जाती है। हर एक फिल्टर को अलग-अलग फ़ीचर मैप में अलग से लागू किया जाता है । यह कश्मीर2 सुविधा मानचित्रों में से प्रत्येक के लिए कश्मीर1 सुविधा मानचित्रों में परिणत होता है । इसलिए दूसरी लेयर के बाद k1×k2 फ़ीचर मैप हैं। प्रत्येक नए फ़ीचर मैप्स के हर एक पिक्सेल को पहले से गद्देदार फ़ीचर मैप के 55=25 "पिक्सेल" के द्वारा बनाया गया ।

सिस्टम को k133+k255 पैरामीटर सीखना है ।

टाइप 2.1 कनवल्शन

पहले की तरह: पहली परत निष्पादित हो जाती है। उसके बाद, मेरे पास k1 फ़ीचर मैप्स हैं (प्रत्येक फ़िल्टर के लिए एक)। उनमें से प्रत्येक का आकार n×m । हर एक पिक्सेल को गद्देदार इनपुट छवि से 33=9 पिक्सेल ले कर बनाया गया था ।

पहले के विपरीत: फिर दूसरी परत लागू हो जाती है। हर एक फिल्टर एक ही क्षेत्र पर लागू होता है, लेकिन सभी पहले से नक्शे की सुविधा देते हैं । यह दूसरी परत निष्पादित होने के बाद k2 फ़ीचर मानचित्रों को कुल मिलाकर परिणामित करता है । प्रत्येक नए फ़ीचर मैप्स के हर एक पिक्सेल को k255=25k2 "पिक्सेल" को पहले से गद्देदार फ़ीचर मानचित्रों के "" द्वारा लिया जाता है।

सिस्टम को k133+k255 पैरामीटर सीखना है ।

2.2 कन्वेंशन टाइप करें

ऊपर की तरह, लेकिन प्रति फिल्टर 55=25 प्रतिमान होने के बजाय, जिसे सीखा जाना है और बस दूसरे इनपुट फीचर मैप्स के लिए कॉपी किया जाना है, आपके पास k133+k2k155 परमादर्शों को सीखें जिन्हें सीखना होगा।

सवाल

  1. क्या टाइप 1 या टाइप 2 आमतौर पर इस्तेमाल किया जाता है?
  2. एलेक्सनेट में किस प्रकार का उपयोग किया जाता है ?
  3. GoogLeNet में किस प्रकार का उपयोग किया जाता है ?
    • यदि आप कहते हैं कि टाइप 1: क्यों 1×1 _ 1 कॉन्फोल्यूशन का कोई मतलब है? क्या वे केवल एक स्थिर डेटा को गुणा नहीं करते हैं?
    • यदि आप टाइप 2 कहते हैं: कृपया द्विघाती लागत की व्याख्या करें ("उदाहरण के लिए, एक गहरी दृष्टि नेटवर्क में, यदि दो संकेंद्रित परतों को जंजीर किया जाता है, तो उनके फ़िल्टर की संख्या में किसी भी समान वृद्धि से गणना के द्विघात वृद्धि में परिणाम होता है")

सभी उत्तरों के लिए, कृपया कुछ सबूत (कागजात, पाठ्यपुस्तकें, चौखटे के प्रलेखन) दें जो आपका उत्तर सही हो।

बोनस प्रश्न 1

क्या पूलिंग को हमेशा केवल फ़ीचर मैप के अनुसार लागू किया जाता है या क्या यह कई फ़ीचर मैप पर भी किया जाता है?

बोनस प्रश्न २

मुझे अपेक्षाकृत यकीन है कि टाइप 1 सही है और मुझे GoogLe पेपर में कुछ गड़बड़ लगी। लेकिन वहाँ एक 3 डी दृढ़ संकल्प भी है। कहते हैं कि आपके पास आकार के 4237 1337 फ़ीचर मानचित्र हैं और आप फ़िल्टर लागू करते हैं। आप फ़ीचर मैप्स पर फ़िल्टर कैसे स्लाइड करते हैं? (बाएं से दाएं, ऊपर से नीचे, पहला फीचर मैप टू लास्ट फीचर मैप?) क्या यह तब तक मायने रखता है जब तक आप इसे लगातार करते हैं?42×3143×4×5

मेरा शोध


थोड़ी देर बाद: विश्लेषण और अनुकूलन तंत्रिका नेटवर्क आर्किटेक्चर का अनुकूलन , विशेष रूप से अध्याय 2 और चित्रा 2.2 और चित्रा 2.3।
मार्टिन थोमा

जवाबों:


5

मैं ऊपर वर्णित विकल्पों के बारे में निश्चित नहीं हूं, लेकिन आमतौर पर इस्तेमाल की जाने वाली पद्धति है:

गैर-रैखिकता के आवेदन से पहले, प्रत्येक फ़िल्टर आउटपुट पैच के भीतर से पहले सभी फ़ीचर नक्शे पर रैखिक रूप से निर्भर करता है, इसलिए आप दूसरी परतों के बाद फ़िल्टर के साथ समाप्त होते हैं। मापदंडों की कुल संख्या ।k23˙3˙k1+k1˙5˙5˙k2

बोनस 1: पूलिंग को फीचर मैप के अनुसार अलग से किया जाता है।

बोनस 2: "स्लाइडिंग" का क्रम मायने नहीं रखता है। वास्तव में, प्रत्येक आउटपुट की गणना पिछली परत के आधार पर की जाती है, इसलिए आउटपुट फ़िल्टर प्रतिक्रियाएं एक दूसरे पर निर्भर नहीं होती हैं। उन्हें समानांतर में गणना की जा सकती है।


1
मैं इस सवाल के बारे में पूरी तरह से भूल गया। इस बीच, मैंने सीएनएन के बारे में अपने स्वामी की थीसिस लिखी। अध्याय 3 बताता है कि वे कैसे काम करते हैं।
मार्टिन थोमा

1
स्पष्ट करने के लिए: टाइप 2.2 सही है (इस उत्तर में वर्णित)
मार्टिन थोमा

1
यदि कोई वास्तव में इसे कार्रवाई में देखना चाहता है , तो मैंने Google शीट में एक गहरी संवेदी तंत्रिका जाल लागू किया। आप CNN के माध्यम से फ़िल्टर, और इनपुट छवि, पिक्सेल के लिए पिक्सेल देख सकते हैं क्योंकि यह CNN के माध्यम से काम करता है, जब तक कि CNN उत्तर की भविष्यवाणी नहीं करता: docs.google.com/spreadsheets/d/…
bwest87

5

मैं बस कुछ घंटों के लिए इसी सवाल से जूझता रहा। सोचा था कि मैं इसे साझा करने में मदद करूंगा।

इसका उत्तर यह है कि दूसरी दृढ़ परत के लिए फिल्टर में पहले स्तर के फिल्टर के समान आयामीता नहीं है। सामान्य तौर पर, फ़िल्टर में इनपुट के समान आयाम होते हैं । तो पहली कन्टक्ट लेयर में, इनपुट के 2 आयाम हैं (क्योंकि यह एक इमेज है)। इस प्रकार फिल्टर के भी दो आयाम होते हैं। यदि पहली कन्टेन लेयर में 20 फिल्टर हैं, तो पहली कन्टेन लेयर का आउटपुट 20 2D फीचर मैप्स का ढेर है। तो पहली कन्टक्ट लेयर का आउटपुट 3 डायमेंशनल होता है, जहाँ थर्ड डायमेंशन का साइज़ पहली लेयर में फिल्टर की संख्या के बराबर होता है।

अब यह 3 डी स्टैक दूसरी कन्टेस्ट लेयर में इनपुट बनाता है। चूंकि 2nd लेयर में इनपुट 3D है, इसलिए फिल्टर भी 3D होने चाहिए। तीसरे लेयर में दूसरी लेयर के फिल्टर का आकार उन फीचर मैप्स की संख्या के बराबर करें जो पहली लेयर के आउटपुट थे।

अब आप केवल पहले 2 आयामों पर विश्वास करते हैं; पंक्तियाँ और स्तंभ। इस प्रकार फीचर मैप्स (पहली लेयर का आउटपुट) के स्टैक के साथ प्रत्येक 2nd लेयर फिल्टर का कनविक्शन सिंगल फीचर मैप को पैदावार देता है।

दूसरी परत के आउटपुट के तीसरे आयाम का आकार इसलिए दूसरी परत में फिल्टर की संख्या के बराबर है।


2

इस व्याख्यान और इस दृश्य की जाँच करें

आमतौर पर इसका इस्तेमाल टाइप 2.1 कनवल्शन में किया जाता है। इनपुट में आपके पास NxMx1 छवि है, तो पहले कनवल्शन के बाद आपको N_1xM_1xk_1 प्राप्त होगा, इसलिए पहले कनवल्शन के बाद आपकी छवि में k_1 चैनल होंगे। नया आयाम N_1 और M_1 आपके स्ट्राइड S और पैडिंग P पर निर्भर करेगा: N_1 = (N - 3 + 2P) / S + 1, आप अनुरूप में M_1 की गणना करते हैं। पहली वाक्य परत के लिए आपके पास 3x3xk_1 + k_1 वज़न होगा। Nonlinear फ़ंक्शन में पक्षपात के लिए k_1 जोड़ा गया है।

दूसरी परत में आपके पास एक इनपुट छवि है जिसका आकार N_1xM_1xk_1 है, जहां k_1 नए चैनलों की संख्या है। और दूसरे कन्वर्सेशन के बाद आप N_2xM_2xk_2 इमेज (एरे) प्राप्त करते हैं। आपके पास दूसरी परत में 5x5xk_2xk_1 + k_2 पैरामीटर हैं।

K_3 फ़िल्टर और इनपुट NxMxC (C इनपुट चैनलों की संख्या है) के साथ 1x1 कनवल्शन के लिए आपको नई छवि (सरणी) NxMxk_3 प्राप्त होगी, इसलिए 1x1 समझ में आता है। उन्हें इस पत्र में पेश किया गया था

बोनस 1: पूलिंग को फ़ीचर मैप के अनुसार लागू किया जाता है।

विवरण के लिए कृपया स्टैनफोर्ड पर सीएनएन पाठ्यक्रम के लिए स्लाइड देखें - आपके पास अच्छा दृश्य है कि कैसे कई इनपुट चैनलों से कन्वेंशन को अभिव्यक्त किया जाता है।


2
लिंक-केवल उत्तर हतोत्साहित किए जाते हैं - लिंक काम करना बंद कर सकते हैं। क्या आप प्रासंगिक जानकारी को इनलाइन कर सकते हैं?
सीन ओवेन

1
विज़ुअलाइज़ेशन वास्तव में मददगार था। जब मैं महसूस करता था कि फिल्टर 3 डी हैं, और 2 डी नहीं था, तो मेरा मिर्गी का क्षण था।
किमी।

1
महान लिंक, मेरे लिए सामान बाहर सॉर्ट करें। लेकिन आपका उत्तर लिंक में कही गई बातों के साथ असंगत लगता है, विशेष रूप से वाक्य परत 2 में प्रत्येक ग्रहणशील क्षेत्र आयाम 5x5xk_1 के साथ 3 डी है, इसलिए मापदंडों की संख्या 5 * 5 * k_1 * k_2 (प्लस पूर्वाग्रह) होनी चाहिए।
डैनियल श्लाग

@DanielSchlaug आप सही हैं, मैंने जवाब सही दिया।
pplonski

1

k1331k1

k255k1k2

यही है, एक गुंबददार परत में गुठली पिछली परत के उत्पादन की गहराई को फैलाती है।

1×1kn11kn1

अटकलें:

बोनस प्रश्न 2 कुछ ऐसा नहीं है जिससे मैं परिचित हूं, लेकिन मैं अनुमान लगाऊंगा कि सजा में गहराई पैरामीटर एक अतिरिक्त आयाम बन जाता है।

mnknmnkn+1kn

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