हमें कृत्रिम तंत्रिका नेटवर्क के लिए इनपुट को सामान्य क्यों करना है?


151

यह एक प्रमुख सवाल है, तंत्रिका नेटवर्क के सिद्धांत के बारे में:

हमें तंत्रिका नेटवर्क के लिए इनपुट को सामान्य क्यों करना है?

मैं समझता हूं कि कभी-कभी, जब उदाहरण के लिए इनपुट मान गैर-संख्यात्मक होते हैं तो एक निश्चित परिवर्तन किया जाना चाहिए, लेकिन जब हमारे पास संख्यात्मक इनपुट होता है? संख्या एक निश्चित अंतराल में क्यों होनी चाहिए?

यदि डेटा सामान्य नहीं हुआ तो क्या होगा?


1
मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह स्टैट्स एसई या एआई एसई का है।
नबर

जवाबों:


101

यह यहाँ अच्छी तरह से समझाया गया है

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


2
नमस्ते, MLPs में, विभिन्न आयामों के लिए बैकप्रोपेगेशन करेक्शन में ओवरएज / अंडरकंपैंसेशन के निरंतर सीखने की दर का उपयोग करते हुए सुविधाओं को मानकीकृत नहीं किया जा सकता है? मैं निम्नलिखित पोस्ट से सोच रहा हूं कि क्या यह CNNs के लिए अनन्य है, या यदि MLPs इस समस्या को साझा कर सकते हैं: आंकड़े.stackexchange.com/questions/185853/…
Austin

समस्या: ग्रेडिएंट डिसेंट ऑप्ट। प्रक्रिया में बहुत अधिक समय लग सकता है। क्यों? जब सुविधाएँ विभिन्न पैमाने (X1 = 0-1 और x2 = 0..1000) की होती हैं, तो त्रुटि फ़ंक्शन सतह लम्बी हो सकती है। अर्थ: अलग-अलग dims (w1, w2) के लिए अलग-अलग पैमाने। लेकिन सीखने दर है वही सब मंद के लिए -> लम्बी मंद (डब्ल्यू 2) में दिए गए चरणों पहुँच स्थानीय मिनट तक बहुत छोटे होते हैं। समस्या: LR को नहीं कर सकते, क्योंकि यह अन्य मंद (w1) में स्थानीय मिनट को छोड़ देगा। Youtube.com/watch?reload=9&v=UIp2CMI0748
Dekel

यहां एक रैखिक उदाहरण है, जहां स्केलिंग के बिना चीजें बहुत खराब हैं: stackoverflow.com/q/59319643 । कोई विचार क्यों?
हमेशा

61

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

स्केलिंग से पहले और बाद में त्रुटि सतह

चित्र तंत्रिका नेटवर्क के बारे में पाठ्यक्रम से लिया गया है। पाठ्यक्रम के लेखक जेफ्री हिंटन हैं।


14
आपके द्वारा पोस्ट किए गए ग्राफ़िक के लेखक को श्रेय देना आपके लिए अच्छा होगा। ग्राफिक को स्पष्ट रूप से जेफ्री हिंटन के पाठ्यक्रम से लिया गया था ।
रिकार्डो क्रूज़

5
मुझे यह वीडियो ऊपर दिए गए आरेख को समझाने में वास्तव में मददगार लगा, जो अपने आप में मेरे लिए स्पष्ट नहीं था।
--३ ch में

21

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

ऐसे में आपके नेटवर्क में इस कच्चे मूल्य को खिलाने से काम नहीं चलेगा। आप अपने नेटवर्क को रेंज के निचले हिस्से से मानों पर सिखाएंगे, जबकि वास्तविक इनपुट इस रेंज के उच्च भाग (और संभवतः काफी ऊपर की सीमा से होगा, कि नेटवर्क ने काम करना सीख लिया है)।

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


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

11

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

डोमेन के बाहर तर्कों पर तंत्रिका जाल का सटीक व्यवहार तंत्रिका जाल के कार्यान्वयन पर निर्भर करता है। लेकिन कुल मिलाकर, परिणाम बेकार है यदि तर्क डोमेन के भीतर नहीं हैं।


16
यदि आप एक सामान्य सक्रियण फ़ंक्शन (ReLu या Sigmoid) लेते हैं, तो डोमेन हमेशा संपूर्ण स्थान R ^ n है। तो यह डेटा को सामान्य करने का कारण नहीं हो सकता है।
जोकर १२

1
यह भी स्पष्ट नहीं करता है कि छवियों को सामान्य क्यों किया जाता है, क्योंकि उनके पास पहले से ही एक डोमेन 0-255 है
डॉलरअक्षय

4

तंत्रिका नेटवर्क को खिलाने से पहले हमें इनपुट विशेषताओं को सामान्य करने के 2 कारण हैं:

