तंत्रिका नेटवर्क के प्रशिक्षण के लिए एक अनुकूलक का चयन करने के लिए दिशानिर्देश


18

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

  • SGD (गति के साथ या बिना)
  • AdaDelta
  • AdaGrad
  • RMSProp
  • एडम

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

यदि आप में से किसी ने ऑप्टिमाइज़र चुनने के बारे में कुछ रणनीति और / या अंतर्ज्ञान विकसित किया है, तो मुझे इसे सुनने में बहुत दिलचस्पी होगी। इसके अलावा, अगर कोई काम है जो एक को दूसरे पर लेने के लिए सैद्धांतिक औचित्य प्रदान करता है, तो यह और भी बेहतर होगा।

जवाबों:


3

1) ऐडग्रैड सीखने की दर को उन मानकों के लिए बहुत कठोर रूप से दंडित करता है जो अक्सर अपडेट किए जाते हैं और विरल मापदंडों, पैरामीटरों के लिए अधिक सीखने की दर देते हैं जो अक्सर अपडेट नहीं किए जाते हैं। कई समस्याओं में अक्सर सबसे महत्वपूर्ण जानकारी डेटा में मौजूद होती है जो अक्सर नहीं बल्कि विरल होती है। तो अगर समस्या आप tf-idf, आदि जैसे विरल डेटा के साथ काम कर रहे हैं। अड़गड़ उपयोगी हो सकता है।

2) AdaDelta, RMSProp लगभग इसी तरह की तर्ज पर काम करता है जिसमें केवल Adadelta में अंतर होता है जिसे शुरू करने के लिए आपको प्रारंभिक सीखने की दर की आवश्यकता नहीं होती है।

3) एडम एडलाट्टा और आरएमएसप्रॉप के अच्छे गुणों को जोड़ता है और इसलिए ज्यादातर समस्याओं के लिए बेहतर करने की कोशिश करता है।

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


2

मेरा व्यक्तिगत दृष्टिकोण ऑप्टिमाइज़र को चुनना है जो सबसे नया है (यानी नवीनतम-प्रकाशित-इन-इन-पीयर-रिव्यू-जर्नल), क्योंकि वे आमतौर पर मानक डेटासेट पर परिणाम की रिपोर्ट करते हैं, या कला के राज्य को हराते हैं, या दोनों। जब मैं उदाहरण के लिए कैफ का उपयोग करता हूं, तो मैं हमेशा एडम ( http://arxiv.org/abs/1412.6980 ) का उपयोग करता हूं ।


0
Nadam(lr=0.002, beta_1=0.9, beta_2=0.999, epsilon=None, schedule_decay=0.004)

बहुत पसंद Adamहै अनिवार्य रूप RMSpropसे गति के साथ, Nadamएडम RMSpropहै नेस्टरोव गति के साथ।

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