तंत्रिका नेटवर्क गणना में छिपी परत क्या कहती है?


187

मुझे यकीन है कि बहुत से लोग for मुझे आपके लिए गूगल करने दो ’के लिंक के साथ जवाब देंगे, इसलिए मैं कहना चाहता हूं कि मैंने यह पता लगाने की कोशिश की है, इसलिए कृपया मेरी समझ में कमी को यहां माफ कर दें, लेकिन मैं यह पता नहीं लगा सकता कि कैसे तंत्रिका नेटवर्क का व्यावहारिक कार्यान्वयन वास्तव में काम करता है।

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

छिपी हुई परत में क्या संगणना की जाती है?

आउटपुट स्तर पर उन संगणनाओं को कैसे मैप किया जाता है?

Ouput परत कैसे काम करती है? छिपी हुई परत से डेटा को सामान्य करना?

क्यों छिपी परत से जुड़े इनपुट लेयर में कुछ परतें हैं और कुछ नहीं हैं?


13
यहाँ आस-पास के लोग अच्छे हैं, मैंने कभी भी "मुझे आपके लिए Google" उत्तर देने के लिए नहीं देखा है, लेकिन कई आश्चर्यजनक रूप से पूरी तरह से आश्चर्यजनक और व्यावहारिक उत्तर हैं जो पहले मूल प्रश्न थे। दुर्भाग्य से, मैं आपकी मदद नहीं कर सकता, लेकिन यह काफी प्रासंगिक लगता है इसलिए मैं खुशी से इसे वोट कर रहा हूं।
गाला

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

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

जवाबों:


230

तीन वाक्य संस्करण:

  • प्रत्येक परत आप किसी भी फ़ंक्शन को पिछली परत पर लागू कर सकते हैं (आमतौर पर एक रेखीय परिवर्तन जो स्क्वैश नॉनलाइनरिटी द्वारा पीछा किया जाता है)।

  • छिपी हुई परतों का काम इनपुट को कुछ ऐसी चीजों में बदलना है जो आउटपुट लेयर का उपयोग कर सकती है।

  • आउटपुट लेयर छिपी हुई लेयर एक्टिविटीज को उस पैमाने में बदल देती है जो आप चाहते थे कि आपका आउटपुट चालू रहे।

आप 5 की तरह हैं:

यदि आप चाहते हैं कि कंप्यूटर आपको बताए कि चित्र में कोई बस है, तो कंप्यूटर के पास एक आसान समय हो सकता है यदि उसके पास सही उपकरण हों।

तो आपका बस डिटेक्टर व्हील डिटेक्टर से बना हो सकता है (आपको यह वाहन बताने में मदद करने के लिए) और एक बॉक्स डिटेक्टर (क्योंकि बस एक बड़े बॉक्स के आकार का है) और एक आकार डिटेक्टर (आपको यह बताने के लिए कि कार बनना बहुत बड़ा है) )। ये आपकी छिपी हुई परत के तीन तत्व हैं: वे कच्ची छवि का हिस्सा नहीं हैं, वे आपके द्वारा डिज़ाइन किए गए उपकरण हैं जिनकी मदद से आप कली की पहचान कर सकते हैं।

यदि उन तीनों डिटेक्टरों को चालू करते हैं (या शायद यदि वे विशेष रूप से सक्रिय हैं), तो आपके सामने एक अच्छा मौका है।

तंत्रिका जाल उपयोगी होते हैं क्योंकि बहुत सारे डिटेक्टरों के निर्माण और उन्हें एक साथ रखने के लिए अच्छे उपकरण (जैसे बैकप्रोपैजेशन) होते हैं।


जैसे आप एक वयस्क हैं

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

चलो इनपुट वेक्टर , छिपी हुई परत सक्रियण , और आउटपुट सक्रियण । आपके पास कुछ फ़ंक्शन जो से तक के नक्शे और दूसरे फ़ंक्शन जो कि से तक के नक्शे हैं । h y f x h g h yxhyfxhghy

तो छिपी हुई परत की सक्रियता और नेटवर्क का आउटपुट ।जी ( एफ ( एक्स ) )f(x)g(f(x))

केवल एक के बजाय दो कार्य ( और ) क्यों हैं ?fg

यदि प्रति फ़ंक्शन जटिलता का स्तर सीमित है, तो उन चीजों की गणना कर सकता है जो और व्यक्तिगत रूप से नहीं कर सकते हैं। f gg(f(x))fg


