पूर्वाग्रह नोड्स का उपयोग तंत्रिका नेटवर्क में क्यों किया जाता है?


29
  1. पूर्वाग्रह नोड्स का उपयोग तंत्रिका नेटवर्क में क्यों किया जाता है?
  2. आपको कितने का उपयोग करना चाहिए?
  3. आपको किन परतों में उनका उपयोग करना चाहिए: सभी छिपी हुई परतें और आउटपुट परत?

1
यह सवाल इस मंच के लिए थोड़ा व्यापक है। मुझे लगता है कि पैटर्न रिकॉग्निशन या हेगन न्यूरल नेटवर्क डिज़ाइन के लिए बिशप न्यूरल नेटवर्क जैसे तंत्रिका नेटवर्क पर चर्चा करने वाली पाठ्यपुस्तक से परामर्श करना सबसे अच्छा होगा ।
साइकोरैक्स का कहना है कि मोनिका

2
FTR, मुझे नहीं लगता कि यह बहुत व्यापक है।
गुंग - को पुनः स्थापित मोनिका

जवाबों:


24

तंत्रिका नेटवर्क में पूर्वाग्रह नोड एक नोड है जो हमेशा 'ऑन' रहता है। अर्थात्, किसी दिए गए पैटर्न में डेटा के संबंध में इसका मूल्य सेट है । यह प्रतिगमन मॉडल में अवरोधन के अनुरूप है, और एक ही कार्य करता है। यदि किसी दिए गए लेयर में न्यूरल नेटवर्क में बायस नोड नहीं है, तो यह अगली लेयर में आउटपुट उत्पन्न करने में सक्षम नहीं होगा, जो कि से भिन्न होता है (रैखिक पैमाने पर, या मान जो के परिवर्तन से मेल खाता है, जब यह गुजरता है सक्रियण फ़ंक्शन) जब सुविधा मान होते हैं ।1000

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

एक साधारण उदाहरण पर विचार करें: आप आगे कोई फ़ीड perceptron 2 इनपुट नोड्स के साथ और , और 1 उत्पादन नोड । और द्विआधारी विशेषताएं हैं और उनके संदर्भ स्तर पर सेट किए जाते हैं, । उन 2 गुणा करें जो आपको पसंद हैं, और , उत्पादों को योग करें और जो भी सक्रियण फ़ंक्शन पसंद करते हैं, उसके माध्यम से इसे पास करें। पूर्वाग्रह नोड के बिना, केवल एक आउटपुट मूल्य संभव है, जो बहुत खराब फिट हो सकता है। उदाहरण के लिए, लॉजिस्टिक एक्टिवेशन फंक्शन का उपयोग करते हुए, होना चाहिएx1x2yx1x2x1=x2=00w1w2y.5, जो दुर्लभ घटनाओं को वर्गीकृत करने के लिए भयानक होगा।

पूर्वाग्रह नोड तंत्रिका नेटवर्क मॉडल को काफी लचीलापन प्रदान करता है। ऊपर दिए गए उदाहरण में, एक पूर्वाग्रह नोड के बिना केवल अनुमानित अनुपात , लेकिन एक पूर्वाग्रह नोड के साथ, किसी भी अनुपात में जहां के पैटर्न के लिए फिट किया जा सकता है । प्रत्येक परत के लिए, , जिसमें एक पूर्वाग्रह नोड जोड़ा जाता है, पूर्वाग्रह नोड जोड़ अतिरिक्त पैरामीटर / वजन का अनुमान लगाया जाएगा (जहां परत में नोड्स की संख्या है।50%(0,1)x1=x2=0jNj+1Nj+1j+1)। फिट किए जाने वाले अधिक मापदंडों का अर्थ है कि तंत्रिका नेटवर्क को प्रशिक्षित होने में समानुपातिक रूप से अधिक समय लगेगा। यह ओवरफिटिंग की संभावना को भी बढ़ाता है, अगर आपके पास सीखने के लिए वजन से अधिक डेटा नहीं है।

इस समझ को ध्यान में रखते हुए, हम आपके स्पष्ट प्रश्नों का उत्तर दे सकते हैं:

  1. डेटा को फिट करने के लिए मॉडल के लचीलेपन को बढ़ाने के लिए बायस नोड्स को जोड़ा जाता है। विशेष रूप से, यह नेटवर्क को डेटा को फिट करने की अनुमति देता है जब सभी इनपुट सुविधाएँ बराबर होती हैं , और बहुत संभवतया डेटा स्थान में कहीं और फिट किए गए मानों के पूर्वाग्रह को कम करता है। 0
  2. आमतौर पर, एक सिंगल बायस नोड इनपुट लेयर के लिए और फीडबाउंड नेटवर्क में प्रत्येक छिपी लेयर के लिए जोड़ा जाता है। आप कभी भी किसी दी गई परत में दो या अधिक नहीं जोड़ेंगे, लेकिन आप शून्य जोड़ सकते हैं। इस प्रकार कुल संख्या काफी हद तक आपके नेटवर्क की संरचना से निर्धारित होती है, हालांकि अन्य विचार लागू हो सकते हैं। (मैं इस बात पर कम स्पष्ट हूं कि फीडबैक के अलावा न्यूरल नेटवर्क संरचनाओं में पूर्वाग्रह नोड्स कैसे जोड़े जाते हैं।)
  3. अधिकतर यह कवर किया गया है, लेकिन स्पष्ट होने के लिए: आप कभी भी आउटपुट परत में पूर्वाग्रह नोड नहीं जोड़ेंगे; इससे कोई मतलब नहीं होगा।

