तंत्रिका नेटवर्क क्यों गहरे होते जा रहे हैं, लेकिन व्यापक नहीं हैं?


73

हाल के वर्षों में, convolutional तंत्रिका नेटवर्क (या सामान्य रूप में शायद गहरी तंत्रिका नेटवर्क) राज्य के अत्याधुनिक नेटवर्क 7 परतों (से जाने के साथ, गहरे और गहरे हो गए हैं AlexNet 1000 परतों (करने के लिए) अवशिष्ट जाल) 4 की अंतरिक्ष में वर्षों। एक गहरे नेटवर्क से प्रदर्शन को बढ़ावा देने के पीछे का कारण यह है कि एक अधिक जटिल, गैर-रेखीय फ़ंक्शन सीखा जा सकता है। पर्याप्त प्रशिक्षण डेटा को देखते हुए, यह नेटवर्क को विभिन्न वर्गों के बीच अधिक आसानी से भेदभाव करने में सक्षम बनाता है।

हालाँकि, प्रवृत्ति को प्रत्येक परत में मापदंडों की संख्या के साथ पालन नहीं किया गया लगता है। उदाहरण के लिए, संकेंद्रित परतों में फ़ीचर मैप्स की संख्या, या पूरी तरह से जुड़ी परतों में नोड्स की संख्या, लगभग समान ही रही है और परतों की संख्या में बड़ी वृद्धि के बावजूद, परिमाण में अपेक्षाकृत छोटी है। हालांकि मेरे अंतर्ज्ञान से, ऐसा लगता है कि प्रति परत मापदंडों की संख्या में वृद्धि से प्रत्येक परत को डेटा का एक समृद्ध स्रोत मिलेगा, जहां से इसके गैर-रेखीय कार्य को सीखने के लिए; लेकिन इस विचार को लगता है कि अधिक परतों को जोड़ने के पक्ष में अनदेखी की गई है, जिनमें से प्रत्येक छोटी संख्या में पैरामीटर है।

इसलिए जब तक नेटवर्क "गहरा" नहीं हो गया, वे "व्यापक" नहीं बन गए। ऐसा क्यों है?


1
+1 लेकिन उचित होने के लिए, यह नहीं है कि ये 1000+ स्तरित नेटवर्क दूसरों को बेहतर बनाने के अर्थ में "कला की स्थिति" हैं। आप जिस अरिक्सिव पेपर से जुड़े हुए हैं, वह अवशिष्ट नेटवर्क को इमेजनेट पर वर्तमान विजेता के रूप में 152 परतों के साथ जोड़ता है।
अमीबा

3
क्या आपने विस्तृत अवशिष्ट नेटवर्क arxiv.org/abs/1605.07146 पढ़ा है .... शायद कोई कारण नहीं है ...
क्रमिक

@ seanv507 बहुत दिलचस्प है, इस लिंक के लिए धन्यवाद। : Btw, यहाँ एक बहुत ही संबंधित धागा है stats.stackexchange.com/questions/214360 और वहाँ के लिए एक लिंक है इस reddit धागा वहाँ।
अमीबा


बहुत ही संबंधित: आँकड़ें ।stackexchange.com / questions / 182734
अमीबा

जवाबों:


87

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

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

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

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

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


+1। Arxiv.org/abs/1605.07146 पर कोई टिप्पणी ?
अमीबा

2
मैंने केवल इसे स्किम्ड किया है, इसलिए मैं कुछ भी आधिकारिक नहीं कह सकता हूं, लेकिन ऐसा लगता है कि लेखकों ने पाया कि कम से कम अवशिष्ट नेटवर्क के मामले में एक विस्तृत (लेकिन अभी भी 16 परतें गहरी!) शुद्ध एक संकीर्ण, अत्यंत गहरी (1000 परतों) को मात देती हैं। ) नेट। मुझे अवशिष्ट नेटवर्क के बारे में ज्यादा जानकारी नहीं है, लेकिन परिचय के अनुसार ऐसा लगता है कि उन्हें प्रशिक्षित करने में एक कठिनाई यह है कि परतों के लिए एक प्रवृत्ति हो सकती है कि वे कुछ भी न सीखें और जिससे परिणाम में ज्यादा योगदान न हो। ऐसा लगता है कि कम, लेकिन अधिक शक्तिशाली होने से, परतें इससे बच जाती हैं। क्या यह अन्य प्रकार के एनएन पर लागू होता है, मुझे नहीं पता।
जे। ओ। ब्रायन एंटीगिनी

स्पष्ट और संक्षिप्त जवाब, अच्छी तरह से किया। @ जे
ctwardy

21

मुझे नहीं लगता कि आपके प्रश्नों का कोई निश्चित उत्तर है। लेकिन मुझे लगता है कि पारंपरिक ज्ञान निम्नलिखित है:

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

तो आखिरकार, किसी भी डेटासेट के लिए, न्यूनतम मॉडल के साथ काम करना उचित है, जिसमें डेटा की वास्तविक संरचना सीखने की पर्याप्त क्षमता है। लेकिन यह बहुत हाथ से लहराती सलाह है, क्योंकि आमतौर पर "डेटा की वास्तविक संरचना" अज्ञात है, और अक्सर यहां तक ​​कि उम्मीदवार मॉडल की क्षमताओं को केवल अस्पष्ट रूप से समझा जाता है।