तार्किक कार्यों के साथ एक उदाहरण:

उदाहरण के लिए, अगर हम केवल अनुमति देते हैं और तरह साधारण तार्किक ऑपरेटरों "और", "या", और "नन्द" होने के लिए तो आप उनमें से सिर्फ एक के साथ "XOR" की तरह अन्य कार्यों की गणना नहीं कर सकते। दूसरी ओर, हम "XOR" की गणना कर सकते हैं यदि हम एक दूसरे के ऊपर इन कार्यों को परत करने के लिए तैयार थे:fg

पहली परत कार्य:

  • सुनिश्चित करें कि कम से कम एक तत्व "TRUE" है (OR का उपयोग करके)
  • सुनिश्चित करें कि वे सभी "TRUE" नहीं हैं (NAND का उपयोग करके)

दूसरी परत समारोह:

  • सुनिश्चित करें कि पहली-लेयर मानदंड दोनों संतुष्ट हैं (का उपयोग करके और)

नेटवर्क का आउटपुट केवल इस दूसरे फ़ंक्शन का परिणाम है। पहली परत इनपुट्स को कुछ इस तरह से रूपांतरित करती है कि दूसरी परत का उपयोग कर सकते हैं ताकि पूरा नेटवर्क XOR कर सके।


छवियों के साथ एक उदाहरण:

इस टॉक से स्लाइड 61 - यहाँ एकल छवि के रूप में उपलब्ध है - दिखाता है (कल्पना करने का एक तरीका) जो किसी विशेष तंत्रिका नेटवर्क में अलग-अलग छिपी हुई परतों की तलाश कर रहा है।

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

अगली परत किनारों की रचना करती है: यदि नीचे छिपी हुई परत के किनारों को एक निश्चित तरीके से एक साथ फिट किया जाता है, तो बाएं-सबसे कॉलम के बीच में एक आंख-डिटेक्टर चालू हो सकता है। एक सिंगल लेयर बनाना मुश्किल होगा जो कच्चे पिक्सल से इतनी विशिष्ट चीज़ को खोजने में इतना अच्छा था: कच्चे डिटेक्टरों की तुलना में आई डिटेक्टरों को किनारे से बाहर बनाने में बहुत आसान है।

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

यह उपयोगी है क्योंकि फेस डिटेक्टर नेत्र डिटेक्टर और नाक डिटेक्टरों से बाहर बनाना आसान है, लेकिन वास्तव में पिक्सेल तीव्रता से बाहर निर्माण करना मुश्किल है।

इसलिए प्रत्येक परत आपको कच्चे पिक्सल से आगे और दूर तक जाती है और अपने अंतिम लक्ष्य (जैसे चेहरे का पता लगाने या बस का पता लगाने) के करीब जाती है।


अन्य प्रश्नों के उत्तर देने के लिए

"इनपुट परत में कुछ परतें छिपी हुई परत से क्यों जुड़ी हैं और कुछ नहीं हैं?"

नेटवर्क में डिस्कनेक्ट किए गए नोड्स को "पूर्वाग्रह" नोड्स कहा जाता है। यहाँ एक बहुत अच्छी व्याख्या है । संक्षिप्त उत्तर यह है कि वे प्रतिगमन में अवरोधन शब्द की तरह हैं।

"छवि उदाहरण में" नेत्र डिटेक्टर "चित्र कहां से आते हैं?"

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

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


मुझे बताएं कि क्या यहां कुछ भी अस्पष्ट है या यदि आपके कोई और प्रश्न हैं।


2
तो क्या किसी दिए गए लेयर पर हर एक नोड के लिए सिर्फ एक परिभाषित एल्गोरिथ्म है और वज़न क्या हैं जो आउटपुट को अलग बनाते हैं? या क्या आप परत पर प्रत्येक नोड को अलग करने के लिए प्रोग्राम कर सकते हैं?
FABBalloon

3
@GeorgeMcDowd यह मुख्य मुद्दे पर हो जाता है: जैसा कि आपने सुझाव दिया है, पिक्सेल को देखना और बूस की पहचान करना कठिन है। सौभाग्य से, पिक्सल को देखना और किनारों को ढूंढना आसान है - यह सब पहली छिपी हुई परत करने की कोशिश है। अगली परत किनारों के आधार पर इनफेक्शन बनाने की कोशिश करती है, जो पिक्सल के आधार पर ऐसा करने की कोशिश की तुलना में बहुत आसान है।
डेविड जे। हैरिस

