तंत्रिका नेटवर्क वास्तुकला कैसे तय करें?


20

मैं सोच रहा था कि हमें कैसे तय करना है कि छिपी हुई परतों में कितने नोड्स हैं, और कितने छिपे हुए लेयर हैं जब हम एक न्यूरल नेटवर्क आर्किटेक्चर का निर्माण करते हैं।

मैं समझता हूं कि इनपुट और आउटपुट परत प्रशिक्षण सेट पर निर्भर करती है जो हमारे पास है लेकिन हम छिपी हुई परत और समग्र वास्तुकला को सामान्य रूप से कैसे तय करते हैं?


आमतौर पर हम प्रयोग करते हैं, अपने अंतरंग का उपयोग करते हुए; इसे हाइपरपैरमीटर मानें । वास्तुकला सीखने के तरीके हैं, लेकिन मुझे नहीं पता कि वे कितने व्यावहारिक हैं: blog.acolyer.org/2017/05/10/…
Emre

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


यह जवाब देने के लिए एक बहुत ही दिलचस्प सवाल है (शोधकर्ता ने आपके सवाल पर काम करना शुरू कर दिया)। डेटासेट A और डेटासेट B के लिए इष्टतम आर्किटेक्चर क्या होगा। कृपया उस कागज के नीचे पढ़ें जो आपके प्रश्न का उत्तर देने का प्रयास करता है। तंत्रिका वास्तुकला खोज (एनएएस) की दुनिया में आपका स्वागत है। arxiv.org/abs/1611.01578
iDeepVision

जवाबों:


17

अफसोस की बात है कि एक समस्या का वर्णन करने के लिए एक न्यूरल नेटवर्क के लिए सबसे अच्छी संख्या में न्यूरॉन्स और परतों की संख्या को प्राथमिकता देने का कोई सामान्य तरीका नहीं है । शुरुआती बिंदु के रूप में प्रयास करने के लिए अच्छे मूल्यों का निर्धारण करने के लिए बहुत अधिक मार्गदर्शन नहीं है।

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

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

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

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

  • सरल शुरू करें और एक सरल नेटवर्क को बेहतर बनाने के लिए जटिलता का निर्माण करें।

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

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

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


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


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

@ user7677413: यही बात लागू होती है। आपको प्रयास करना होगा और देखना होगा, हालांकि अनुभव आपको परिचित समस्याओं पर एक मार्गदर्शक दे सकता है।
नील स्लाटर

1
तंत्रिका नेटवर्क कब आवश्यक है?
user7677413

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

1
@ user7677413 मुझे लगता है कि आप यह धारणा बना रहे हैं कि 40 साल की गहरी और व्यावहारिक मशीन लर्निंग रिसर्च नहीं है। ऐसा लगता है कि आप सिर्फ सतह को खरोंच रहे हैं। मैं एक पाठ्यपुस्तक खोजने की सलाह देता हूं और यह देखता हूं कि यह सब एक साथ कैसे जुड़ता है, जो कई मशीन लर्निंग एल्गोरिदम के लिए आपके अंतर्ज्ञान का निर्माण करने में मदद करेगा।
एलेक्स एल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.