जब तंत्रिका नेटवर्क की बात आती है, तो परिकल्पना स्थान का आकार मापदंडों की संख्या से नियंत्रित होता है। और ऐसा लगता है कि मापदंडों की एक निश्चित संख्या (या परिमाण के एक निश्चित क्रम) के लिए, गहराई में जाने से मॉडल अमीर संरचनाओं (जैसे यह कागज ) पर कब्जा करने की अनुमति देता है ।

यह आंशिक रूप से कम मापदंडों के साथ गहरे मॉडल की सफलता की व्याख्या कर सकता है: VGGNet (2014 से) में ~ 140M मापदंडों के साथ 16 परतें हैं, जबकि ResNet (2015 से) ने इसे 152 परतों के साथ हराया लेकिन केवल ~ 2M पैरामीटर

(एक पक्ष के रूप में, छोटे मॉडल कम्प्यूटेशनल रूप से प्रशिक्षण के लिए आसान हो सकते हैं - लेकिन मुझे नहीं लगता कि यह अपने आप में एक प्रमुख कारक है - क्योंकि गहराई वास्तव में प्रशिक्षण को जटिल करती है)

ध्यान दें कि यह प्रवृत्ति (अधिक गहराई, कम पैरामीटर) ज्यादातर दृष्टि-संबंधी कार्यों और दृढ़ नेटवर्क में मौजूद है, और यह एक डोमेन-विशिष्ट स्पष्टीकरण के लिए कहता है। तो यहाँ एक और दृष्टिकोण है:

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

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

इसलिए कंप्यूटर विज़न में गहरे अवक्षेप नेटवर्क की उपयोगिता आंशिक रूप से छवियों और वीडियो की स्थानिक संरचना द्वारा स्पष्ट की जा सकती है। यह संभव है कि यह समय बताएगा कि विभिन्न प्रकार की समस्याओं के लिए, या गैर-प्रासंगिक आर्किटेक्चर के लिए, गहराई वास्तव में अच्छी तरह से काम नहीं करती है।


गहरी नेटवर्कों का प्रतिबंधित बोल्ट्जमैन मशीन हिस्सा अभिसरण समय पर एक बड़ा गुणक है। (afaict)
एंग्रीस्टुडेंट

4
RBM गहरी शिक्षा के लिए अंतर्निहित नहीं हैं। कई (आजकल, ज्यादातर?) सफल गहरे नेटवर्क RBM का उपयोग नहीं करते हैं।
बोरेबी जूल

3
उस कागज से जोड़ने के लिए धन्यवाद, मैंने इसे पहले नहीं देखा था और यह बहुत प्रासंगिक लगता है।
जे। ओ'ब्रायन एंटोगनीनी

@ बोरबी - वे आरबीएम के बिना सुविधाओं को अलग करने का आश्वासन कैसे देते हैं?
EngrStudent

1
+1। Arxiv.org/abs/1605.07146 पर कोई टिप्पणी ?
अमीबा

10

अधिक सुविधाएँ जोड़ने से मदद मिलती है लेकिन बहुत सी सुविधाएँ जुड़ने के बाद लाभ जल्दी से मामूली हो जाता है। यही कारण है कि पीसीए जैसे उपकरण काम करते हैं: कुछ घटक सुविधाओं में अधिकांश विचरण को पकड़ते हैं। इसलिए, कुछ बिंदु के बाद अधिक सुविधाओं को जोड़ना लगभग बेकार है।

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

fCρAv2/2
Aρv

fiβixi

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


5
आप लीनियर ट्रांसफर फ़ंक्शंस मान लेते हैं। लेकिन कई अन्य (आम) विकल्प हैं, और एएनएन के सार्वभौमिक सन्निकटन प्रमेय के अनुसार , यहां तक ​​कि एक छिपी हुई गैर-रेखीय परत (यदि यह पर्याप्त व्यापक है) किसी भी अच्छे कार्य को अनुमानित कर सकती है। इसलिए प्रतिनिधित्वशीलता वास्तव में गहरे नेटवर्क की सफलता की व्याख्या नहीं कर सकती है।
बोरबी जुले

2
मेरा उदाहरण रैखिक था, लेकिन यह व्यापक मामलों पर लागू होता है। आपने "अच्छा" फ़ंक्शन ग्रहण किया लेकिन कई इतने अच्छे नहीं हैं। उदाहरण के लिए जब मैं खरीदने के लिए एक कार का चयन करता हूं तो मेरा निर्णय एल्गोरिदम एक अच्छा कार्य क्यों होगा?
Aksakal

2

dwO(dw2)

आप मापदंडों की संख्या को सीमित करने की कोशिश क्यों कर रहे हैं? कारणों की एक संख्या:

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

O(dw2)w1,w2w1×w2(d2)w

(d2)w2+w(input layer width)+w(output layer width)=O(dw2).
1/wO(dw)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.