उच्च स्तर पर आरएनएन बनाम सीएनएन


53

मैं आवर्तक तंत्रिका नेटवर्क (RNN) और उनकी किस्मों और रूपांतरण तंत्रिका नेटवर्क (CNN) और उनकी किस्मों के बारे में सोच रहा हूं।

क्या ये दो बिंदु कहना उचित होगा:

  • एक घटक (जैसे छवि के रूप में) को तोड़ने के लिए CNNs का उपयोग करें। (जैसे छवि में कोई वस्तु, जैसे कि छवि में वस्तु की रूपरेखा, आदि)
  • सब-कमर्स (इमेज कैप्शनिंग, टेक्स्ट जेनरेशन, लैंग्वेज ट्रांसलेशन आदि) का कॉम्बिनेशन बनाने के लिए RNN का इस्तेमाल करें।

मैं सराहना करूंगा अगर कोई भी इन बयानों में किसी भी तरह की अशुद्धियों को इंगित करना चाहता है। यहां मेरा लक्ष्य CNNs और RNN के उपयोग के बारे में अधिक स्पष्ट नींव प्राप्त करना है।

जवाबों:


42

एक सीएनएन अंतरिक्ष में पैटर्न को पहचानना सीखेगा। इसलिए, जैसा कि आप कहते हैं, एक सीएनएन एक छवि के घटकों (जैसे, लाइनें, घटता, आदि) को पहचानना सीख जाएगा और फिर इन घटकों को संयोजित करके बड़ी संरचनाओं (जैसे, चेहरे, ऑब्जेक्ट्स, आदि) को पहचानना सीखेगा।

आप बहुत सामान्य तरीके से कह सकते हैं, कि एक RNN इसी तरह समय के साथ पैटर्न को पहचानना सीखेगा। इसलिए एक आरएनएन जिसे पाठ का अनुवाद करने के लिए प्रशिक्षित किया गया है, वह सीख सकता है कि "हॉट" शब्द से पहले "कुत्ते" का अनुवाद अलग तरीके से किया जाना चाहिए।

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

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


3
आप आरएनएन मॉडल के karpathy.github.io/assets/rnn/diags.jpeg से अंतर के लिए अच्छा अंतर्ज्ञान प्राप्त कर सकते हैं - एक बहुत नकल ग्राफिक। CNNs केवल एक-से-एक मॉडल मामले को लागू करने के रूप में MLP और अन्य गैर-पुनरावर्ती मॉडल के साथ हैं।
नील स्लेटर

@NeilSlater मुझे इस छवि का मूल लेख भी पता है , लेकिन कभी भी इससे उपयोगी कुछ भी नहीं निकाला जा सका। कृपया, क्या आप विस्तार से जान सकते हैं कि आपने छवि से क्या सीखा?
हाय-एंजेल

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


23

सीएनएन और आरएनएन के बीच अंतर इस प्रकार है:

सीएनएन:

  1. CNN एक निश्चित आकार का इनपुट लेता है और निश्चित आकार के आउटपुट उत्पन्न करता है।

  2. CNN एक प्रकार का फ़ीड-फ़ॉरवर्ड कृत्रिम तंत्रिका नेटवर्क है - बहुपरत पर्सेप्ट्रोन्स के रूपांतर हैं जो न्यूनतम मात्रा में प्रीप्रोसेसिंग का उपयोग करने के लिए डिज़ाइन किए गए हैं।

  3. CNNs अपने न्यूरॉन्स के बीच कनेक्टिविटी पैटर्न का उपयोग करते हैं जो पशु दृश्य कॉर्टेक्स के संगठन से प्रेरित होता है, जिनके व्यक्तिगत न्यूरॉन्स को इस तरह से व्यवस्थित किया जाता है कि वे दृश्य क्षेत्र को छेड़ने वाले अतिव्यापी क्षेत्रों का जवाब देते हैं।

  4. CNN चित्र और वीडियो प्रसंस्करण के लिए आदर्श हैं।

RNN:

  1. आरएनएन मनमाना इनपुट / आउटपुट लंबाई संभाल सकता है।

  2. आरएनएन, फीडफॉर्वर्ड न्यूरल नेटवर्क के विपरीत, इनपुट की मनमानी अनुक्रम को संसाधित करने के लिए अपनी आंतरिक मेमोरी का उपयोग कर सकते हैं।

  3. आवर्तक तंत्रिका नेटवर्क समय-श्रृंखला की जानकारी का उपयोग करते हैं (यानी मैंने जो अंतिम बात कही थी, वह प्रभाव पड़ेगा जो मैं आगे बोलूंगा।)

  4. RNN पाठ और भाषण विश्लेषण के लिए आदर्श हैं।



घनी परतों के बिना सीएनएन मनमाने आकार के इनपुट ले सकते हैं।
मिकेल रौशन

1

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

सामान्य स्थिति में CNN की स्थानीय और स्थिति-अपरिवर्तनीय (उनकी स्थिति से स्वतंत्र रूप से) सुविधाएँ निकालने की प्रवृत्ति होती है, और RNN की समय के साथ अलग-अलग विधाएँ खोजने की प्रवृत्ति होती है, भले ही वे बहुत दूर हों।

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

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

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