Softmax_cross_entropy_with_logs सॉफ्टमैक्स_क्रॉस_एंट्रोपि_विथ_लॉग्स_v2 से कैसे अलग है?


41

विशेष रूप से, मुझे लगता है कि मैं इस कथन के बारे में आश्चर्यचकित हूं:

TensorFlow के भविष्य के प्रमुख संस्करण ग्रेडिएंट्स को डिफ़ॉल्ट रूप से बैकप्रॉप पर लेबल इनपुट में प्रवाहित करने की अनुमति देंगे।

जिसका उपयोग करने पर दिखाया जाता है tf.nn.softmax_cross_entropy_with_logits। एक ही संदेश में यह मेरे लिए एक नज़र है आग्रह करता हूं tf.nn.softmax_cross_entropy_with_logits_v2। मैंने प्रलेखन के माध्यम से देखा लेकिन यह केवल यह बताता है कि tf.nn.softmax_cross_entropy_with_logits_v2:

Backpropagation लॉगिट और लेबल दोनों में होगा। लेबल में बैकप्रॉपैगैशन को हटाने के लिए, इस फ़ंक्शन को खिलाने से पहले एक स्टॉप_ग्रेडिएंट के माध्यम से लेबल टेंसर्स पास करें।

के रूप में विरोध किया है tf.nn.softmax_cross_entropy_with_logits:

बैकप्रोगैगेशन केवल लॉगिन में होगा।

विषय के लिए बहुत नया होने के नाते (मैं कुछ बुनियादी ट्यूटोरियल के माध्यम से अपना रास्ता बनाने की कोशिश कर रहा हूं) वे कथन बहुत स्पष्ट नहीं हैं। मुझे बैकप्रोपैजेशन की उथली समझ है लेकिन पिछले कथन का वास्तव में क्या मतलब है? बैकप्रोपेगेशन और लेबल कैसे जुड़े हैं? और यह कैसे बदलता है कि मैं tf.nn.softmax_cross_entropy_with_logits_v2मूल के विपरीत कैसे काम करता हूं ?

जवाबों:


56

आपके पास भ्रमित होने का हर कारण है, क्योंकि पर्यवेक्षित सीखने में किसी को लेबल पर बैकप्रोपैगेट की आवश्यकता नहीं है। उन्हें निश्चित जमीनी सच्चाई माना जाता है और उन्हें मैच करने के लिए केवल वज़न को समायोजित करने की आवश्यकता होती है।

लेकिन कुछ मामलों में, लेबल स्वयं एक अलग स्रोत, किसी अन्य नेटवर्क से आ सकते हैं। एक उदाहरण प्रतिकूल शिक्षा हो सकता है । इस स्थिति में, दोनों नेटवर्क त्रुटि संकेत से लाभान्वित हो सकते हैं। यही कारण है कि पेश कियाtf.nn.softmax_cross_entropy_with_logits_v2 गया था । ध्यान दें कि जब लेबल प्लेसहोल्डर होते हैं (जो कि विशिष्ट भी होता है), प्रवाह के माध्यम से ग्रेडिएंट होने या न होने पर कोई अंतर नहीं पड़ता है, क्योंकि ग्रेडिएंट को लागू करने के लिए कोई चर नहीं हैं।


5
आह, मैं देख रहा हूँ, मुझे अभी तक बहुत कुछ सीखना बाकी है। बस इतना कि मैंने आपको सही तरीके से समझा, मूल रूप से जब तक मैं यह संकेत नहीं देता कि मेरे लेबल अनुकूलन के अधीन हैं (ईआई उन्हें tf.Variable के रूप में संग्रहीत करता है) वे स्पर्श नहीं किए softmax_..._with_logits_v2जाएंगे और क्या काम करेंगे softmax_with_logits? (या मैं लेबल चर पर tf.stop_gradient का उपयोग कर सकता हूं।)
क्रिश्चियन एरिकसन

3
हाँ य़ह सही हैं।
मैक्सिम

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