मैं इसके लिए अपना जवाब प्रदान करने के बारे में थोड़ा बुरा महसूस करता हूं क्योंकि यह अमीबा और जुम्पा द्वारा बहुत अच्छी तरह से कब्जा कर लिया गया है, सिवाय शायद अंतिम अंतर्ज्ञान के बारे में कि कैसे जैकबियन को एक वेक्टर में वापस कम किया जा सकता है।
आपने जेकोबियन मैट्रिक्स के विकर्ण के ढाल को सही ढंग से व्युत्पन्न किया है, जो यह कहना है
∂hi∂zj=hi(1−hj):i=j
और जैसा कि अमीबा ने कहा है, आपको जैकबियन की विकर्ण प्रविष्टियों को भी प्राप्त करना होगा, जो उपज देती है
∂hi∂zj=−hihj:i≠j
इन दो अवधारणाओं की परिभाषाओं को आसानी से क्रोनकर डेल्टा नामक एक निर्माण का उपयोग करके जोड़ा जा सकता है , इसलिए ढाल की परिभाषा बन जाती है
∂hi∂zj=hi(δij−hj)
तो Jacobian एक वर्ग मैट्रिक्स है [J]ij=hi(δij−hj)
इस बिंदु तक की सभी जानकारी पहले से ही अमीबा और जुम्पा द्वारा कवर की गई है। समस्या बेशक है, कि हमें पहले से गणना की गई आउटपुट त्रुटियों से इनपुट त्रुटियों को प्राप्त करने की आवश्यकता है । के बाद से उत्पादन त्रुटि की ढाल आदानों के सभी पर निर्भर करता है, तो इनपुट की ढाल x मैं है∇hixi
[∇x]k=∑i=1∇hi,k
ऊपर दिए गए याकूबियन मैट्रिक्स को देखते हुए, यह मैट्रिक्स के उत्पाद और आउटपुट त्रुटि वेक्टर के रूप में तुच्छ रूप से लागू किया जाता है:
σl→=Jσl+1→
अगर सॉफ्टमैक्स लेयर आपकी आउटपुट लेयर है, तो इसे क्रॉस-एन्ट्रापी कॉस्ट मॉडल के साथ संयोजित करने से कंपटीशन को सरल बनाने में आसानी होती है
σl→=h⃗ −t⃗
जहाँ लेबल का वेक्टर है, और → h सॉफ्टमैक्स फ़ंक्शन से आउटपुट है। न केवल सरलीकृत रूप सुविधाजनक है, यह एक संख्यात्मक स्थिरता के दृष्टिकोण से भी बहुत उपयोगी है।t⃗ h⃗