तंत्रिका नेटवर्क के प्रदर्शन का मूल्यांकन करने में उपयोग किए जाने वाले सामान्य लागत कार्य क्या हैं?
विवरण
(बेझिझक इस सवाल के बाकी हिस्सों को छोड़ दें, मेरा इरादा यहाँ केवल इस बात पर स्पष्टीकरण देने के लिए है कि उत्तर सामान्य पाठक के लिए उन्हें अधिक समझने में मदद करने के लिए उपयोग कर सकते हैं)
मुझे लगता है कि सामान्य लागत के कार्यों की एक सूची के लिए उपयोगी होगा, कुछ तरीकों के साथ जो वे व्यवहार में उपयोग किए गए हैं। इसलिए यदि अन्य लोग इसमें रुचि रखते हैं तो मुझे लगता है कि एक समुदाय विकी शायद सबसे अच्छा तरीका है, या अगर यह विषय है तो हम इसे नीचे ले जा सकते हैं।
नोटेशन
तो शुरू करने के लिए, मैं एक संकेतन को परिभाषित करना चाहूंगा जिसका उपयोग हम सभी इनका वर्णन करते समय करते हैं, इसलिए उत्तर एक दूसरे के साथ अच्छी तरह से फिट होते हैं।
यह अंकन नीलसन की पुस्तक का है ।
एक फीडफॉर्वर्ड न्यूरल नेटवर्क न्यूरॉन्स की कई परतें एक साथ जुड़ी होती हैं। फिर यह एक इनपुट में लेता है, वह इनपुट नेटवर्क के माध्यम से "ट्रिकल" होता है और फिर न्यूरल नेटवर्क आउटपुट वेक्टर देता है।
अधिक औपचारिक रूप से, फोन की सक्रियता (उत्पादन उर्फ) में न्यूरॉन परत है, जहां है इनपुट वेक्टर में तत्व। जे टी एच मैं टी ज एक 1 जे जे टी ज
फिर हम अगली परत के इनपुट को निम्न संबंध से पिछले कर सकते हैं:
कहाँ पे
सक्रियण फ़ंक्शन है,
k t h ( i - 1 ) t h j t h i t h से वजन है में न्यूरॉन के लिए परत में न्यूरॉन परत,
j t h i t h न्यूरॉन का पूर्वाग्रह है परत में, और
जे टी एच मैं टी ज न्यूरॉन के सक्रियण मान का प्रतिनिधित्व करता है लेयर में।
कभी-कभी हम को , दूसरे शब्दों में, सक्रियण फ़ंक्शन को लागू करने के लिए एक न्यूरॉन का सक्रियण मान * । Σ कश्मीर ( डब्ल्यू मैं j कश्मीर ⋅ एक मैं - 1 कश्मीर ) + ख मैं j
अधिक संक्षिप्त संकेतन के लिए हम लिख सकते हैं
इस फॉर्मूले का उपयोग करने के लिए कुछ इनपुट लिए एक फीडफॉर्वर्ड नेटवर्क के आउटपुट की गणना करने के लिए , सेट करें , फिर , , ..., गणना करें। , जहाँ m परतों की संख्या है।एक 1 = मैं एक 2 एक 3 एक मीटर
परिचय
एक लागत फ़ंक्शन एक उपाय है "कितना अच्छा" एक तंत्रिका नेटवर्क ने इसे प्रशिक्षण नमूना और अपेक्षित आउटपुट के संबंध में दिया। यह वजन और गैसों जैसे चर पर भी निर्भर हो सकता है।
एक लागत फ़ंक्शन एक एकल मान है, न कि एक वेक्टर, क्योंकि यह यह बताता है कि तंत्रिका नेटवर्क ने समग्र रूप से कितना अच्छा किया।
विशेष रूप से, एक लागत फ़ंक्शन प्रपत्र का है
जहाँ हमारे तंत्रिका नेटवर्क का भार है, हमारे तंत्रिका नेटवर्क का पक्षपाती है, एकल प्रशिक्षण नमूने का इनपुट है, और उस प्रशिक्षण नमूने का वांछित आउटपुट है। ध्यान दें कि यह फ़ंक्शन संभावित रूप से और पर भी निर्भर कर सकता है क्योंकि में कोई न्यूरॉन है , क्योंकि वे मान , और पर निर्भर हैं ।
Backpropagation में, लागत फ़ंक्शन का उपयोग हमारी आउटपुट लेयर, , के माध्यम से होने वाली त्रुटि की गणना करने के लिए किया जाता है
जिसे वेक्टर के माध्यम से भी लिखा जा सकता है
हम दूसरे समीकरण के संदर्भ में लागत कार्यों की ढाल प्रदान करेंगे, लेकिन यदि कोई इन परिणामों को स्वयं साबित करना चाहता है, तो पहले समीकरण का उपयोग करने की सिफारिश की जाती है क्योंकि इसके साथ काम करना आसान है।
लागत समारोह आवश्यकताओं
Backpropagation में उपयोग करने के लिए, एक लागत फ़ंक्शन को दो गुणों को पूरा करना होगा:
1: लागत फ़ंक्शन को एक औसत के रूप में लिखा जाना चाहिए
व्यक्तिगत प्रशिक्षण उदाहरणों के लिए लागत से अधिक कार्य , ।
ऐसा है तो यह हमें एकल प्रशिक्षण उदाहरण के लिए ग्रेडिएंट (वजन और पक्षपात के संबंध में) की गणना करने की अनुमति देता है, और ग्रेडिएंट डिसेंट चलाता है।
2: लागत फ़ंक्शन को आउटपुट मान अलावा तंत्रिका नेटवर्क के किसी भी सक्रियण मान पर निर्भर नहीं होना चाहिए ।
तकनीकी रूप से एक लागत फ़ंक्शन किसी भी या पर निर्भर हो सकता है । हम सिर्फ इस प्रतिबंध को बनाते हैं ताकि हम बैकप्रोपगेट कर सकें, क्योंकि अंतिम परत के ग्रेडिएंट को खोजने के लिए समीकरण केवल एक ही है जो लागत फ़ंक्शन पर निर्भर है (बाकी अगली परत पर निर्भर हैं)। यदि लागत फ़ंक्शन आउटपुट एक के अलावा अन्य सक्रियण परतों पर निर्भर करता है, तो बैकप्रॉपैगेशन अमान्य होगा क्योंकि "पीछे की ओर चाल" का विचार अब काम नहीं करता है।
इसके अलावा, सक्रियण फ़ंक्शन के लिए सभी लिए आउटपुट । इस प्रकार इन लागत कार्यों को केवल उस सीमा के भीतर परिभाषित किया जाना चाहिए (उदाहरण के लिए, मान्य है क्योंकि हम ) की गारंटी देते हैं ।