machine learning - न्यूरल नेटवर्क के वजन को यादृच्छिक संख्याओं में क्यों शुरू किया जाना चाहिए?




machine-learning neural-network (2)

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

एक ही तर्क अन्य एल्गोरिदम पर लागू होता है, जो वैश्विक इष्टतम (के-साधन, ईएम इत्यादि) नहीं ढूंढ पा रहे हैं और वैश्विक अनुकूलन तकनीकों (जैसे एसवीओ के लिए एसएमओ एल्गोरिदम) पर लागू नहीं होते हैं।

मैं खरोंच से एक तंत्रिका नेटवर्क बनाने की कोशिश कर रहा हूँ। सभी एआई साहित्य में एक सर्वसम्मति है कि नेटवर्क को तेज़ी से एकत्रित करने के लिए यादृच्छिक संख्याओं के लिए प्रारंभ किया जाना चाहिए।

लेकिन तंत्रिका नेटवर्क शुरुआती वजन क्यों यादृच्छिक संख्या के रूप में शुरू किया जाता है?

मैंने कहीं पढ़ा था कि यह "समरूपता को तोड़ने" के लिए किया जाता है और इससे तंत्रिका नेटवर्क तेजी से सीखता है। समरूपता को तोड़ने से यह तेजी से सीखता है?

वजन को 0 तक शुरू करना बेहतर विचार नहीं होगा? इस तरह वजन वजन (चाहे सकारात्मक या नकारात्मक) तेजी से मिल सके?

वज़न को यादृच्छिक बनाने के पीछे कुछ अन्य अंतर्निहित दर्शन है, यह उम्मीद करते हुए कि वे प्रारंभ होने पर उनके इष्टतम मूल्यों के निकट होंगे?


ब्रेकिंग समरूपता यहां आवश्यक है, न कि प्रदर्शन के कारण के लिए। Multilayer perceptron (इनपुट और छिपी परतों) की पहली 2 परतों की कल्पना करो:

आगे के प्रचार के दौरान छुपा परत में प्रत्येक इकाई संकेत मिलता है:

यही है, प्रत्येक छिपी इकाई को इसी वजन से गुणा इनपुट का योग मिलता है।

अब कल्पना करें कि आप सभी वजन एक ही मूल्य (जैसे शून्य या एक) में शुरू करते हैं। इस मामले में, प्रत्येक छिपी इकाई को एक ही संकेत मिलेगा । उदाहरण के लिए यदि सभी वजन 1 तक शुरू हो जाते हैं, तो प्रत्येक इकाई इनपुट के योग के बराबर संकेत प्राप्त करती है (और sigmoid(sum(inputs)) आउटपुट sigmoid(sum(inputs)) )। यदि सभी वजन शून्य हैं, जो भी बदतर है, हर छिपी इकाई को शून्य संकेत मिलेगा। कोई फर्क नहीं पड़ता कि इनपुट क्या था - यदि सभी वजन समान हैं, तो छुपी परत में सभी इकाइयां भी वही होंगी

यह समरूपता के साथ मुख्य मुद्दा है और कारण आपको वजन को यादृच्छिक रूप से प्रारंभ करना चाहिए (या, कम से कम, विभिन्न मानों के साथ)। ध्यान दें, यह समस्या उन सभी आर्किटेक्चर को प्रभावित करती है जो प्रत्येक-से-प्रत्येक कनेक्शन का उपयोग करती हैं।







gradient-descent