यह कैसे संभव है कि सत्यापन हानि बढ़ रही है जबकि सत्यापन सटीकता भी बढ़ रही है


28

मैं CIFAR10 डेटासेट पर एक सरल तंत्रिका नेटवर्क का प्रशिक्षण दे रहा हूं। कुछ समय बाद, सत्यापन हानि बढ़ने लगी, जबकि सत्यापन सटीकता भी बढ़ रही है। परीक्षण हानि और परीक्षण सटीकता में सुधार जारी है।

यह कैसे हो सकता है? ऐसा लगता है कि यदि सत्यापन हानि में वृद्धि होती है, तो सटीकता कम होनी चाहिए।

PS ऐसे ही कई सवाल हैं, लेकिन किसी ने नहीं बताया कि वहां क्या हो रहा था।यहाँ छवि विवरण दर्ज करें


2
आप मेरे उत्तर को समझने के लिए कुछ संकेत यहाँ देख सकते हैं: आंकड़े
ahstat

@stat मैं समझता हूं कि यह तकनीकी रूप से कैसे संभव है, लेकिन मुझे समझ नहीं आता कि यह यहां कैसे होता है।
कॉन्स्टेंटिन सोलोमेटोव

'चित्रण 2' वह है जो मैंने और आपने अनुभव किया, जो एक तरह का ओवरफिटिंग है। मेरी विशेष समस्या के लिए, सेट पर फेरबदल के बाद इसे समाप्त कर दिया गया।
अहिस्तात

@ahstat ओवरफिटिंग से लड़ने के कई तरीके हैं। उदाहरण के लिए, मैं ड्रॉपआउट का उपयोग कर सकता हूं। मैं सबसे दिलचस्प क्या हूं, इसके लिए क्या स्पष्टीकरण है। यानी यह इतना धीरे-धीरे और केवल ऊपर क्यों बढ़ रहा है।
कॉन्स्टेंटिन सोलोमेटोव

जवाबों:


12

अंकुर के उत्तर और उसके नीचे की टिप्पणी के आधार पर, मुझे लगता है कि निम्नलिखित परिदृश्य संभव है, जबकि मेरे पास इसका कोई प्रमाण नहीं है। एक ही समय में दो घटनाएँ हो सकती हैं:

  1. बॉर्डरलाइन भविष्यवाणियों के साथ कुछ उदाहरणों से बेहतर अनुमान लगाया जाता है और इसलिए उनके आउटपुट क्लास में बदलाव (जैसे कि बिल्ली की छवि 0.4 पर और बिल्ली होने के लिए 0.6 की भविष्यवाणी की गई है और घोड़ा बनने के लिए 0.4 की भविष्यवाणी की गई है और एक बिल्ली होने के लिए 0.6 की है)। इसके लिए धन्यवाद, सटीकता कम हो जाती है जबकि नुकसान कम हो जाता है।

  2. बहुत बुरी भविष्यवाणियों के साथ कुछ उदाहरण खराब होते रहते हैं (जैसे कि एक बिल्ली की छवि 0.8 से एक घोड़े के होने की भविष्यवाणी की जाती है। 0.9 पर एक घोड़ा होने की भविष्यवाणी की जाती है) और / या (विशेष रूप से बहु-वर्ग के लिए?) कुछ उदाहरण बहुत अच्छे के साथ? भविष्यवाणियां थोड़ी खराब हो जाती हैं (उदाहरण के लिए बिल्ली पर 0.9 की भविष्यवाणी की जाने वाली बिल्ली 0.8 से बिल्ली बनने की भविष्यवाणी की जाती है)। इस घटना के साथ, हानि बढ़ जाती है जबकि सटीकता समान रहती है।

इसलिए यदि घटना कुछ उदाहरणों पर, उदाहरण के बहुत पर (उदाहरण के लिए, जो एक विशिष्ट वर्ग के लिए जो किसी कारण से अच्छी तरह से समझा नहीं जाता है) और / या नुकसान में कमी के साथ स्टॉन्जर में वृद्धि हुई है, तो आप हो सकते हैं। अपने आप को अपने परिदृश्य में खोजें।
एक बार फिर, शायद यह नहीं हो रहा है, लेकिन मुझे लगता है कि इस तरह के परिदृश्यों के साथ आने में सक्षम होना हमें (क्रॉस-एंट्रॉपी) नुकसान और सटीकता के बीच कभी-कभी फिसलन भरे रिश्ते की याद दिलाता है।


