एक तंत्रिका नेटवर्क में वजन को कम करने में काटे गए सामान्य वितरण का क्या लाभ है?


13

जब फीडरवर्ड न्यूरल नेटवर्क में कनेक्शन वेट का इनिशियलाइज़ किया जाता है, तो किसी भी समरूपता से बचने के लिए उन्हें बेतरतीब ढंग से इनिशियलाइज़ करना ज़रूरी होता है, ताकि लर्निंग एल्गोरिथम टूट न सके।

विभिन्न स्थानों में मैंने जो सिफारिश देखी है (उदाहरण के लिए, TensorFlow के MNIST ट्यूटोरियल में ), मानक विचलन का उपयोग करके काटे गए सामान्य वितरण का उपयोग करने के लिए , जहां इनपुट की संख्या है। दिया न्यूरॉन परत।1NN

मेरा मानना ​​है कि मानक विचलन सूत्र यह सुनिश्चित करता है कि बैकप्रॉपैगेटेड ग्रेडिएंट्स जल्दी से घुलें या न बढ़ें। लेकिन मुझे नहीं पता कि हम एक सामान्य सामान्य वितरण के विपरीत एक काटे गए सामान्य वितरण का उपयोग क्यों कर रहे हैं। क्या दुर्लभ दुर्लभ वजन से बचना है?


क्या आप इस सिफारिश और / या प्रत्यक्ष उद्धरण के स्रोत प्रदान कर सकते हैं?
टिम

+ टिम गुड पॉइंट, मैंने एक उदाहरण के लिए एक लिंक जोड़ा। मेरा मानना ​​है कि मैंने न्यूरल नेटवर्क के अच्छे व्यवहारों के बारे में एक पेपर में यह सिफारिश देखी है (हालांकि यह नहीं मिल सकता है)।
मिनीक्वार्क

जवाबों:


13

मुझे लगता है कि यह न्यूरॉन्स की संतृप्ति के बारे में है। इस बारे में सोचें कि आपके पास सिग्मॉइड की तरह एक सक्रियण फ़ंक्शन है।

यहाँ छवि विवरण दर्ज करें

यदि आपके वजन की वैल्यू> = 2 या <= - 2 हो जाती है तो आपका न्यूरॉन नहीं सीखेगा। इसलिए, यदि आप अपने सामान्य वितरण को कम करते हैं, तो आपके विचरण के आधार पर आपके पास यह समस्या (आरंभ से कम से कम) नहीं होगी। मुझे लगता है कि क्यों, इसका बेहतर सामान्य रूप से काटकर इस्तेमाल करने के लिए बेहतर है।


हाँ, यह समझ में आता है, धन्यवाद। मुझे लगता है कि आपका मतलब "मान> = 2" है, न कि 1.
मिनीक्वार मार्क

हां यह मान लिया गया है कि मूल्य = = 2
गुस्ताख बासा

4

काटे गए सामान्य वितरण का उपयोग करने का लाभ relu_logits का उपयोग करने के कारण "मृत न्यूरॉन्स" उत्पन्न करने से रोकना है, जिसे यहां समझाया गया है

सममिति को तोड़ने के लिए शोर की एक छोटी मात्रा के साथ वजन को कम करना चाहिए, और 0 ग्रेडिएंट को रोकने के लिए। चूंकि हम ReLU न्यूरॉन्स का उपयोग कर रहे हैं, इसलिए "मृत न्यूरॉन्स" से बचने के लिए थोड़ा सकारात्मक प्रारंभिक पूर्वाग्रह के साथ उन्हें शुरू करना भी अच्छा अभ्यास है।


मुझे यकीन नहीं है कि truncated_normal का उपयोग करना मृत न्यूरॉन्स को कैसे रोकेगा: यह कोई "थोड़ा सकारात्मक प्रारंभिक पूर्वाग्रह" नहीं जोड़ेगा। क्या आप कृपया विस्तार से बता सकते हैं?
15

1
क्योंकि बैकप्रॉपैगैशन केवल 'लाइव' न्यूरॉन्स को अपडेट करेगा, प्रचार में कुछ गैर-योगदानकर्ता के साथ
जेसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.