जब आप एक ही मूल्य के वजन को इनिशियलाइज़ करते हैं तो बैकप्रॉपैगैशन काम क्यों नहीं करता है?


20

जब आप सभी वजन को एक ही मूल्य (0.5) कहते हैं, तो बैकप्रॉपैगैशन काम क्यों नहीं करता है, लेकिन यादृच्छिक संख्याओं को देखते हुए ठीक काम करता है?

क्या एल्गोरिथ्म को त्रुटि की गणना नहीं करनी चाहिए और वहां से काम करना चाहिए, इस तथ्य के बावजूद कि वजन शुरू में समान हैं?

जवाबों:


26

समरूपता तोड़ना।

यदि सभी भार समान मूल्यों से शुरू होते हैं और यदि समाधान के लिए आवश्यक है कि असमान भार विकसित किए जाएं, तो सिस्टम कभी भी सीख नहीं सकता है।

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


तो एक एनएन नहर का प्रारंभिक वजन केवल उस गति को निर्धारित करता है जिस पर वह प्रशिक्षित होता है, लेकिन सीखने या सीखने का कारण भी हो सकता है?
15:17 पर user1724140

2
हां, कभी-कभी, हम वजन के सिर्फ एक सेट पर (उदाहरण के लिए एक तंत्रिका नेटवर्क) को प्रशिक्षित नहीं करते हैं। एक सामान्य बात, अगर हमारे पास समय है, तो कई अलग-अलग प्रारंभ वजन विन्यास बनाना और उस पर नेटवर्क को प्रशिक्षित करना है। क्योंकि कुछ समय, ऐसा हो सकता है कि एक कॉन्फ़िगरेशन एक स्थानीय ऑप्टिमा में समाप्त हो जाएगा या वजन दुर्भाग्य से वास्तव में यादृच्छिक नहीं थे।
थीस

यह गलत नहीं है, क्योंकि विभिन्न इनपुट अभी भी समरूपता को तोड़ सकते हैं। देखें: open.wolframcloud.com/env/…
user3180

12

थियरी के उत्तर में जोड़ने के लिए, आप वेट वेक्टर के एक फ़ंक्शन के रूप में त्रुटि के बारे में सोच सकते हैं आरnआरजिसे आप कम से कम करना चाहेंगे। बैक प्रचार एल्गोरिथ्म एक बिंदु के स्थानीय पड़ोस को देखकर काम करता है और यह देखते हुए कि किस दिशा में एक छोटी सी त्रुटि होगी। यह तब आपको एक स्थानीय न्यूनतम देगा।

आप इसे वैश्विक न्यूनतम क्या चाहते हैं, लेकिन आपके पास इसे खोजने का कोई गारंटी तरीका नहीं है। और अगर आपकी सतह में कई स्थानीय मिनीमा हैं तो आप मुश्किल में पड़ सकते हैं।

लेकिन अगर यह केवल कुछ ही है, तो थियरी की रणनीति को काम करना चाहिए - बेतरतीब ढंग से चयनित बिंदुओं पर शुरू करके स्थानीय मिनीमा के लिए कई खोजों का प्रदर्शन करना चाहिए जिससे आपके वैश्विक न्यूनतम खोजने की संभावना बढ़ जाए।

और खुशहाल स्थिति में जिसमें केवल एक न्यूनतम है - कोई भी प्रारंभिक वजन वेक्टर आपको इसे ले जाएगा।

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