सीएनएन में स्थानीय प्रतिक्रिया सामान्यीकरण का महत्व


41

मैंने पाया है कि Imagenet और अन्य बड़े CNN स्थानीय प्रतिक्रिया सामान्यीकरण परतों का उपयोग करते हैं। हालाँकि, मुझे उनके बारे में अधिक जानकारी नहीं मिल सकती है। वे कितने महत्वपूर्ण हैं और उनका उपयोग कब किया जाना चाहिए?

से http://caffe.berkeleyvision.org/tutorial/layers.html#data-layers :

"स्थानीय प्रतिक्रिया सामान्यीकरण परत स्थानीय इनपुट क्षेत्रों पर सामान्यीकरण करके" पार्श्व निषेध "का एक प्रकार का प्रदर्शन करती है। ACROSS_CHANNELS मोड में, स्थानीय क्षेत्र आस-पास के चैनलों में विस्तारित होते हैं, लेकिन कोई स्थानिक सीमा नहीं होती है (अर्थात, वे स्थानीय_ आकार x 1 x 1 का आकार देते हैं) WithIN_CHANNEL मोड में, स्थानीय क्षेत्र स्थानिक रूप से विस्तारित होते हैं, लेकिन अलग-अलग चैनलों में होते हैं (अर्थात, उनका आकार 1 x local_size x local_size होता है)। प्रत्येक इनपुट मान (1+ (α / n / ∑ix2i) CH से विभाजित होता है, जहां n। प्रत्येक स्थानीय क्षेत्र का आकार है, और उस मूल्य पर केंद्रित क्षेत्र पर राशि ली जाती है (जहां आवश्यक हो वहां शून्य गद्दी जोड़ी जाती है)। "

संपादित करें:

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

जवाबों:


20

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

सामान्यीकरण परत

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


20

वास्तव में, एक ही स्थान पर कोई अच्छी व्याख्या नहीं है। सबसे अच्छा यह है कि यह लेख आता है:

मूल एलेक्सनेट लेख धारा 3.3 में थोड़ा समझाता है:

  • Krizhevsky, Sutskever, और Hinton, दीप कन्वर्सेशनल न्यूरल नेटवर्क्स के साथ इमेजनेट क्लासिफिकेशन, NCC 2017. pdf

ऐसा करने का सटीक तरीका प्रस्तावित किया गया था (लेकिन यहां बहुत अधिक जानकारी नहीं है):

  • केविन जैरेट, कोरे कवुकुग्लू, मार्क'अरेलियो रानज़ातो और यान लेकन, ऑब्जेक्ट रिकॉग्निशन के लिए सबसे अच्छा मल्टी-स्टेज आर्किटेक्चर क्या है ?, ICCV 2009. pdf

यह कम्प्यूटेशनल न्यूरोसाइंस से प्रेरित था:

  • एस। लीयू और ई। सिमोनसेल्टी। विभाजनकारी सामान्यीकरण का उपयोग करके नॉनलाइनियर छवि प्रतिनिधित्व। सीवीपीआर 2008. पीडीएफ । यह पेपर गणित में गहराई तक जाता है, और seanv507 के उत्तर के अनुसार है।
  • [२४] एन। पिंटो, डीडी कॉक्स और जेजे डिकार्लो। वास्तविक-विश्व vi- sual ऑब्जेक्ट मान्यता कठिन क्यों है? पीएलओएस कम्प्यूटेशनल बायोलॉजी, 2008।

15

यहाँ मेरा सुझाया हुआ उत्तर है, हालाँकि मैं ज्ञानी होने का दावा नहीं करता। लीनियर मॉडल पर ग्रेडिएंट प्रदर्शन करते समय, त्रुटि सतह द्विघात होती है , द्वारा निर्धारित वक्रता के साथ , जहां आपका इनपुट है। अब या ग्रेडिएंट वंश के लिए आदर्श त्रुटि सतह में सभी दिशाओं में एक ही वक्रता है (अन्यथा कुछ दिशाओं में कदम का आकार बहुत छोटा है और दूसरों में बहुत बड़ा है)। मतलब शून्य करने के लिए इनपुट rescaling द्वारा अपने आदानों को सामान्य बनाना, विचरण 1 मदद करता है और तेज है: अब प्रत्येक आयाम के साथ दिशाओं में सभी एक ही वक्रता है, जो बदले में वक्रता को अन्य दिशाओं में बांधता है। एक्सXXTX

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


