अनुप्रयोगों के साथ-साथ तंत्रिका नेटवर्क में उपयोग किए जाने वाले लागत कार्यों की एक सूची


133

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

विवरण

(बेझिझक इस सवाल के बाकी हिस्सों को छोड़ दें, मेरा इरादा यहाँ केवल इस बात पर स्पष्टीकरण देने के लिए है कि उत्तर सामान्य पाठक के लिए उन्हें अधिक समझने में मदद करने के लिए उपयोग कर सकते हैं)

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

नोटेशन

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

यह अंकन नीलसन की पुस्तक का है

एक फीडफॉर्वर्ड न्यूरल नेटवर्क न्यूरॉन्स की कई परतें एक साथ जुड़ी होती हैं। फिर यह एक इनपुट में लेता है, वह इनपुट नेटवर्क के माध्यम से "ट्रिकल" होता है और फिर न्यूरल नेटवर्क आउटपुट वेक्टर देता है।

अधिक औपचारिक रूप से, फोन की सक्रियता (उत्पादन उर्फ) में न्यूरॉन परत है, जहां है इनपुट वेक्टर में तत्व। जे टी एच मैं टी एक 1 जे जे टी ajijthithaj1jth

फिर हम अगली परत के इनपुट को निम्न संबंध से पिछले कर सकते हैं:

aji=σ(k(wjkiaki1)+bji)

कहाँ पे

σ सक्रियण फ़ंक्शन है,

k t h ( i - 1 ) t h j t h i t hwjki से वजन है में न्यूरॉन के लिए परत में न्यूरॉन परत,kth(i1)thjthith

j t h i t hbji न्यूरॉन का पूर्वाग्रह है परत में, औरjthith

जे टी एच मैं टीaji न्यूरॉन के सक्रियण मान का प्रतिनिधित्व करता है लेयर में।jthith

कभी-कभी हम को , दूसरे शब्दों में, सक्रियण फ़ंक्शन को लागू करने के लिए एक न्यूरॉन का सक्रियण मान * । Σ कश्मीर ( डब्ल्यू मैं j कश्मीरएक मैं - 1 कश्मीर ) + मैं jzjik(wjkiaki1)+bji

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

अधिक संक्षिप्त संकेतन के लिए हम लिख सकते हैं

ai=σ(wi×ai1+bi)

इस फॉर्मूले का उपयोग करने के लिए कुछ इनपुट लिए एक फीडफॉर्वर्ड नेटवर्क के आउटपुट की गणना करने के लिए , सेट करें , फिर , , ..., गणना करें। , जहाँ m परतों की संख्या है।एक 1 = मैं एक 2 एक 3 एक मीटरIRna1=Ia2a3am

परिचय

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

एक लागत फ़ंक्शन एक एकल मान है, न कि एक वेक्टर, क्योंकि यह यह बताता है कि तंत्रिका नेटवर्क ने समग्र रूप से कितना अच्छा किया।

विशेष रूप से, एक लागत फ़ंक्शन प्रपत्र का है

C(W,B,Sr,Er)

जहाँ हमारे तंत्रिका नेटवर्क का भार है, हमारे तंत्रिका नेटवर्क का पक्षपाती है, एकल प्रशिक्षण नमूने का इनपुट है, और उस प्रशिक्षण नमूने का वांछित आउटपुट है। ध्यान दें कि यह फ़ंक्शन संभावित रूप से और पर भी निर्भर कर सकता है क्योंकि में कोई न्यूरॉन है , क्योंकि वे मान , और पर निर्भर हैं ।WBSrEryjizjijiWBSr

Backpropagation में, लागत फ़ंक्शन का उपयोग हमारी आउटपुट लेयर, , के माध्यम से होने वाली त्रुटि की गणना करने के लिए किया जाता हैδL

δjL=CajLσ(zji)

जिसे वेक्टर के माध्यम से भी लिखा जा सकता है

δL=aCσ(zi)

