तनह लगभग हमेशा एक सक्रियण फ़ंक्शन के रूप में सिग्मॉइड से बेहतर क्यों होता है?


33

एंड्रयू एनजी के दशक में Coursera पर तंत्रिका नेटवर्क और दीप लर्निंग पाठ्यक्रम वह कहता है कि का उपयोग कर लगभग हमेशा उपयोग करने के लिए बेहतर है ।tanhsigmoid

कारण वह देता है कि का उपयोग कर उत्पादन है केंद्र नहीं बल्कि आसपास 0 से के 0.5, और इस "अगले परत थोड़ा आसानी के लिए सीखने बनाता है"।tanhsigmoid

  1. सक्रियण की आउटपुट गति सीखने को केंद्रित क्यों करता है? मुझे लगता है कि वह पिछली परत का जिक्र कर रहा है, क्योंकि बैकप्रॉप के दौरान सीखने की क्षमता होती है?

  2. क्या कोई अन्य विशेषताएं हैं जो बेहतर बनाती हैं? क्या स्टेपेर ढाल धीरे-धीरे लुप्त होने वाले ग्रेडिएंट में देरी होगी?tanh

  3. क्या कोई ऐसी स्थिति है जहां बेहतर होगा?sigmoid

गणित-प्रकाश, सहज उत्तर पसंद किए गए।


13
एक सिग्मोइड फ़ंक्शन एस-आकार का है (इसलिए नाम)। संभवतः आप लॉजिस्टिक फ़ंक्शन बारे में बात कर रहे हैं । स्केल और लोकेशन के अलावा, दो अनिवार्य रूप से समान हैं: । तो असली विकल्प यह है कि क्या आप अंतराल या अंतराल में आउटपुट चाहते हैंex1+exlogistic(x)=12+12tanh(x2)(1,1)(0,1)
हेनरी

जवाबों:


21

यान LeCun और अन्य कुशल BackProp में तर्क देते हैं कि

कनवर्ज़न आमतौर पर तेज़ होता है यदि प्रशिक्षण सेट पर प्रत्येक इनपुट चर का औसत शून्य के करीब हो। इसे देखने के लिए, उस चरम मामले पर विचार करें जहां सभी इनपुट सकारात्मक हैं। पहली वेट लेयर में एक विशेष नोड तक के वेट्स को अपडेट किया जाता है, जिसमें अनुपात में होता है जहां उस स्केल पर (स्केलर) त्रुटि होती है और इनपुट वेक्टर (समीकरण (5) और (10) देखें) है। जब एक इनपुट वेक्टर के सभी घटक सकारात्मक होते हैं, तो वजन के सभी अपडेट जो एक नोड में फ़ीड करते हैं, एक ही संकेत (यानी साइन ( )) होगा। नतीजतन, ये वज़न केवल सभी घट सकते हैं या सभी एक साथ बढ़ सकते हैंδxδxδदिए गए इनपुट पैटर्न के लिए। इस प्रकार, अगर एक वेट वेक्टर को दिशा बदलनी चाहिए तो यह केवल zigzagging द्वारा ऐसा कर सकता है जो अक्षम है और इस प्रकार बहुत धीमा है।

यही कारण है कि आपको अपने इनपुट को सामान्य करना चाहिए ताकि औसत शून्य हो।

यही तर्क मध्य परतों पर लागू होता है:

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

उपसंहार @craq मुद्दा यह है कि इस उद्धरण के लिए Relu (एक्स) मतलब नहीं है बनाता = अधिकतम (0, x) जो कि एक व्यापक रूप से लोकप्रिय सक्रियण समारोह बन गया है। जबकि ReLU LeCun द्वारा उल्लिखित पहले ज़िगज़ैग समस्या से बचता है, यह LeCun द्वारा इस दूसरे बिंदु को हल नहीं करता है जो कहता है कि औसत को शून्य पर धकेलना महत्वपूर्ण है। मुझे यह जानकर अच्छा लगेगा कि LeCun का इस बारे में क्या कहना है। किसी भी मामले में, बैच सामान्यीकरण नामक एक पेपर है , जो LeCun के काम के शीर्ष पर बनाता है और इस मुद्दे को संबोधित करने का एक तरीका प्रदान करता है:

यह लंबे समय से ज्ञात है (LeCun et al।, 1998b; Wiesler & Ney, 2011) कि नेटवर्क प्रशिक्षण तेजी से रूपांतरित होता है यदि इसके इनपुट को सफेद किया जाता है - यानी, रैखिक रूप से परिवर्तित होने के लिए शून्य साधन और इकाई संस्करण, और सजावट। जैसा कि प्रत्येक परत नीचे की परतों द्वारा निर्मित इनपुट को देखती है, प्रत्येक परत के इनपुट के समान श्वेतकरण को प्राप्त करना लाभप्रद होगा।


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


@elkout कहते हैं, " सिंघमाइड (...) की तुलना में तन्ह को पसंद किया जाने वाला असली कारण यह है कि तन्ह का व्युत्पत्ति सिग्मॉयड के डेरिवेटिव से बड़ा होता है।"

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

लॉजिस्टिक फ़ंक्शन का आकार । आमतौर पर, हम उपयोग करते हैं , लेकिन कुछ भी आपको अपने डेरिवेटिव को व्यापक बनाने के लिए लिए किसी अन्य मूल्य का उपयोग करने से रोकता है , अगर यह आपकी समस्या थी।σ(x)=11+ekxk=1k


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


1
आपको यह दिखाने के लिए एक उद्धरण की आवश्यकता नहीं है कि उस , सिर्फ हाई-स्कूल पथरी। हम जानते हैं कि यह सत्य है क्योंकि , इसलिए आपको बस अधिकतम करना है अवतल चतुर्भुज। जिसे निरीक्षण द्वारा सत्यापित किया जा सकता है। maxxσ(x)<maxxtanh(x)
σ(x)=σ(x)(1σ(x))0.25
0<σ(x)<1
tanh(x)=sech2(x)=2exp(x)+exp(x))1.0
साइकोरैक्स का कहना है कि मोनिका

इसके अलावा मैंने कहा था कि ज्यादातर मामलों में तन के डेरिवेटिव सिग्मोइड के डेरिवेटिव से बड़े होते हैं। यह अधिकतर तब होता है जब हम लगभग 0. होते हैं। इस लिंक पर एक नज़र डालने के लिए आपका स्वागत है और यहाँ उपलब्ध कराए गए स्पष्ट उत्तरों पर वे सवाल खड़े करते हैं जिनमें यह भी कहा गया है कि की व्युत्पत्ति आमतौर पर के व्युत्पन्न से बड़ी होती है। । tanhsigmoid
ekoulier

रुको ... जो प्रशंसनीय लगता है, लेकिन अगर मध्य परतों में शून्य का औसत उत्पादन होना चाहिए, तो ReLU कैसे अच्छी तरह से काम करता है? क्या यह विरोधाभास नहीं है?
क्रेक

@ekoulier, के व्युत्पन्न से बड़ा किया जा रहा है एक गैर मुद्दा है। यदि आप इसे परेशान करते हैं तो आप इसे माप सकते हैं। tanhsigmoid
रिकार्डो क्रूज़

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

14

ऐसा नहीं है कि यह आवश्यक रूप से से बेहतर है । दूसरे शब्दों में, यह एक सक्रियण के केंद्र नहीं है जो इसे बेहतर बनाता है। और दोनों कार्यों के पीछे का विचार समान है, और वे एक समान "प्रवृत्ति" भी साझा करते हैं। यह कहने की आवश्यकता नहीं है कि फ़ंक्शन को फ़ंक्शन का स्थानांतरित संस्करण कहा जाता है ।sigmoidtanhsigmoid

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

लेकिन अतिशयोक्तिपूर्ण स्पर्शरेखा के बड़े डेरिवेटिव क्यों हैं? बस आपको एक बहुत ही सरल अंतर्ज्ञान देने के लिए आप निम्नलिखित ग्राफ का निरीक्षण कर सकते हैं:

सिग्मॉइड बनाम हाइपरबोलिक स्पर्शरेखा

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

tanhx=2σ(2x)1

और सामान्य तौर पर, हम साबित कर सकते हैं कि ज्यादातर मामलों में ।|tanh(x)x|>|σ(x)x|


तो क्यों प्रो। एनजी का कहना है कि यह लगभग औसत समारोह के उत्पादन के लिए एक फायदा है ? 0
टॉम हेल

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