4
एसओ आपको इस जवाब में लगाए गए समय और प्रयास के लिए आपको कुछ और इनाम (सिर्फ अंक से) देने चाहिए!
संस्कारम

1
@JoshuaEnfield मुझे लगता है कि 1980 के दशक में लॉजिक इसी तरह का संयोजन था कि कैसे लोगों ने सोचा कि दिमाग काम करता है, कि यह हर जगह अलग-अलग है, और यह कि मानों का उल्लेख किया गया था जैसे आप उल्लेख करते हैं। तब से, लोगों ने पाया है कि f(x) = max(x, 0)("रेक्टिफ़ाइड लीनियर यूनिट") अक्सर बेहतर काम करता है, भले ही इसमें कई गुण न हों।
डेविड जे। हैरिस

2
बस उदाहरण और कार्यों की श्रृंखला ने इसे बंद कर दिया। यह न समझें कि पाठ्यपुस्तकें इस वर्णनात्मक क्यों नहीं हो सकतीं।
drecute 11

12

मैं सहज ज्ञान युक्त परिचालन विवरण में जोड़ने की कोशिश करूँगा ...

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

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

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

सही वज़न सीखने का एक सामान्य तरीका यादृच्छिक वजन के साथ शुरू करना और वास्तविक वास्तविक आउटपुट और सीखा मॉडल आउटपुट के बीच त्रुटि प्रतिक्रिया को मापना है। त्रुटि आमतौर पर नेटवर्क के माध्यम से पीछे की ओर हो जाएगी और प्रतिक्रिया एल्गोरिथ्म व्यक्तिगत रूप से त्रुटि के कुछ अनुपात से उन भार को बढ़ाएगा या घटाएगा। नेटवर्क बार-बार आगे बढ़ने, आउटपुट प्रतिक्रिया को मापने, फिर अपडेट करने (पीछे की ओर वजन समायोजन को पार करने) और कुछ संतोषजनक त्रुटि स्तर तक पहुंचने तक वज़न को सही करने के द्वारा पुनरावृत्त करेगा। उस बिंदु पर आपके पास एक प्रतिगमन मॉडल है जो एक रेखीय प्रतिगमन मॉडल की तुलना में अधिक लचीला हो सकता है, यह वह है जिसे आमतौर पर एक सार्वभौमिक फ़ंक्शन सन्निकटन कहा जाता है।

उन तरीकों में से एक जिन्होंने वास्तव में मुझे यह जानने में मदद की कि एक तंत्रिका नेटवर्क वास्तव में कैसे संचालित होता है एक तंत्रिका नेटवर्क कार्यान्वयन के कोड का अध्ययन करना और इसका निर्माण करना। सबसे अच्छे बुनियादी कोड स्पष्टीकरणों में से एक तंत्रिका नेटवर्क अध्याय (स्वतंत्र रूप से उपलब्ध) 'द साइंटिस्ट एंड इंजीनियर गाइड टू डीएसपी' Ch में पाया जा सकता है । 26. यह ज्यादातर बहुत बुनियादी भाषा में लिखा गया है (मुझे लगता है कि यह फोरट्रान था) जो वास्तव में आपको यह देखने में मदद करता है कि क्या चल रहा है।


12

मैं इसके बारे में दो चरणों में अपना दृष्टिकोण बताने जा रहा हूं: इनपुट-टू-हिडन स्टेप और हिडन-टू-आउटपुट स्टेप। मैं पहले से छिपा हुआ उत्पादन करूँगा क्योंकि यह मुझे कम दिलचस्प लगता है।

छिपे हुए-से-आउटपुट

छिपी हुई परत का आउटपुट अलग-अलग चीजें हो सकती हैं, लेकिन अब मान लेते हैं कि वे सिग्मोइडल सक्रियण कार्यों से बाहर आते हैं । इसलिए वे 0 और 1 के बीच के मान हैं, और कई इनपुट के लिए वे सिर्फ 0 और 1 के हो सकते हैं।

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

इनपुट करने के लिए छिपे हुए

मान लें कि आपके पास 3 इनपुट न्यूरॉन्स हैं (बस इसलिए मैं आसानी से यहां कुछ समीकरण लिख सकता हूं) और कुछ छिपे हुए न्यूरॉन्स। प्रत्येक छिपे हुए न्यूरॉन को इनपुट के भारित योग के रूप में प्राप्त होता है, इसलिए उदाहरण के लिए