क्या इस संबंध में सीएनएन अलग है? जब से मैं अपने विश्वास परतों में पूर्वाग्रह जोड़ता हूं, तो प्रदर्शन (सटीकता) में गिरावट होती है! और जब मैं उन्हें हटाता हूं, तो यह वास्तव में अधिक हो जाता है!
रिक

@ होसेन, यह नहीं कि मुझे पता है, लेकिन आप एक नया सवाल पूछ सकते हैं। मैं वहां ज्यादा एक्सपर्ट नहीं हूं।
गंग - मोनिका

अगर मेरे इनपुट्स कभी 0 पर नहीं गए तो क्या मुझे अभी भी बायस नोड्स की आवश्यकता होगी?
alec_djinn

1
@alec_djinn, हाँ। लगभग निश्चित रूप से मॉडल उनके बिना पक्षपाती होगा, भले ही आपके पास इनपुट मूल्य के लिए 0 कभी न हो। सादृश्य से, यह पढ़ने में मदद कर सकता है: रैखिक प्रतिगमन मॉडल में अवरोधन को हटाने के लिए कब ठीक है?
गंग - मोनिका

1
@krupeshAnadkat, "एक तंत्रिका नेटवर्क में पूर्वाग्रह नोड एक नोड है जो हमेशा 'ऑन' रहता है। अर्थात, किसी दिए गए पैटर्न में डेटा के संबंध में इसका मान 1 पर सेट है।" यदि आप चाहें तो कनेक्ट कर सकते हैं, बस हमेशा नोड के परिणामी मान को से पहले बदलें, इससे पहले कि आप इसे वजन से गुणा करें, क्योंकि पूर्वाग्रह नोड एक नोड है जिसका मूल्य हमेशा 1 होता है1
गूँग - मोनिका

2

सरल, संक्षिप्त उत्तर:

  1. इनपुट फ़ंक्शन को शिफ्ट करने के लिए / सीखा फ़ंक्शन के बारे में अधिक लचीला होना चाहिए।
  2. प्रति परत एक एकल पूर्वाग्रह नोड।
  3. उन्हें सभी छिपे हुए परतों और इनपुट परत में जोड़ें - कुछ फ़ुटनोट्स के साथ

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

यह नेटवर्क आर्किटेक्चर / डेटासेट पर अत्यधिक निर्भर हो सकता है।


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

1
पूर्वाग्रह अगली परतों की सक्रियता के लिए सिर्फ एक अतिरिक्त संख्या है। इसकी कल्पना करने का एक तरीका यह है 1कि पिछली परत में एक स्थिर मान हो और अगली परतों में से प्रत्येक के लिए एक वजन (एक पूर्वाग्रह मान) हो।
मार्टिन थोमा

2

तंत्रिका नेटवर्क के संदर्भ में, बैच सामान्यकरण वर्तमान में स्मार्ट बनाने के लिए स्वर्ण-मानक है "पूर्वाग्रह नोड्स।" न्यूरॉन के पूर्वाग्रह मान को क्लैंप करने के बजाय, आप न्यूरॉन के इनपुट के सहसंयोजक के लिए समायोजित करते हैं। तो एक सीएनएन में, आप केवल परतदार परत और अगली पूरी तरह से जुड़ी परत (कहे जाने वाले, ReLus) के बीच एक बैच सामान्यीकरण लागू करेंगे। सिद्धांत रूप में, सभी पूरी तरह से जुड़ी हुई परतें बैच सामान्यीकरण से लाभान्वित हो सकती हैं, लेकिन व्यवहार में यह लागू करना बहुत महंगा हो जाता है क्योंकि प्रत्येक बैच सामान्यीकरण अपने स्वयं के मापदंडों को वहन करता है।

इस बारे में कि, अधिकांश उत्तरों ने पहले ही समझाया है कि, विशेष रूप से, न्यूरॉन्स संतृप्त ग्रेडिएंट के लिए अतिसंवेदनशील होते हैं, जब इनपुट सक्रियता को चरम पर धकेल देता है। ReLu के मामले में, इसे बाईं ओर धकेल दिया जाएगा, जिसका प्रवणता 0. एक सामान्य रूप से होती है, जब आप किसी मॉडल को प्रशिक्षित करते हैं, तो आप सबसे पहले तंत्रिका नेटवर्क में इनपुट को सामान्य करते हैं। बैच सामान्यीकरण परतों के बीच तंत्रिका नेटवर्क के अंदर इनपुट को सामान्य करने का एक तरीका है ।

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