- पूर्वाग्रह नोड्स का उपयोग तंत्रिका नेटवर्क में क्यों किया जाता है?
- आपको कितने का उपयोग करना चाहिए?
- आपको किन परतों में उनका उपयोग करना चाहिए: सभी छिपी हुई परतें और आउटपुट परत?
जवाबों:
तंत्रिका नेटवर्क में पूर्वाग्रह नोड एक नोड है जो हमेशा 'ऑन' रहता है। अर्थात्, किसी दिए गए पैटर्न में डेटा के संबंध में इसका मूल्य सेट है । यह प्रतिगमन मॉडल में अवरोधन के अनुरूप है, और एक ही कार्य करता है। यदि किसी दिए गए लेयर में न्यूरल नेटवर्क में बायस नोड नहीं है, तो यह अगली लेयर में आउटपुट उत्पन्न करने में सक्षम नहीं होगा, जो कि से भिन्न होता है (रैखिक पैमाने पर, या मान जो के परिवर्तन से मेल खाता है, जब यह गुजरता है सक्रियण फ़ंक्शन) जब सुविधा मान होते हैं ।
एक साधारण उदाहरण पर विचार करें: आप आगे कोई फ़ीड perceptron 2 इनपुट नोड्स के साथ और , और 1 उत्पादन नोड । और द्विआधारी विशेषताएं हैं और उनके संदर्भ स्तर पर सेट किए जाते हैं, । उन 2 गुणा करें जो आपको पसंद हैं, और , उत्पादों को योग करें और जो भी सक्रियण फ़ंक्शन पसंद करते हैं, उसके माध्यम से इसे पास करें। पूर्वाग्रह नोड के बिना, केवल एक आउटपुट मूल्य संभव है, जो बहुत खराब फिट हो सकता है। उदाहरण के लिए, लॉजिस्टिक एक्टिवेशन फंक्शन का उपयोग करते हुए, होना चाहिए, जो दुर्लभ घटनाओं को वर्गीकृत करने के लिए भयानक होगा।
पूर्वाग्रह नोड तंत्रिका नेटवर्क मॉडल को काफी लचीलापन प्रदान करता है। ऊपर दिए गए उदाहरण में, एक पूर्वाग्रह नोड के बिना केवल अनुमानित अनुपात , लेकिन एक पूर्वाग्रह नोड के साथ, किसी भी अनुपात में जहां के पैटर्न के लिए फिट किया जा सकता है । प्रत्येक परत के लिए, , जिसमें एक पूर्वाग्रह नोड जोड़ा जाता है, पूर्वाग्रह नोड जोड़ अतिरिक्त पैरामीटर / वजन का अनुमान लगाया जाएगा (जहां परत में नोड्स की संख्या है।)। फिट किए जाने वाले अधिक मापदंडों का अर्थ है कि तंत्रिका नेटवर्क को प्रशिक्षित होने में समानुपातिक रूप से अधिक समय लगेगा। यह ओवरफिटिंग की संभावना को भी बढ़ाता है, अगर आपके पास सीखने के लिए वजन से अधिक डेटा नहीं है।
इस समझ को ध्यान में रखते हुए, हम आपके स्पष्ट प्रश्नों का उत्तर दे सकते हैं:
सरल, संक्षिप्त उत्तर:
मेरे स्वामी थीसिस में कुछ प्रयोगों में (उदाहरण पृष्ठ 59), मैंने पाया कि पूर्वाग्रह पहली परत के लिए महत्वपूर्ण हो सकता है, लेकिन विशेष रूप से अंत में पूरी तरह से जुड़े परतों में यह एक बड़ी भूमिका नहीं निभाता है। इसलिए एक उन्हें पहले कुछ परतों में और आखिरी में नहीं हो सकता। बस एक नेटवर्क को प्रशिक्षित करें, पूर्वाग्रह नोड्स के वजन के वितरण की साजिश करें और उन्हें कम करें अगर वजन शून्य के बहुत करीब लगता है।
यह नेटवर्क आर्किटेक्चर / डेटासेट पर अत्यधिक निर्भर हो सकता है।
1
कि पिछली परत में एक स्थिर मान हो और अगली परतों में से प्रत्येक के लिए एक वजन (एक पूर्वाग्रह मान) हो।
तंत्रिका नेटवर्क के संदर्भ में, बैच सामान्यकरण वर्तमान में स्मार्ट बनाने के लिए स्वर्ण-मानक है "पूर्वाग्रह नोड्स।" न्यूरॉन के पूर्वाग्रह मान को क्लैंप करने के बजाय, आप न्यूरॉन के इनपुट के सहसंयोजक के लिए समायोजित करते हैं। तो एक सीएनएन में, आप केवल परतदार परत और अगली पूरी तरह से जुड़ी परत (कहे जाने वाले, ReLus) के बीच एक बैच सामान्यीकरण लागू करेंगे। सिद्धांत रूप में, सभी पूरी तरह से जुड़ी हुई परतें बैच सामान्यीकरण से लाभान्वित हो सकती हैं, लेकिन व्यवहार में यह लागू करना बहुत महंगा हो जाता है क्योंकि प्रत्येक बैच सामान्यीकरण अपने स्वयं के मापदंडों को वहन करता है।
इस बारे में कि, अधिकांश उत्तरों ने पहले ही समझाया है कि, विशेष रूप से, न्यूरॉन्स संतृप्त ग्रेडिएंट के लिए अतिसंवेदनशील होते हैं, जब इनपुट सक्रियता को चरम पर धकेल देता है। ReLu के मामले में, इसे बाईं ओर धकेल दिया जाएगा, जिसका प्रवणता 0. एक सामान्य रूप से होती है, जब आप किसी मॉडल को प्रशिक्षित करते हैं, तो आप सबसे पहले तंत्रिका नेटवर्क में इनपुट को सामान्य करते हैं। बैच सामान्यीकरण परतों के बीच तंत्रिका नेटवर्क के अंदर इनपुट को सामान्य करने का एक तरीका है ।