शून्य केंद्रित से ज्यादा महत्वपूर्ण है क्योंकि यह सक्रियण के वितरण संबंध रखते हैं और, अनुपात है कि प्रदर्शन दर्द होता है। यदि आप छोटे सीखने की दर लेते हैं और लेते हैं , तो यह बराबर होगा । 2xsigmoid(x) - 0.52xtanh
मैक्सिम

@Maxim कौन सा "यह" सक्रियण, शून्य-केंद्रित या के वितरण को रोक देता है ? यदि जीरो-सेंटिंग एक अच्छी बात है, तो मुझे अभी भी ऐसा नहीं लगता कि इसका "क्यों" उत्तर दिया गया है। 2x
टॉम हेल

3

प्रश्न के भाग का उत्तर देना अब तक अनसुना:

एंड्रयू एनजी का कहना है कि लॉजिस्टिक फ़ंक्शन (आमतौर पर सिग्मॉइड के रूप में जाना जाता है) का उपयोग करना वास्तव में केवल एक द्विआधारी वर्गीकरण नेटवर्क की अंतिम परत में समझ में आता है।

जैसा कि नेटवर्क का आउटपुट और बीच होने की उम्मीद है , लॉजिस्टिक एक सही विकल्प है क्योंकि यह रेंज बिल्कुल । की स्केलिंग और शिफ्टिंग की आवश्यकता नहीं है।01(0,1)tanh


आउटपुट के लिए, लॉजिस्टिक फ़ंक्शन समझ में आता है यदि आप संभावनाओं का उत्पादन करना चाहते हैं, तो हम सभी उस पर सहमत हो सकते हैं। जिस बात की चर्चा हो रही है, वह यह है कि तनहा को लॉजिस्टिक फ़ंक्शन के लिए मध्य परतों के लिए सक्रियण के रूप में क्यों पसंद किया जाता है।
रिकार्डो क्रूज़

आप कैसे जानते हैं कि ओपी का इरादा क्या है? ऐसा लगता है कि वह एक सामान्य सवाल पूछ रहा था।
टॉम हेल

2

यह सभी अनिवार्य रूप से सक्रियण फ़ंक्शन के डेरिवेटिव पर निर्भर करता है, सिग्मॉइड फ़ंक्शन के साथ मुख्य समस्या यह है कि इसके व्युत्पन्न का अधिकतम मूल्य 0.25 है, इसका मतलब है कि डब्ल्यू और बी के मूल्यों का अद्यतन छोटा होगा।

दूसरी ओर टैन फंक्शन में 1.0 तक की व्युत्पन्नता होती है, जो डब्ल्यू और बी के अपडेट को बहुत बड़ा बना देती है।

यह तन फ़ंक्शन को सिग्मॉइड फ़ंक्शन के बजाय सक्रियण फ़ंक्शन (छिपी हुई परतों के लिए) के रूप में लगभग हमेशा बेहतर बनाता है।

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

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

मेरे द्वारा लिखी गई पूर्ण नोटबुक यहाँ है https://www.kaggle.com/moriano/a-showcase-of-how-relus-can-speed-up-the-learning

यदि यह मदद करता है, तो यहां तान समारोह के व्युत्पन्न चार्ट और सिग्मोइड एक (ऊर्ध्वाधर अक्ष पर ध्यान दें) हैं!

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

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


(-1) हालांकि यह एक दिलचस्प विचार है, यह अपने आप पर खड़ा नहीं होता है। विशेष रूप से, DL / NN के लिए उपयोग की जाने वाली अधिकांश अनुकूलन विधियाँ पहले क्रम ढाल विधियाँ हैं, जिनमें सीखने की दर । यदि एक सक्रियण फ़ंक्शन के संबंध में अधिकतम व्युत्पन्न बहुत छोटा है, तो कोई आसानी से सीखने की दर को बढ़ा सकता है। α
क्लिफ एबी

क्या आप उच्च शिक्षण दर के साथ स्थिर सीखने की अवस्था नहीं होने का जोखिम नहीं उठाते हैं?
जुआन एंटोनियो गोमेज़ मोरियानो

ठीक है, यदि डेरिवेटिव अधिक स्थिर हैं, तो सीखने की दर में वृद्धि से अनुमान को नष्ट करने की संभावना कम है।
क्लिफ एबी

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