15

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

मान लीजिए कि 3 वर्ग हैं- कुत्ता, बिल्ली और घोड़ा। हमारे मामले के लिए, सही वर्ग घोड़ा है । अब, सॉफ्टमैक्स का आउटपुट [0.9, 0.1] है। इस नुकसान के लिए ~ 0.37। क्लासिफायरियर भविष्यवाणी करेगा कि यह एक घोड़ा है। एक और मामला ले लो जहां सॉफ्टमैक्स आउटपुट [0.6, 0.4] है। घाटा ~ 0.6। क्लासिफायरियर अभी भी भविष्यवाणी करेगा कि यह एक घोड़ा है। लेकिन निश्चित रूप से, नुकसान बढ़ गया है। तो, यह आउटपुट वितरण के बारे में है।


4
अवलोकन: आपके उदाहरण में, सटीकता नहीं बदलती है। यह अभी भी 100% है। क्या आपके पास एक उदाहरण है जहां नुकसान घटता है, और सटीकता भी घट जाती है?
ह्यूग पर्किंस

1

अंकुर के जवाब से ऐसा लगता है कि:

सीआरआरसीटी-सीएलरोंरोंरोंटीटीएल-सीएलरोंरोंरों

जबकि

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

इसलिए...

उच्च मूल्यांकन सटीकता + उच्च हानि स्कोर बनाम उच्च प्रशिक्षण सटीकता + कम नुकसान स्कोर का सुझाव है कि मॉडल प्रशिक्षण डेटा पर अति-फिटिंग हो सकता है।


0

कई उत्तर गणितीय गणना पर ध्यान केंद्रित करते हुए बताते हैं कि यह कैसे संभव है। लेकिन वे यह नहीं समझाते कि ऐसा क्यों हो जाता है। और वे यह नहीं बता सकते हैं कि आगे और अधिक स्पष्ट होने के लिए खुदाई कैसे करें।

मेरी 3 परिकल्पना है। और उन्हें सत्यापित करने के लिए कुछ प्रयोग सुझाए। उम्मीद है कि यह इस समस्या को समझाने में मदद कर सकता है।

  1. लेबल शोर है। जब वाल_लॉस न्यूनतम हो और वेल_एसीसी अधिकतम हो तो बीच की झूठी भविष्यवाणियों की तुलना करें। जांचें कि क्या ये नमूने सही तरीके से लेबल किए गए हैं।
  2. [कम संभावना] मॉडल में निश्चित होने के लिए जानकारी का पर्याप्त पहलू नहीं है। अधिक और बड़ी छिपी हुई परतों के साथ प्रयोग।
  3. [एक बहुत ही जंगली अनुमान] यह एक ऐसा मामला है जिसमें मॉडल को कुछ चीजों के बारे में कम बताया जाता है, जो लंबे समय तक प्रशिक्षित होती हैं। ऐसी स्थिति मानव के साथ भी होती है। जब किसी ने एक तकनीक को सीखना शुरू किया, तो उसे बताया गया कि क्या अच्छा है या बुरा, इसके लिए कुछ चीजें क्या हैं (उच्च निश्चितता)। जब वह अधिक मामलों और उदाहरणों से गुजरता है, तो उसे पता चलता है कि कभी-कभी कुछ सीमाएं धुंधला (कम निश्चित, अधिक नुकसान) हो सकती हैं, भले ही वह बेहतर निर्णय (अधिक सटीकता) कर सके। और वह अंततः और अधिक निश्चित हो सकता है जब वह नमूनों की एक विशाल सूची और बहुत सारे परीक्षण और त्रुटियों (अधिक प्रशिक्षण डेटा) के माध्यम से जाने के बाद एक मास्टर बन जाता है। इसलिए इस मामले में, मैं सुझाव देता हूं कि प्रशिक्षण डेटा (लेबल नहीं) में अधिक शोर जोड़कर मददगार हो सकता है।

यदि आप इन परिकल्पनाओं से असहमत हैं तो इस बारे में बहस न करें। उन्हें सत्यापित करने, उन्हें साबित करने या उन्हें गलत साबित करने के लिए कोई फर्क नहीं पड़ता, यह प्रयोग करने के लिए अधिक सार्थक होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.