डीप लर्निंग मॉडल के लिए सॉफ्टमैक्स आउटपुट एक अच्छा अनिश्चितता मापक क्यों नहीं है?


22

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

( जैसे मैंने एक वस्तु की व्याख्या की है / कम सॉफ्टमैक्स सक्रियण के साथ इसकी पिक्सल पर औसतन सीएनएन का पता लगाना मुश्किल है, इसलिए सीएनएन इस तरह की वस्तु की भविष्यवाणी करने के बारे में "अनिश्चित" है। )

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


संपादित करें: स्पष्ट करने के लिए कि मैं यहां क्या पूछ रहा हूं, मैं इस सवाल का जवाब देने में अपनी अंतर्दृष्टि पर विस्तार से बताऊंगा। हालाँकि, निम्नलिखित में से किसी भी तर्क ने मुझे स्पष्ट नहीं किया है कि ** आम तौर पर यह एक बुरा विचार क्यों है **, जैसा कि मुझे बार-बार सहयोगियों, पर्यवेक्षकों द्वारा बताया गया था और यह भी उदाहरण के लिए कहा गया है जैसे कि अनुभाग "1.5" में

वर्गीकरण मॉडल में, पाइप लाइन के अंत में प्राप्त होने वाली प्रायिकता वेक्टर (सॉफ्टमैक्स आउटपुट) को अक्सर मॉडल आत्मविश्वास के रूप में गलत तरीके से व्याख्या किया जाता है।

या यहाँ "पृष्ठभूमि" में :

यद्यपि यह आत्मविश्वास स्कोर के रूप में एक दृढ़ तंत्रिका नेटवर्क की अंतिम सॉफ्टमैक्स परत द्वारा दिए गए मूल्यों की व्याख्या करने के लिए लुभावना हो सकता है, हमें इस बारे में बहुत अधिक न पढ़ने के लिए सावधान रहने की आवश्यकता है।


उपरोक्त कारण कि अनिश्चितता के रूप में सॉफ्टमैक्स आउटपुट का उपयोग करना बुरा है क्योंकि:

वास्तविक छवि के लिए अपरिवर्तनीय गड़बड़ी एक गहरे नेटवर्क के सॉफ्टमैक्स आउटपुट को मनमाना मूल्यों में बदल सकती है

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

एक अन्य पेपर "सॉफ्टमैक्स आउटपुट = आत्मविश्वास" विचार पर उठाता है और तर्क देता है कि इस अंतर्ज्ञान नेटवर्क के साथ आसानी से मूर्ख बनाया जा सकता है, जिससे "गैर-मान्यता प्राप्त छवियों के लिए उच्च आत्मविश्वास आउटपुट" का उत्पादन हो सकता है।

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

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

हालाँकि: क्या यह आम तौर पर संपूर्ण रूप से NN के सामान्यीकरण गुणों पर सवाल नहीं उठा रहा है? यानी कि NN को सॉफ्टमैक्स लॉस के साथ (1) "अप्रतिरोध्य गड़बड़ियों" या (2) इनपुट डेटा नमूनों से सामान्यीकृत नहीं किया गया है, जो प्रशिक्षण डेटा से बहुत दूर हैं, जैसे कि पहचानने योग्य चित्र।

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


4
(,)(0,1)

2
(0,1)(0,1)

मुझे यह पसंद है कि आपने इसे कैसे बनाया: "आखिरकार, वे अच्छी तरह से यह
दर्शाते हैं

जवाबों:


14

इस प्रश्न का उत्तर वर्तमान उत्तरों की तुलना में अधिक सटीक रूप से दिया जा सकता है। पूर्वानुमानित संभावनाओं (एक तंत्रिका नेटवर्क के सॉफ्टमैक्स परत का उत्पादन) और उनकी वास्तविक संभावनाओं (जो विश्वास की धारणा का प्रतिनिधित्व करते हैं) के बीच विचलन को ठीक करना, अंशांकन या विश्वसनीयता घटता के रूप में जाना जाता है।

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

