सीएनएन में, अपप्लिमेंटिंग कर रहे हैं और कनवल्शन को ट्रांसप्लांट कर रहे हैं?


12

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

  1. ट्रांज़ोज़ कनवल्शन : ऐसा लगता है कि हम इसका उपयोग तब कर सकते हैं जब हम कनफ्यूज़नल न्यूरल नेटवर्क के माध्यम से नुकसान का प्रचार करते हैं।

    http://andrew.gibiansky.com/blog/machine-learning/convolutional-neural-networks/#Backward-Propagation

    https://github.com/vdumoulin/conv_arithmetic

    https://arxiv.org/pdf/1312.6034v2.pdf , धारा 4 "दृढ़ परत के लिए ..."

  2. अपसम्पलिंग : ऐसा लगता है जैसे हम इसका उपयोग तब करते हैं जब हम छोटे इनपुट से बड़े इनपुट से लेकर काफनेट-डिकॉवनेट संरचना में अपग्रेड करना चाहते हैं।

    https://www.youtube.com/watch?v=ByjaPdWXKJ4&feature=youtu.be&t=22m


1
Datascience.stackexchange.com/questions/15863/… पर क्रॉस-पोस्ट किया गया । कृपया क्रॉस-पोस्ट न करें, लेकिन तय करें कि आप किस साइट पर अपना प्रश्न चाहते हैं।
स्कॉर्टी - मोनिका

@Scortchi ओह वे जुड़े हुए हैं !? क्षमा करें, मैं डेटा विज्ञान में से एक को हटा देता हूं।
रॉकइंटरस्टार

एक दिलचस्प पोस्ट तथाकथित deconvolutions पर
हंस

जवाबों:


9

चूंकि कोई विस्तृत और चिह्नित उत्तर नहीं है, इसलिए मैं अपना सर्वश्रेष्ठ प्रयास करूंगा।

आइए पहले समझते हैं कि इस तरह की परतों के लिए प्रेरणा कहां से आती है: उदाहरण के लिए एक दृढ़ ऑटोकारोडर। आप मूल छवि को फिर से संगठित करने के लिए ऑटोकेनडर को प्रशिक्षित करते समय छवियों के करतब निकालने के लिए एक दृढ़ ऑटोकारोडर का उपयोग कर सकते हैं। (यह एक अनसुलझी विधि है।)

इस तरह के ऑटोएन्कोडर के दो भाग होते हैं: एनकोडर जो छवि से सुविधाओं को निकालता है और डिकोडर जो इन विशेषताओं से मूल छवि को फिर से संगठित करता है। एनकोडर और डिकोडर की वास्तुकला आमतौर पर प्रतिबिंबित होती है।

एक दृढ़ ऑटोकारोडर में, एन्कोडर कनवल्शन और पूलिंग लेयर्स के साथ काम करता है। मुझे लगता है कि आप जानते हैं कि ये कैसे काम करते हैं। डिकोडर एनकोडर को मिरर करने की कोशिश करता है लेकिन "सब कुछ छोटा करने" के बजाय छवि के मूल आकार से मेल खाने के लिए "सब कुछ बड़ा बनाने" का लक्ष्य है।

कन्वेन्शियल लेयर्स के विपरीत ट्रांसपोज़्ड कन्वेन्शन लेयर्स हैं (इसे डिकोन्वोल्यूशन के रूप में भी जाना जाता है , लेकिन सही ढंग से गणितीय रूप से यह कुछ अलग है)। वे फिल्टर, गुठली के साथ काम करते हैं, दृढ़ संकल्प परतों के रूप में घूमते हैं, लेकिन उदाहरण के लिए 3x3 इनपुट पिक्सेल से 1 आउटपुट तक वे 1 इनपुट पिक्सेल से 3x3 पिक्सेल तक मैप करते हैं। बेशक, बैकप्रोपैजेशन भी थोड़ा अलग काम करता है।

