34

मैं तंत्रिका नेटवर्क के क्षेत्र में नया हूं और मैं डीप विश्वास नेटवर्क और कनवॉल्यूशनल नेटवर्क के बीच अंतर जानना चाहता हूं। इसके अलावा, क्या एक गहरी संवहनी नेटवर्क है जो गहरी विश्वास और कनवॉल्यूशनल न्यूरल नेट का संयोजन है?डीप विश्वास नेटवर्क बनाम कनवॉल्यूशनल न्यूरल नेटवर्क

यही वह है जो मैंने अभी तक एकत्र किया है। अगर मैं गलत हूं कृपया मुझे सही।

एक छवि वर्गीकरण समस्या के लिए, दीप विश्वास नेटवर्क में कई परतें हैं, जिनमें से प्रत्येक को लालची परत-वार रणनीति का उपयोग करके प्रशिक्षित किया जाता है। उदाहरण के लिए, मेरी छवि आकार 50 x 50 है, और मैं एक गहरी नेटवर्क चाहते हैं 4 परतों अर्थात्

  1. इनपुट परत
  2. छिपा परत 1 (HL1)
  3. छिपा परत 2 (HL2)
  4. साथ करता है, तो
  5. आउटपुट लेयर

मेरे इनपुट परत 50 x 50 = 2500 न्यूरॉन्स होगा, HL1 = 1000 न्यूरॉन्स (कहते हैं), HL2 = 100 न्यूरॉन्स (कहते हैं) और आउटपुट परत = 10 न्यूरॉन्स, आदेश को प्रशिक्षित करने में भार (डब्ल्यू 1) हो टिन इनपुट लेयर और एचएल 1, मैं एक ऑटोइन्कोडर (2500 - 1000 - 2500) का उपयोग करता हूं और आकार 2500 x 1000 के आकार में सीखता हूं (यह असुरक्षित शिक्षा है)। फिर मैं सुविधाओं के एक सेट को प्राप्त करने के लिए पहली छिपी हुई परतों के माध्यम से सभी छवियों को आगे खिलाता हूं और फिर सुविधाओं का अगला सेट प्राप्त करने के लिए एक और ऑटोनकोडर (1000 - 100 - 1000) का उपयोग करता हूं और अंततः वर्गीकरण के लिए सॉफ्टमैक्स परत (100 - 10) का उपयोग करता हूं। (केवल अंतिम परत के वजन सीखना (एचएल 2 - आउटपुट जो सॉफ्टमैक्स परत है) पर्यवेक्षित शिक्षा है)।

(मैं ऑटोकोडर के बजाय आरबीएम का उपयोग कर सकता हूं)।

यदि कन्वोल्यूशनल न्यूरल नेटवर्क का उपयोग करके एक ही समस्या हल हो गई, तो 50x50 इनपुट छवियों के लिए, मैं केवल 7 x 7 पैच (कहें) का उपयोग करके नेटवर्क विकसित करूंगा। मेरे परतों

  1. इनपुट लेयर (7 x 7 = 49 न्यूरॉन्स)
  2. HL1 (25 विभिन्न सुविधाओं के लिए 25 न्यूरॉन्स) हो सकता है - (घुमाव परत)
  3. पूलिंग लेयर
  4. आउटपुट लेयर (Softmax)

और वजन सीखने के लिए, मैं 50 x 50 आकार की छवियों से 7 x 7 पैच लेता हूं, और संकल्पक परत के माध्यम से आगे फ़ीड करता हूं, इसलिए मेरे पास प्रत्येक आकार के 25 अलग-अलग फीचर मैप्स होंगे (50 - 7 + 1) एक्स (50 - 7 + 1) = 44 x 44.

मैं पूलिंग हाथ के लिए 11x11 की एक विंडो का उपयोग करता हूं इसलिए पूलिंग परत के आउटपुट के लिए 25 फीचर मैप्स आकार (4 x 4) प्राप्त करें। मैं वर्गीकरण के लिए इन फीचर मैप्स का उपयोग करता हूं।

वजन सीखते समय, मैं परत विश्वास रणनीति का उपयोग डीप विश्वास नेटवर्क (अप्रशिक्षित लर्निंग) में नहीं करता, बल्कि इसके बजाय पर्यवेक्षित शिक्षा का उपयोग करता हूं और सभी परतों के वजन को एक साथ सीखता हूं। क्या यह सही है या वजन सीखने का कोई और तरीका है?

क्या मैं सही समझ गया हूं?