हम दूसरे समीकरण के संदर्भ में लागत कार्यों की ढाल प्रदान करेंगे, लेकिन यदि कोई इन परिणामों को स्वयं साबित करना चाहता है, तो पहले समीकरण का उपयोग करने की सिफारिश की जाती है क्योंकि इसके साथ काम करना आसान है।

लागत समारोह आवश्यकताओं

Backpropagation में उपयोग करने के लिए, एक लागत फ़ंक्शन को दो गुणों को पूरा करना होगा:

1: लागत फ़ंक्शन को एक औसत के रूप में लिखा जाना चाहिएC

C=1nxCx

व्यक्तिगत प्रशिक्षण उदाहरणों के लिए लागत से अधिक कार्य , ।Cxx

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

2: लागत फ़ंक्शन को आउटपुट मान अलावा तंत्रिका नेटवर्क के किसी भी सक्रियण मान पर निर्भर नहीं होना चाहिए ।CaL

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

इसके अलावा, सक्रियण फ़ंक्शन के लिए सभी लिए आउटपुट । इस प्रकार इन लागत कार्यों को केवल उस सीमा के भीतर परिभाषित किया जाना चाहिए (उदाहरण के लिए, मान्य है क्योंकि हम ) की गारंटी देते हैं ।0ajL1jajLajL0


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

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

लेकिन क्या होगा अगर एक अलग उत्तर अलग संकेतन या शब्दावली का उपयोग करता है?
रोजर फैन

3
विचार यह है कि हर कोई यहां एक ही शब्दावली का उपयोग करता है, और यह कि अगर यह अलग है तो हम इसे इस में बदल देते हैं, इसलिए उत्तर एक दूसरे के साथ "फिट" होते हैं। लेकिन मुझे लगता है कि मैं उस टुकड़े को हटा सकता था अगर आपको नहीं लगता कि यह मददगार है।
फीलिडा

1
मुझे लगता है कि जिस प्रश्न में विस्तार होता है वह वास्तव में आवश्यक या प्रासंगिक नहीं है। यह थोड़ा ज्यादा और सीमित लगता है, लेकिन यह सिर्फ मुझे है।
रोजर फैन

जवाबों:


85

यहां वे हैं जो मैं अब तक समझता हूं। जब 0 और 1 के बीच मान दिया जाता है, तो इनमें से अधिकांश सर्वोत्तम काम करते हैं।

द्विघात लागत

इसे माध्य चुकता त्रुटि , अधिकतम संभावना और योग चुकता त्रुटि के रूप में भी जाना जाता है , इसे इस प्रकार परिभाषित किया गया है:

CMST(W,B,Sr,Er)=0.5j(ajLEjr)2

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aCMST=(aLEr)

क्रॉस-एन्ट्रापी लागत

बर्नौली नेगेटिव लॉग-लाइक और बाइनरी क्रॉस-एन्ट्रोपी के रूप में भी जाना जाता है

CCE(W,B,Sr,Er)=j[Ejr ln ajL+(1Ejr) ln (1ajL)]

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aCCE=(aLEr)(1aL)(aL)

ययय ययय ययय यय

इसके लिए कुछ पैरामीटर चुनने की आवश्यकता है जो आपको लगता है कि आपको वह व्यवहार देगा जो आप चाहते हैं। आमतौर पर आपको बस इसके साथ खेलना होगा जब तक कि चीजें अच्छी न हों।τ

CEXP(W,B,Sr,Er)=τ exp(1τj(ajLEjr)2)

जहाँ लिए बस आशुलिपि है ।exp(x)ex

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aC=2τ(aLEr)CEXP(W,B,Sr,Er)

मैं को फिर से लिख सकता हूं , लेकिन यह बेमानी लगता है। बिंदु एक ढाल की गणना करता है और फिर इसे गुणा करता है । सी एक्स पीCEXPCEXP

नरक की दूरी

CHD(W,B,Sr,Er)=12j(ajLEjr)2