कारण 1 : अगर एक Featureमें Datasetपैमाने में बड़ा दूसरों की तुलना में तो यह बड़ा स्केल की सुविधा हो जाता हावी और इस बात का एक परिणाम के रूप में, तंत्रिका नेटवर्क की भविष्यवाणियां सटीक नहीं होगा।

उदाहरण : कर्मचारी डेटा के मामले में, यदि हम आयु और वेतन पर विचार करते हैं, तो आयु दो अंकों की संख्या होगी जबकि वेतन 7 या 8 अंक (1 मिलियन, आदि) हो सकता है। उस स्थिति में, वेतन तंत्रिका नेटवर्क की भविष्यवाणी का प्रभुत्व करेगा। लेकिन अगर हम उन विशेषताओं को सामान्य करते हैं, तो दोनों विशेषताओं का मान (0 से 1 तक) सीमा में होगा।

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

उदाहरण : यदि हम छवि वर्गीकरण करते हैं, तो छवि का आकार बहुत बड़ा होगा, क्योंकि प्रत्येक पिक्सेल का मान 0 से 255 तक होता है। इस मामले में सामान्यीकरण बहुत महत्वपूर्ण है।

नीचे उल्लेखित उदाहरण हैं जहां सामान्यीकरण बहुत महत्वपूर्ण है:

  1. कश्मीर साधन
  2. कश्मीर निकटतम-पड़ोसियों
  3. प्रधान घटक विश्लेषण (पीसीए)
  4. ढतला हुआ वंश

2

मेरा मानना ​​है कि उत्तर परिदृश्य पर निर्भर है।

एनएन (तंत्रिका नेटवर्क) को एक ऑपरेटर एफ के रूप में विचार करें, ताकि एफ (इनपुट) = आउटपुट । उस स्थिति में जहां यह संबंध रैखिक है, ताकि एफ (ए * इनपुट) = ए * आउटपुट , तो आप इनपुट या आउटपुट को उनके कच्चे रूपों में अप्राकृतिक रूप से छोड़ना चुन सकते हैं, या ए को खत्म करने के लिए दोनों को सामान्य कर सकते हैं। जाहिर तौर पर यह रैखिकता धारणा है। वर्गीकरण कार्यों में उल्लंघन किया जाता है, या लगभग कोई भी कार्य जो एक संभावना को आउटपुट करता है, जहां एफ (ए * इनपुट) = 1 * आउटपुट

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

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

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


2

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

ए 1 और एक्स 2 की सुविधाओं पर विचार करें, जहां क्रमशः 0 से 1 और 0 से 1 मिलियन तक है। यह संबंधित मापदंडों के लिए अनुपात को बदल देता है (जैसे, w1 और w2) भी बड़ा होगा।

सामान्यीकरण हानि समारोह को अधिक सममित / गोलाकार बनाता है। इन्हें अनुकूलित करना आसान है क्योंकि ग्रेडिएंट वैश्विक न्यूनतम की ओर इशारा करते हैं और आप बड़े कदम उठा सकते हैं।


1

सामान्यीकरण की आवश्यकता इसलिए है क्योंकि यदि आप देखते हैं कि फ़ंक्शन के डोमेन में एक स्थान पर एक अनुकूली कदम कैसे आगे बढ़ता है, और आप बस समस्या को उसी दिशा में ट्रांसलेट करते हैं जो किसी दिशा में बड़े मूल्य द्वारा अनुवादित किए गए उसी चरण के बराबर है। डोमेन, तो आपको अलग-अलग परिणाम मिलते हैं। यह एक रैखिक बिंदु को डेटा बिंदु में बदलने के सवाल को उबालता है। टुकड़ा बिना मोड़ के कितना चलना चाहिए और उस एक प्रशिक्षण बिंदु के जवाब में कितना मोड़ना चाहिए? डोमेन के विभिन्न भागों में परिवर्तित अनुकूलन प्रक्रिया का कोई मतलब नहीं है! इसलिए प्रशिक्षण परिणाम में अंतर को कम करने के लिए सामान्यीकरण की आवश्यकता होती है। मुझे यह लिखा हुआ नहीं मिला है, लेकिन आप गणित को केवल एक सरल रैखिक कार्य के लिए देख सकते हैं और यह दो अलग-अलग स्थानों में एक प्रशिक्षण बिंदु द्वारा कैसे प्रशिक्षित किया जाता है। इस समस्या को कुछ स्थानों पर ठीक किया गया है, लेकिन मैं उनसे परिचित नहीं हूं। ALNs में, समस्या को ठीक कर दिया गया है और यदि आप wwarmstrong AT shaw.ca को लिखते हैं तो मैं आपको एक पेपर भेज सकता हूं।


-9

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

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