इसलिए यदि मैं छवि वर्गीकरण के लिए डीबीएन का उपयोग करना चाहता हूं, तो मुझे अपनी सभी छवियों को किसी विशेष आकार (200x200 कहें) में बदलना चाहिए और इनपुट परत में कई न्यूरॉन्स हैं, जबकि सीएनएन के मामले में, मैं केवल ट्रेन पर ट्रेन करता हूं इनपुट के छोटे पैच (आकार 200x200 की छवि के लिए 10 x 10 कहें) और पूरी छवि पर सीखे वजन को हल करें?

क्या डीबीएन सीएनएन की तुलना में बेहतर परिणाम प्रदान करते हैं या यह डेटासेट पर पूरी तरह से निर्भर है?

धन्यवाद।

+2

आप dsp.stackexchange में भी पूछ सकते हैं। एक बेहतर जवाब मिल सकता है। – GilLevi

उत्तर

19

आम तौर पर, डीबीएन जेनरेटिव तंत्रिका नेटवर्क हैं जो प्रतिबंधित बोल्टज़मान मशीनों (आरबीएम) को ढेर करते हैं। आप आरबीएम को जनरेटिव ऑटोनकोडर्स के रूप में सोच सकते हैं; यदि आप एक गहरी विश्वास नेट चाहते हैं तो आपको आरबीएम को ढेर करना चाहिए और साइड ऑटोनेकोडर्स नहीं होना चाहिए क्योंकि हिनटन और उनके छात्र ये साबित हुए कि आरबीएम का ढेर सिग्मोइड विश्वास नेट में होता है।

कनवॉल्यूशनल तंत्रिका नेटवर्क ने एमएनआईएसटी जैसे बेंचमार्क कंप्यूटर दृष्टि डेटासेट पर वर्तमान साहित्य में डीबीएन से बेहतर प्रदर्शन किया है। यदि डेटासेट कंप्यूटर दृष्टि नहीं है, तो डीबीएन सबसे निश्चित रूप से बेहतर प्रदर्शन कर सकते हैं। सिद्धांत रूप में, डीबीएन सबसे अच्छे मॉडल होना चाहिए लेकिन इस समय संयुक्त संभावनाओं का अनुमान लगाने में बहुत मुश्किल है। आपको ली एट में रुचि हो सकती है। अल्स (200 9) कन्वोल्यूशनल डीप विश्वास नेटवर्क पर काम करता है जो दोनों को गठबंधन करता है।

+0

मेरे पास जूते, शर्ट घड़ियों इत्यादि वाली छवियों की एक सूची है, और मैं अपने वर्गीकरण को सटीक मानना ​​चाहता हूं कि यह कहने में सक्षम है कि एक दी गई छवि (कैमरे से ली गई) एक राउंड डायल या स्पोर्ट्स जूते या घड़ी के साथ घड़ी है या एक महिला की ऊँची एड़ी के जूते। ये छवियां 30 × 30 छवियों की तुलना में बहुत बड़ी (400 × 400) हैं जो अधिकांश तंत्रिका जाल एल्गोरिदम का परीक्षण किया गया है (mnist, stl)। तो मैं अनुमान लगा रहा हूं कि एक गहरा विश्वास नेटवर्क स्केल नहीं करेगा (गणना करने के लिए बहुत से पैरामीटर) और इसलिए मुझे एक संकल्पक गहरे विश्वास नेटवर्क का उपयोग करना चाहिए? – user3705926

+0

@ user3705926 आप बस अपनी 400 x 400 छवि को छोटे आकार (जैसे 50 x 50) में पुन: सहेज सकते हैं - जो पैरामीटर की संख्या को बहुत कम कर देगा और प्रदर्शन को प्रभावित नहीं करेगा। और हाँ, आप Conv कोशिश कर सकते हैं। DBN के; ConvNets के बहुत अच्छे नए रूप हैं (उदा। ConvNets w/Maxout, गुडफेलो एट अल पेपर देखें) जिसे आप भी आजमा सकते हैं। सामान्य रूप से गहरी सीख में लगातार नए आविष्कार होते हैं .. इतनी सारी चीजें कोशिश करने के लिए। – rahulm

+0

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

19

मैं सीखने के जूते के माध्यम से स्थिति की व्याख्या करने की कोशिश करूंगा।

आप DBN का उपयोग करते हैं यहाँ उन छवियों को जानने के लिए बुरी बात यह है कि अपने सीखने एल्गोरिथ्म में अलग-अलग स्थानों पर