आप इसके बारे में अधिक जानकारी यहाँ पा सकते हैं । इसके लिए सकारात्मक मूल्य और आदर्श रूप से और बीच के मूल्यों का होना आवश्यक है । निम्नलिखित शब्दों के लिए भी यही सच है।101

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aC=aLEr2aL

कुलबबैक-लीब्लर डाइवर्जेंस

सूचना विचलन , सूचना लाभ , सापेक्ष एन्ट्रापी , KLIC या KL डायवर्जन ( यहाँ देखें ) के रूप में भी जाना जाता है ।

कुलबबैक-लीबलर विचलन आमतौर पर , को ।

DKL(PQ)=iP(i)lnP(i)Q(i)

जहां गुम हुई सूचना का एक माप है जब का उपयोग लगभग किया जाता है । इस प्रकार हम सेट करना चाहते हैं और , क्योंकि हम को मापने के लिए कितनी जानकारी है जब हम का उपयोग खो दिया है चाहता हूँ अनुमान लगाने के लिए । यह हमें देता हैDKL(PQ)QPP=EiQ=aLajiEji

CKL(W,B,Sr,Er)=jEjrlogEjrajL

यहाँ अन्य शब्दशः और को सेट करने के इसी विचार का उपयोग करते हैं ।P=EiQ=aL

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aC=EraL

सामान्यीकृत कुलबबैक-लीबलर विचलन

से यहाँ

CGKL(W,B,Sr,Er)=jEjrlogEjrajLj(Ejr)+j(ajL)

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aC=aLEraL

इटकुरा-सिटो दूरी

यहाँ से भी

CGKL(W,B,Sr,Er)=j(EjrajLlogEjrajL1)

एक तंत्रिका नेटवर्क और कुछ नमूना के उत्पादन के संबंध में इस लागत समारोह की ढाल है:r

aC=aLEr(aL)2

जहाँ । दूसरे शब्दों में, बस प्रत्येक तत्व को चुकता करने के बराबर है ।((aL)2)j=ajLajL(aL)2aL


साझा करने के लिए धन्यवाद, आप इन पर भी विचार कर सकते हैं: github.com/torch/nn/blob/master/doc/criterion.md
यानिस असैल

2
क्रॉस-एन्ट्रापी व्युत्पन्न के हर में एक छोटी सी गलती है, यह a*(1-a)नहीं होना चाहिएa*(1+a)
अमरो

1
औसत त्रुटि के बजाय त्रुटि मात्राओं को कम करने के लिए पिनबॉल हानि फ़ंक्शन को दिखाना भी अच्छा होगा। निर्णय समर्थन प्रणाली में बहुत उपयोग किया जाता है।
रिकार्डो क्रूज़

मैं इनके लिए रेखांकन कहाँ देख सकता हूँ?
coiso

1
द्विघात लागत फ़ंक्शन के संबंध में, आपको ध्यान देना चाहिए कि "माध्य चुकता त्रुटि" "अधिकतम संभावना" "योग चुकता त्रुटि"। लेखक नाम का गलत तरीके से उपयोग कर सकते हैं, लेकिन वे एक ही चीज नहीं हैं ।
जॉन

20

टिप्पणी करने के लिए प्रतिष्ठा नहीं है, लेकिन उन अंतिम 3 ग्रेडिएंट में साइन त्रुटियां हैं।

केएल विचलन में, यह समान संकेत त्रुटि सामान्यीकृत केएल विचलन में प्रकट होती है।

C=jEjlog(Ej/aj)=jEjlog(Ej)Ejlog(aj)dC=jEjdlog(aj)=j(Ej/aj)dajaC=Ea

- दूरी में,

C=j(Ej/aj)log(Ej/aj)1=j(Ej/aj)log(Ej)+log(aj)1dC=j(Ej/aj2)daj+dlog(aj)=j(1/aj)daj(Ej/aj2)daj=j(ajEj)/aj2dajaC=aE(a)2
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.