Dilated Convolution और Deconvolution में क्या अंतर है?


11

ये दो कनवल्शन ऑपरेशन अभी गहन सीखने में बहुत आम हैं।

मैंने इस पत्र में पतला आक्षेपिक परत के बारे में पढ़ा: WAVENET: एक उदारवादी मॉडल RAW ऑडियो के लिए

और डी-कन्वेंशन इस पेपर में है: सिमेंटिक सेगमेंटेशन के लिए पूरी तरह से कन्वेन्शनल नेटवर्क

दोनों छवि को अप-सैंपल करने लगते हैं लेकिन क्या अंतर है?

जवाबों:


9

यंत्रवत / सचित्र / छवि-आधारित शब्दों की तरह:

Dilation: ### समुद्र टिप्पणियाँ, इस धारा में सुधार पर काम कर रहे हैं

Dilation मोटे तौर पर रन-ऑफ-द-मिल कन्वेंशन के रूप में एक ही है (स्पष्ट रूप से तो डिकोनोवुलेशन है), सिवाय इसके कि यह गुठली में अंतराल का परिचय देता है, अर्थात, जबकि एक मानक कर्नेल आमतौर पर इनपुट के सन्निहित वर्गों पर स्लाइड करेगा, यह पतला समकक्ष हो सकता है, उदाहरण के लिए, छवि का एक बड़ा भाग "घेरना" - इसके अलावा अभी भी मानक रूप में कई भार / इनपुट हैं।

(नोट में अच्छी तरह से है, जबकि फैलाव injects यह में शून्य गिरी और अधिक तेजी से करने के क्रम में कमी , यह में पक्षांतरित घुमाव के injects शून्यों यह उत्पादन का / संकल्प चेहरे आयाम इनपुट क्रम में वृद्धि यह उत्पादन का संकल्प।)

इसे और अधिक ठोस बनाने के लिए, आइए एक बहुत ही सरल उदाहरण लेते हैं:
मान लें कि आपके पास 9x9 की छवि है, x जिसमें कोई पैडिंग नहीं है। यदि आप एक मानक 3x3 कर्नेल लेते हैं, तो स्ट्राइड 2 के साथ, इनपुट से चिंता का पहला सबसेट x [0: 2, 0: 2] होगा, और इन सीमाओं के भीतर सभी नौ बिंदुओं को कर्नेल द्वारा माना जाएगा। फिर आप x [0: 2, 2: 4] और इतने पर स्वीप करेंगे ।

स्पष्ट रूप से, आउटपुट में छोटे चेहरे के आयाम होंगे, विशेष रूप से 4x4। इस प्रकार, अगली परत के न्यूरॉन्स में इन कर्नेल पास के सटीक आकार में ग्रहणशील क्षेत्र होते हैं। लेकिन अगर आपको अधिक वैश्विक स्थानिक ज्ञान के साथ न्यूरॉन्स की आवश्यकता या इच्छा है (जैसे कि यदि कोई महत्वपूर्ण विशेषता केवल इस क्षेत्र से बड़े क्षेत्रों में निश्चित है) तो आपको तीसरी परत बनाने के लिए इस परत को दूसरी बार मनाने की आवश्यकता होगी जिसमें प्रभावी ग्रहणशील क्षेत्र हो पिछले परतों के कुछ संघ rf।

लेकिन यदि आप अधिक परतें जोड़ना नहीं चाहते हैं और / या आपको लगता है कि पास की जा रही जानकारी अतिरेकपूर्ण है (यानी दूसरी परत में आपके 3x3 ग्रहणशील क्षेत्र केवल वास्तव में "2x2" अलग-अलग जानकारी की मात्रा को ले जाते हैं), तो आप इसका उपयोग कर सकते हैं एक पतला फिल्टर। आइए स्पष्टता के लिए इस बारे में अतिवादी हों और कहें कि हम 9x9 के 3-डायल फ़िल्टर का उपयोग करेंगे। अब, हमारा फ़िल्टर संपूर्ण इनपुट को "घेर" लेगा, इसलिए हमें इसे बिल्कुल भी स्लाइड नहीं करना पड़ेगा। हम अभी भी, केवल x3 = 9 डेटा बिंदुओं को इनपुट से ले रहे हैं, x , आमतौर पर:

x [0,0] U x [0,4] U x [0,8] U x [4,0] U x [4,4] U x [4,8] U x [8,0] U x [[,४] यू एक्स [], x ]

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


भिन्‍न-भिन्‍न या पारगमन या "विघटनकारी":

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

पहले से हमारे 9x9 मामले में, कहते हैं कि हम अब 11x11 तक का उतार-चढ़ाव चाहते हैं। इस मामले में, हमारे पास दो सामान्य विकल्प हैं: हम एक 3x3 कर्नेल ले सकते हैं और 1 के साथ और इसे अपने 3x3 इनपुट पर 2-पैडिंग के साथ स्वीप कर सकते हैं, ताकि हमारा पहला पास क्षेत्र के ऊपर होगा [बाएँ-पैड -2: 1, ऊपर-पैड -2: 1] फिर [बाएं-पैड -1: 2, ऊपर-पैड -2: 1] और इसी तरह आगे।

