Google डीपड्रीम विस्तृत


12

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

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

हालांकि, गहरे सपने का दिलचस्प हिस्सा यह है कि यह प्रति परत करता है, और इस संबंध में मुझे पूरा यकीन नहीं है कि यह विवरण को प्रति परत तरीके से कैसे जोर देता है।

निश्चित रूप से, एक छवि में खिलाने से आपको प्रत्येक न्यूरॉन पर मान मिलेगा, लेकिन फिर हम उस जानकारी का उपयोग मूल छवि में अतिरंजित करने के लिए कैसे कर सकते हैं? मैंने इस बारे में कोई विस्तृत लिखने के लिए संघर्ष किया है।

संदर्भ: यहाँ vzn ने एक समान प्रश्न का उत्तर दिया: https://cs.stackexchange.com/a/44857/49671

उस लिंक से, डीप्रीम का कार्यान्वयन है, यहाँ: http://auduno.com/post/125362849838/visualizing-googlenet-classes

सिवाय इसके कि सुविधाओं की अतिशयोक्ति की पेशकश नहीं की जाती है जैसा कि यहां चर्चा की गई है: http://googleresearch.blogspot.com/2015/06/inceptionism-going-deeper-into-neural.html

जहां वे दोनों विशेष वर्गों और विशेष परतों के दृश्य दिखाते हैं, और कहते हैं:

यह निर्धारित करने के बजाय कि हम किस विशेषता को नेटवर्क को बढ़ाना चाहते हैं, हम नेटवर्क को यह निर्णय लेने दे सकते हैं। इस मामले में हम बस नेटवर्क को एक मनमाना छवि या फोटो खिलाते हैं और नेटवर्क को चित्र का विश्लेषण करने देते हैं। हम तब एक परत चुनते हैं और नेटवर्क को जो कुछ भी पता चला है उसे बढ़ाने के लिए कहते हैं।


जवाबों:


7

डीपड्रीम का विचार यह है: नेटवर्क से कुछ परत चुनें (आमतौर पर एक परतदार परत), चयनित परत पर सुविधाओं को निकालने के लिए नेटवर्क के माध्यम से प्रारंभिक छवि को पास करें, उस परत पर ढाल को खुद को सक्रियण के बराबर सेट करें, और फिर बैकप्रोपेगेट करें छवि के लिए।

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

यदि आप कोड को देखते हैं , तो मुख्य भाग objective_L2फ़ंक्शन होता है जो इसे बनाता है: और फिर बैकप्रॉपैगेट्स।एक्स=एक्स

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