चुआन गो एट। अल।, किलिन वेनबर्गर के साथ काम करते हुए, इस पत्र में तंत्रिका नेटवर्क की अनुमानित संभावनाओं को कैलिब्रेट करने के लिए एक प्रभावी समाधान विकसित किया: https://arxiv.org/pdf/1706.04599.pdf

इस पत्र में यह भी बताया गया है कि कैसे अनुमानित संभावनाओं की व्याख्या की जा सकती है जब अनुमानित संभावनाओं को सही ढंग से कैलिब्रेट किया जाता है।


1
धन्यवाद @cgnorthcutt, मैंने सुना है कि लोग कई बार इसका उल्लेख करते हैं और इस पेपर की खोज कर रहे हैं, वास्तव में अच्छा संदर्भ है
Théophile Pace

सुंदर धन्यवाद। यहाँ रुचि रखने वालों के लिए सार (कागज के बजाय) का लिंक दिया गया है: arxiv.org/abs/1706.04599
Waylon Flinn

3

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

इसलिए, मैं कहूंगा कि आपका अंतर्ज्ञान निशान से पूरी तरह से दूर नहीं है। हालांकि, उपरोक्त बंधक मॉडलिंग उदाहरण में आश्रित चर ऋण चूक की संभावना मीट्रिक है। आपके पास बंधक का एक पूल है और चूक की संख्या का निरीक्षण करें। एक एकल बंधक या तो वर्तमान या डिफ़ॉल्ट रूप में हो सकता है, इसके डिफ़ॉल्ट की संभावना अवलोकनीय नहीं है। हम केवल असतत घटनाओं का निरीक्षण करते हैं। हालाँकि, हम संभावनाओं को मॉडल करते हैं।

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


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

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

1

सॉफ्टमैक्स उपलब्ध कक्षाओं के बीच 'संभावना' 0-1 वितरित करता है। यह अव्यवस्था व्यक्त नहीं करता है, यह एक पीडीएफ फ़ंक्शन नहीं है। यदि आप अव्यवस्था व्यक्त करना चाहते हैं तो आपको बायेसियन न्यूरल नेटवर्क में देखना चाहिए। इस पत्र पर एक नज़र: गहन सीखने में अनिश्चितता कुछ हाल ही में संभावना चौखटे:

ज़ुबिन घ्रामणी (कैम्ब्रिज विश्वविद्यालय) द्वारा दिलचस्प मुख्य वार्ता

इस कागज पर एक नजर: मिश्रण घनत्व नेटवर्क :

मुझे लगता है कि आप इसे लागू कर सकते हैं और CONVNET की अंतिम परत के रूप में जोड़ सकते हैं। यदि आप इसे लागू करते हैं, तो यह मत भूलिए कि शेयरिंग देखभाल योग्य है ;-) सौभाग्य


1

पेपर ड्रॉपआउट इन बायेसियन एप्रिसिएशन : डीप लर्निंग में मॉडल अनिश्चितता का प्रतिनिधित्व करते हुए , यारिन गल और ज़ौबिन घ्रामणी निम्नलिखित तर्क देते हैं

x*

यहाँ आंकड़ा 1 है।

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

इसलिए, यदि हम सॉफ्टमैक्स के आउटपुट को मॉडल अनिश्चितता या आत्मविश्वास के रूप में व्याख्या करते हैं, तो मॉडल बिंदु के लिए अत्यधिक आश्वस्त है एक्स*भले ही उस क्षेत्र में कोई प्रशिक्षण डेटा नहीं देखा गया था, लेकिन यह भ्रामक हो सकता है, क्योंकि उस क्षेत्र में सही कार्य, सीखा हुआ (ठोस काली रेखा) की तुलना में पूरी तरह से अलग हो सकता है।

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