सबसे पहले:
केवल इनपुट और आउटपुट की संख्या से एक अच्छा नेटवर्क टोपोलॉजी निर्धारित करने का कोई तरीका नहीं है। यह प्रशिक्षण के उदाहरणों और उस वर्गीकरण की जटिलता पर निर्भर करता है जो आप सीखने की कोशिश कर रहे हैं। [१]
और योशुआ बेंगियो ने एक बहुत ही सरल नियम प्रस्तावित किया है:
केवल तब तक परतें जोड़ते रहें जब तक कि परीक्षण की त्रुटि में सुधार न हो जाए। [२]
इसके अलावा:
कन्वनेट के पहले के फीचर्स में अधिक जेनेरिक फीचर्स (जैसे एज डिटेक्टर या कलर ब्लॉब डिटेक्टर) होते हैं, जो कई कामों के लिए उपयोगी होने चाहिए, लेकिन बाद में कन्वेंशन की परतें मूल डेटासेट में निहित वर्गों के विवरण के लिए उत्तरोत्तर अधिक विशिष्ट हो जाती हैं। 3]
उदाहरण के लिए, फीचर डिटेक्टर सीखने के लिए एक विधि में:
पहली परत एज डिटेक्टरों को जानती है और बाद की परतें अधिक जटिल विशेषताओं को सीखती हैं, और उच्च स्तर की परतें अधिक सार विशेषताओं को एनकोड करती हैं। [4]
तो, दो घने परतों का उपयोग करके एक परत की तुलना में अधिक सलाह दी जाती है।
आखिरकार:
ड्रॉपआउट पर मूल पेपर अभ्यास में ड्रॉपआउट का उपयोग करते समय विचार करने के लिए कई उपयोगी आंकड़े प्रदान करता है। उनमें से एक है:
इनकमिंग (दृश्यमान) और साथ ही छिपी इकाइयों पर ड्रॉपआउट का उपयोग करें। नेटवर्क की प्रत्येक परत पर ड्रॉपआउट के आवेदन ने अच्छे परिणाम दिखाए हैं। [5]
सीएनएन में, आमतौर पर, प्रत्येक पूलिंग परत के बाद, और आपकी घने परत के बाद भी ड्रॉपआउट परत लागू की जाती है। एक अच्छा ट्यूटोरियल यहाँ है [६]
संदर्भ:
[१] https://www.cs.cmu.edu/Groups/AI/util/html/faqs/ai/neural/faq.html
[२] बेंगियो, योशुआ। "गहरे आर्किटेक्चर के ग्रेडिएंट-आधारित प्रशिक्षण के लिए व्यावहारिक सिफारिशें।" तंत्रिका नेटवर्क: व्यापार के गुर। स्प्रिंगर बर्लिन हीडलबर्ग, 2012. 437-478।
[३] http://cs231n.github.io/transfer-learning/
[४] http://learning.eng.cam.ac.uk/pub/Public/Turner/Teaching/ml-lecture-3-slides.pdf
[५] https://machinelearningmastery.com/dropout-hydization-deep-learning-models-keras/
[६] https://cambridgespark.com/content/tutorials/convolutional-neural-networks-with-keras/index.html