2
बैच सामान्यीकरण: त्वरित आंतरिक covariate शिफ्ट सेर्गेई Ioffe, ईसाई Szegedy को कम करना द्वारा दीप नेटवर्क प्रशिक्षण, arxiv.org/abs/1502.03167 एक (ध्यान से इंजीनियर) कर न्यूरॉन आदानों की rescaling और बड़ा सीखने दरों का उपयोग करने में सक्षम होने से पर्याप्त speedups हासिल करते हैं।
seanv507

आप अपने उत्तर पाठ के नीचे संपादित करें बटन का उपयोग करके इस जानकारी को अपने उत्तर में संपादित कर सकते हैं।
मोनिका

10

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

प्रेरणा: ' इस प्रकार की प्रतिक्रिया सामान्यीकरण (LRN) विभिन्न प्रकार की गुठली का उपयोग करके गणना की गई न्यूरॉन आउटपुट के बीच बड़ी गतिविधियों के लिए प्रतिस्पर्धा पैदा करते हुए, वास्तविक न्यूरॉन्स में पाए जाने वाले प्रकार से प्रेरित पार्श्व निषेध का एक रूप लागू करता है। ' एलेक्सनेट 3.3

दूसरे शब्दों में, LRN प्रतिक्रियाओं को कम करने की अनुमति देता है जो पड़ोस के लिए समान रूप से बड़े होते हैं और बड़ी सक्रियता को पड़ोस के भीतर अधिक स्पष्ट करते हैं अर्थात सक्रियण मानचित्र में उच्च विपरीत बनाते हैं। prateekvjoshi.com बताता है कि यह RELU के रूप में अनबाउंड सक्रियण कार्यों के साथ उपयोगी है।

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

LRN

व्यवहार में ( कैफ देखें ) 2 दृष्टिकोणों का उपयोग किया जा सकता है:

  1. WITHIN_CHANNEL। एक चैनल के स्थानीय पड़ोस पर सामान्यीकृत करें (एक एकल फिल्टर के अनुरूप)। दूसरे शब्दों में, पास के पिक्सेल के लिए समान न्यूरॉन के आउटपुट मानों के अनुसार एकल पिक्सेल के एकल चैनल की प्रतिक्रिया को विभाजित करें।
  2. ACROSS_CHANNELS। एक पिक्सेल के लिए एक ही पिक्सेल के लिए सभी चैनलों के मूल्यों के अनुसार हर चैनल के मूल्यों को सामान्य करें

वास्तविक उपयोग LRN का इस्तेमाल LeNet-5 जैसे शुरुआती कॉनवे के दिनों में अधिक बार किया गया था। कैफ में गोगेलनेट (इंसेप्शन) का वर्तमान कार्यान्वयन अक्सर पूलिंग तकनीकों के संबंध में LRN का उपयोग करता है, लेकिन ऐसा लगता है कि यह सिर्फ होने के लिए किया गया है। न तो मूल इंसेप्शन / GoogLeNet ( यहां ) और न ही निम्न में से कोई भी संस्करण किसी भी तरह से LRN का उल्लेख नहीं करता है। इसके अलावा, इन्सेप्शन के TensorFlow कार्यान्वयन (मूल लेखकों की टीम द्वारा प्रदान और अद्यतन) नेटवर्क उपलब्ध होने के बावजूद LRN का उपयोग नहीं करता है।

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


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

7

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

src- https://code.google.com/p/cuda-convnet/wiki/LayerParams#Local_response_normalization_layer_(same_map)


0

स्थानीय प्रतिक्रिया सामान्यीकरण (LRN) प्रत्येक चैनल के लिए पिक्सेल-वार किया जाता है :i

xi=xi(k+(αjxj2))β

जहाँ स्थिरांक हैं। ध्यान दें कि यदि आप , , सेट करते हैं, तो आपको L2 सामान्य हो जाता है । κ = 0 α = 1 बीटा = 1k,α,βRκ=0α=1β=12

हालांकि, "बैच सामान्यीकरण" ( पेपर देखें ) नामक एक बहुत नई तकनीक है जो काफी समान काम करती है और एलआरएन का उपयोग नहीं करने का सुझाव देती है। बैच सामान्यीकरण भी पिक्सेल-वार काम करता है:

y=xμσ2+ϵγ+β

जहाँ का मतलब है, का विचरण है, एक छोटा सा स्थिरांक है, वे सीखने योग्य पैरामीटर हैं जो नेट को सामान्य करने की अनुमति देते हैं।σ 2 ε > 0 γ , बीटा आरμσ2ε>0γ,βR

तो इसका उत्तर है: स्थानीय प्रतिक्रिया सामान्यीकरण किसी भी अधिक महत्वपूर्ण नहीं है, क्योंकि हमारे पास कुछ है जो बेहतर काम करता है और एलआरएन: प्रतिस्थापित सामान्यीकरण।

यह सभी देखें


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