जूते
  • होगा क्या होगा है।

  • सभी न्यूरॉन्स न केवल जूते पहनने की कोशिश करेंगे बल्कि छवियों में जूते की जगह भी सीखेंगे क्योंकि इसमें वजन के अंदर 'स्थानीय छवि पैच' की अवधारणा नहीं होगी।

  • डीबीएन समझ में आता है अगर आपकी सभी छवियों को आकार, अनुवाद और रोटेशन के माध्यम से गठबंधन किया गया है।

संक्रामक नेटवर्क का विचार यह है कि, वजन साझा करने वाली एक अवधारणा है। अगर मैं इस 'वजन साझा करने' अवधारणा

  • पहले आप 7x7 पैच को देखा, और अपने उदाहरण के अनुसार विस्तार करने के लिए प्रयास करें - पहली परत में अपने न्यूरॉन्स की 3 का एक उदाहरण के रूप में आप कह सकते हैं कि वे जूते सीखा 'फ्रंट', 'बैक-डाउन' और 'बैक-अपर' पार्ट्स के रूप में ये सभी जूते के माध्यम से 7x7 पैच के समान दिखेंगे।

    • आम तौर पर विचार कई घुमाव के परतों को जानने के लिए एक के बाद एक है

      • लाइनों/पहली परत में किनारों,
      • आर्क्स, दूसरी परत में कोनों,
      • उच्च जूते के सामने जैसी ऊंची परतों, चेहरे में आंख, एक कार या आयताकार शंकु में पहिया त्रिभुज के रूप में आदिम लेकिन अभी तक पिछले परतों के संयोजन के संयोजन।
    • आप इन 3 अलग-अलग चीजों के बारे में सोच सकते हैं जिन्हें मैंने आपको 3 अलग-अलग न्यूरॉन्स के रूप में बताया था। और छवि के कुछ हिस्सों में जूते होने पर आपकी छवियों में ऐसे क्षेत्र/न्यूरॉन्स आग लग जाएंगे।

    • पूलिंग आपके उच्च सक्रियताओं की रक्षा करेगा जबकि आपकी छवियों को उप-नमूनाकरण और चीजों को कम्प्यूटेशनल रूप से आसान और व्यवहार्य बनाने के लिए निम्न-आयामी स्थान बनाना होगा।

    • तो आखिरी परत पर जब आप अपने 25X4x4 को देखते हैं, तो दूसरे शब्दों में 400 आयामी वेक्टर, यदि तस्वीर में कहीं भी जूता है तो आपके 'जूता न्यूरॉन' सक्रिय होंगे जबकि गैर-जूते न्यूरॉन्स होंगे शून्य के करीब।

    • और यह समझने के लिए कि कौन से न्यूरॉन्स जूते के लिए हैं और कौन से नहीं हैं, आप 400 आयामी वेक्टर को अन्य पर्यवेक्षित वर्गीकृत में डाल देंगे (यह बहु-वर्ग-एसवीएम जैसा कुछ भी हो सकता है या जैसा कि आपने सॉफ्ट-मैक्स-लेयर कहा था)

मैं फुकुशिमा 1980 कागज पर एक नज़र समझने के लिए मैं क्या अनुवाद निश्चरता और लाइन के बारे में कहने के लिए कोशिश करने की सलाह दे सकते हैं -> चाप -> अर्धवृत्त -> जूता सामने -> जूता विचार (http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf)। यहां तक ​​कि पेपर में छवियों को देखने से आपको कुछ विचार मिलेगा।

+0

अच्छा, यह बेवकूफ आरबीएम के लिए सच है लेकिन महत्वपूर्ण विकास हुए हैं जिनके इस उत्तर में उल्लेख नहीं किया गया है। ली एट अल। (http://www.cs.toronto.edu/~rgrosse/icml09-cdbn.pdf) संभाव्य अधिकतम-पूलिंग के साथ ही संकल्पक डीबीएन पेश किया। आपके द्वारा वर्णित सीएनएन की ताकत आसानी से डीबीएन को अपनाई जा सकती है और प्रो ली ने कला प्रदर्शन की समय-समय पर राज्य प्राप्त करने में कामयाब रहे। हाल ही में (सीवीपीआर 15), प्रिंसटन में प्रोफेसर जिओ ने 3 डी आकार वर्गीकरण और पुनर्निर्माण के लिए संकल्पक आरबीएन लागू किया :) – VforVitamin

संबंधित मुद्दे