पूलिंग लेयर्स के उलट अपसैंपिंग लेयर्स होती हैं जो उनके शुद्धतम रूप में केवल छवि का आकार बदलती हैं (या आवश्यकतानुसार पिक्सेल को कॉपी करते हैं)। एक अधिक उन्नत तकनीक अनप्लगिंग है जो अधिकतम परतों में मैक्सिमा के स्थान को याद करके मैक्सपूलिंग को बदल देती है और अनप्लिंग परतों में मूल्य को इस स्थान पर बिल्कुल कॉपी करती है। इस से उद्धृत करने के लिए ( https://arxiv.org/pdf/1311.2901v3.pdf ) पेपर:

काफनेट में, अधिकतम पूलिंग ऑपरेशन गैर-उल्टा है, हालांकि हम स्विच चर के एक सेट में प्रत्येक पूलिंग क्षेत्र के भीतर मैक्सिमा के स्थानों को रिकॉर्ड करके एक अनुमानित व्युत्क्रम प्राप्त कर सकते हैं। डिकोन्वनेट में, अनप्लिंग ऑपरेशन इन स्विच का उपयोग उपयुक्त स्थानों में ऊपर की परत से पुनर्निर्माण को करने के लिए करता है, जिससे उत्तेजना की संरचना का संरक्षण होता है।

अधिक तकनीकी इनपुट और संदर्भ के लिए इस पर वास्तव में अच्छा, प्रदर्शनकारी और गहन विवरण में एक नज़र है: http://deeplearning.net/software/theano/tutorial/conv_arithmetic.html

और https://www.quora.com/What-is-the-difference-between-Deconvolution-Upsampling-Unpooling-and-Convolutional-Sparse-Coding पर एक नज़र


एफ। चॉलेट (केरस के निर्माता) का तर्क होगा कि यह एक स्व-पर्यवेक्षण तकनीक है
हंस

6

यह आपके द्वारा उपयोग किए जा रहे पैकेज पर निर्भर हो सकता है।

केरस में वे अलग हैं। Upsampling को यहां परिभाषित किया गया है https://github.com/fchollet/keras/blob/master/keras/layers/convolutional.py बशर्ते आप टेंसरफ़्लो बैकएंड का उपयोग करें, वास्तव में क्या होता है केआर्स कॉल टेंसर रिसाइज़_इमेज फंक्शन, जो अनिवार्य रूप से एक प्रक्षेप है और नहीं trainable।

प्रत्यारोपित आक्षेप अधिक शामिल है। यह ऊपर सूचीबद्ध एक ही अजगर लिपि में परिभाषित किया गया है। यह टेंसरफ़्लो conv2d_transpose फ़ंक्शन को कॉल करता है और इसमें कर्नेल है और यह ट्रेन करने योग्य है।

उम्मीद है की यह मदद करेगा।


1

विचारात्मक तंत्रिका नेटवर्क के संदर्भ में विकृति आक्षेप का संक्रमण का पर्याय है। Deconvolution अन्य क्षेत्रों में एक और अर्थ हो सकता है ।

अपसरण प्रदर्शन करने के लिए अन्य लोगों के बीच पारगमन दृढ़ संकल्प एक रणनीति है।


हाँ मैं सहमत हूँ। लेकिन लगता है कि जिस तरह से संदर्भ उन्हें समझाते हैं वह अलग है। No.2 में वीडियो देखें और फिर नंबर 1 में संदर्भ देखें (व्यक्तिगत रूप से, मैं नंबर 1 स्पष्टीकरण के लिए जाता हूं)
RockTheStar

@RockTheStar किस अवधारणा को अलग तरीके से समझाया गया है? आक्षेप या अपसंस्कृति?
फ्रेंक डेर्नोनकोर्ट

1
वीडियो में नंबर 2 में अपसम्पुलेशन / डेकोनोवल्शन कॉन्सेप्ट को समझाया गया है। यह कुछ मिनटों का है।
रॉकइंटरस्टार

0

यहाँ 1 के बीच अंतर पर एक बहुत अच्छा चित्रण है) प्रतिक्षेप और 2) अपसंस्कृति + निक्षेपण। https://distill.pub/2016/deconv-checkerboard/

जबकि ट्रांसजेंड कनवल्शन अधिक कुशल है, लेख अपसंस्कृति + कनवल्शन की वकालत करता है क्योंकि यह चेकबोर्ड की विरूपण साक्ष्य से ग्रस्त नहीं है।

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