hidden_1 = 10 * (input_1) + 0 * (input_2) + 2 * (input_3)

इसका मतलब है कि के मूल्य के hidden_1प्रति बहुत संवेदनशील है input_1, न कि सभी के प्रति संवेदनशील input_2और केवल थोड़ा संवेदनशील के लिए input_3

तो आप कह सकते हैं कि इनपुट के hidden_1एक विशेष पहलू को कैप्चर कर रहा है , जिसे आप " input_1महत्वपूर्ण" पहलू कह सकते हैं ।

से आउटपुट hidden_1आम तौर पर कुछ फ़ंक्शन के माध्यम से इनपुट पास करके बनता है, तो मान लें कि आप सिग्माइड फ़ंक्शन का उपयोग कर रहे हैं । यह फ़ंक्शन 0 और 1 के बीच मान लेता है; इसलिए इसे एक स्विच के रूप में सोचें जो कहता है कि या तो input_1महत्वपूर्ण है या यह नहीं है।

तो यह है कि छिपे हुए परत क्या करता है! यह इनपुट स्पेस के पहलुओं , या विशेषताओं को निकालता है।

अब वज़न भी नकारात्मक हो सकता है! जिसका अर्थ है कि आप " input_1महत्वपूर्ण BUT ALSO input_2यह महत्वपूर्ण है कि दूर ले जाता है " जैसे पहलू प्राप्त कर सकते हैं :

hidden_2 = 10 * (input_1) - 10 * (input_2 ) + 0 * (input_3)

या input_1और input_3"साझा" महत्व है:

hidden_3 = 5 * (input_1) + 0 * (input_2) + 5 * (input_3)

अधिक ज्यामिति

यदि आप कुछ रैखिक बीजगणित जानते हैं, तो आप कुछ दिशाओं के साथ अनुमान लगाने के मामले में ज्यामितीय रूप से सोच सकते हैं। ऊपर के उदाहरण में, मैंने input_1दिशा के साथ अनुमान लगाया ।

चलो hidden_1फिर से देखो , ऊपर से। एक बार जब मूल्य input_1काफी बड़ा हो जाता है, तो सिग्मॉइड सक्रियण फ़ंक्शन का आउटपुट सिर्फ 1 पर रहेगा , यह कोई बड़ा नहीं होगा । दूसरे शब्दों में, अधिक से अधिक input_1आउटपुट पर कोई फर्क नहीं पड़ेगा। इसी तरह, यदि यह विपरीत (यानी नकारात्मक) दिशा में चलता है, तो एक बिंदु के बाद आउटपुट अप्रभावित रहेगा।

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

सारांश

छिपी परत इनपुट स्थान की विशेषताएं निकालती है, और आउटपुट परत उन्हें वांछित संदर्भ में अनुवादित करती है। मल्टी-लेयर नेटवर्क और इस तरह के साथ, इसके अलावा भी बहुत कुछ हो सकता है, लेकिन यह वही है जो मैं अब तक समझता हूं।

संपादित करें: अपने अद्भुत इंटरेक्टिव ग्राफ़ के साथ यह पृष्ठ मेरे लंबे और बोझिल उत्तर की तुलना में बेहतर काम कर सकता है: http://neuralnetworksanddeeplearning.com/chap4.html


1
ओपी की तरह, मैं तंत्रिका नेटवर्क में छिपी परत के बारे में थोड़ा भ्रमित हूं। आपके उदाहरण में, NN एल्गोरिथ्म में छिपे हुए_1, Hidden_2, और hidden_3 न्यूरॉन्स के लिए वजन कैसे पता चलता है? और छिपे हुए_1 के बाद से, hidden_2, और hidden_3 एक ही इनपुट चर से प्राप्त होते हैं, क्या वज़न एक ही समाधान में नहीं बदलेगा?
राबर्टएफ

5

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

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

सामान्य तौर पर, आउटपुट और छिपी हुई परतों के आउटपुट का अर्थ उस समस्या पर निर्भर करता है जिसे आप हल करने की कोशिश कर रहे हैं (प्रतिगमन, वर्गीकरण) और आपके द्वारा नियोजित हानि फ़ंक्शन (क्रॉस एन्ट्रॉपी, कम से कम चुकता त्रुटियों, ...)

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