डीप लर्निंग में हाइपरपैरामीटर का चयन करने के लिए दिशानिर्देश


38

मैं एक ऐसे कागज की तलाश कर रहा हूँ, जो स्टैक्ड ऑटो-एनकोडर्स या डीप विश्वास नेटवर्क की तरह एक गहरे आर्किटेक्चर के हाइपरपैरमीटर को चुनने के बारे में दिशानिर्देश देने में मदद कर सके। बहुत सारे हाइपरपैरामीटर हैं और मैं बहुत उलझन में हूं कि उन्हें कैसे चुना जाए। इसके अलावा क्रॉस-मान्यता का उपयोग करना एक विकल्प नहीं है क्योंकि प्रशिक्षण वास्तव में बहुत समय लेता है!


मैं इयान गुडफेलो की डीप लर्निंग बुक: deeplearningbook.org
वादिम स्मोलियाकोव

जवाबों:


24

मूल रूप से चार विधियाँ हैं:

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

14

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

प्रत्यक्ष विधियों की कक्षा में, कई अलग-अलग तरीकों की पहचान की जा सकती है:

  • व्युत्पन्न मुक्त तरीके, उदाहरण के लिए नेल्डर-मीड सिम्पलेक्स या प्रत्यक्ष
  • सीएमए-ईएस और कण swarms जैसे विकासवादी तरीके
  • मॉडल आधारित दृष्टिकोण, उदाहरण के लिए ईजीओ और क्रमिक क्रिगिंग

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

मेरे व्यक्तिगत अनुभव के आधार पर, इस प्रकार की समस्याओं के लिए विकासवादी तरीके बहुत शक्तिशाली हैं।


10

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

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