वैकल्पिक रूप से, हम इसके अतिरिक्त इनपुट डेटा के बीच पैडिंग डाल सकते हैं , और कर्नेल को बिना अधिक पैडिंग के स्वीप कर सकते हैं। स्पष्ट रूप से हम कभी-कभी एक ही कर्नेल के लिए एक से अधिक बार सटीक एक ही इनपुट बिंदुओं के साथ खुद के विषय में होंगे ; यह वह जगह है जहाँ शब्द "आंशिक रूप से जकड़े हुए" अधिक सुव्यवस्थित लगता है। मुझे लगता है कि निम्नलिखित एनीमेशन ( यहां से उधार और आधारित (मुझे विश्वास है) इस काम से अलग-अलग आयामों के बावजूद चीजों को साफ करने में मदद मिलेगी। इनपुट नीला है, सफेद इंजेक्शन शून्य और गद्दी, और आउटपुट हरा है:

ट्रांसपोज़्ड कन्टेंट, इनपुट ब्लू, आउटपुट ग्रीन है

बेशक, हम सभी इनपुट डेटा के साथ खुद के विषय में हैं, जो कि फैलाव के विपरीत हैं जो पूरी तरह से कुछ क्षेत्रों को अनदेखा कर सकते हैं या नहीं कर सकते हैं। और जब से हम स्पष्ट रूप से अधिक डेटा के साथ शुरू कर रहे हैं, तो हम "अपसम्पलिंग" शुरू कर रहे हैं।

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


1
कृपया ध्यान रखें, मैं कोई विशेषज्ञ नहीं हूं, - किसी ऐसे व्यक्ति के साथ, जिसे हाल ही में इन अवधारणाओं को खुद से अलग करना था। कृपया मुझे बताएं कि क्या कोई गलतियाँ हैं या अत्यधिक सरलीकरण हैं जो कि समग्र शुद्धता के उत्तरों को कमजोर कर सकते हैं। धन्यवाद!
डग ब्रममेल

डौग Brummel वाह अच्छी तरह से समझाओ। मेरे पास वही आइडिया था। मैं तनु कन्वेंशन लागू करने के बारे में आपकी राय जानना चाहता हूं, हमें सीएनएन में इसे कैसे लागू करना चाहिए। क्या हमें पहले कुछ सामान्य कॉन्फोल्यूशन देना चाहिए और फिर पतला कंसीलर लगाना चाहिए? एक और बात यह है कि अगर हम शून्य पैड नहीं करते हैं, तो दोषी ठहराने वाली जानकारी याद आ सकती है। इसलिए मुझे लगता है कि हमें कुछ सामान्य कॉननेट्स परतों के बाद पतला कनवल्शन लागू करना चाहिए?
शामे सिरिवर्धन

मेरा मानना ​​है कि मानक विचार आगे बढ़ने वाले फैलाव की मात्रा को बढ़ाने के लिए है, जो कि एल = 1 के लिए अनिर्दिष्ट, नियमित फिल्टर से शुरू होता है, 2- की ओर बढ़ रहा है और फिर 3-पतला फिल्टर और इसी तरह जब आप अपने नेटवर्क की गहराई से प्रगति करते हैं। यह आपको यह सुनिश्चित करने की अनुमति देता है कि एक परत में सभी डेटा को अगली (सहित, महत्वपूर्ण रूप से, नेटवर्क में ही) पास किया गया है, जबकि अभी भी प्रत्येक परत के साथ तेजी से डाउनसमलिंग की अनुमति देता है, लेकिन कोई वृद्धि मापदंडों के साथ नहीं। लक्ष्य डेटा को शामिल किए बिना व्यापक ग्रहणशील क्षेत्र है। और हां, पेडिंग पर ध्यान देना जल्दी से महत्वपूर्ण होना चाहिए।
डग ब्रुम्मेल

देखें [यह पत्र] ( arxiv.org/pdf/1511.07122.pdf ), यह ऊपर संदर्भित है और मैंने इस विषय पर जो कुछ पढ़ा है, उसके बारे में एक अच्छा सा प्रदान किया है।
डग ब्रुम्मेल

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

5

हालांकि दोनों एक ही काम कर रहे हैं, जो एक परत का नमूना है, उनके बीच एक स्पष्ट अंतर है।

पहले हम Dilated Convolution के बारे में बात करते हैं

मुझे यह अच्छा ब्लॉग उपरोक्त विषय पर मिला । इसलिए जैसा कि मैंने समझा, यह व्यापक तरीके से इनपुट डेटा बिंदुओं की खोज करने जैसा है । या कनवल्शन ऑपरेशन के ग्रहणशील क्षेत्र को बढ़ाना।

यहाँ कागज से एक पतला संलयन आरेख है ।

चित्र 3

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

यह ब्लॉग वास्तव में बताता है कि पतले कनवल्शन में क्या नया है और इसकी तुलना सामान्य कनवल्शन से कैसे की जाती है।

ब्लॉग: पतला रूपांतरण और क्रोनएकर फैक्टेड संकल्प

अब मैं समझाता हूं कि Deconvolution क्या है

इसे ट्रांसपोज्ड कनविक्शन कहते हैं। यह उस फ़ंक्शन के बराबर है जिसे हमने बैक-प्रोपगेशन में दृढ़ संकल्प के लिए उपयोग किया था।

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

यहाँ चित्रों के साथ एक अच्छा संसाधन है

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

Deconvolution का इतना अधिक एक सीखने योग्य नमूनाकरण परत है।

यह अंतिम नुकसान के साथ संयोजन करते समय अप-सैंपल सीखने का प्रयास करता है

यह सबसे अच्छा स्पष्टीकरण है जो मैंने डिकोन्वोल्यूशन के लिए पाया है। सीएस 23 में लेक्चर 13, 21.21 आगे से


क्या आप इस बात पर विस्तार से विचार करेंगे कि कैसे पतला कनवल्शन उत्पादन के स्थानिक आकार को बढ़ाने में मदद करता है? ऐसा लगता है कि पारंपरिक संकल्पों की तुलना में और अधिक पैडिंग की आवश्यकता है, इस प्रकार आउटपुट आकार के बारे में और भी बुरा है।
wlnirvana
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.