CNNs के इनपुट के रूप में साइड इमेज के साथ नॉन इमेज फीचर्स को कैसे जोड़ें


14

मैं कोहरे की स्थिति (3 वर्ग) पर छवियों को वर्गीकृत करने के लिए एक दृढ़ तंत्रिका नेटवर्क का प्रशिक्षण दे रहा हूं। हालाँकि, लगभग 150.000 छवियों में से प्रत्येक के लिए मेरे पास चार मौसम संबंधी चर उपलब्ध हैं जो छवियों के वर्गों की भविष्यवाणी करने में मदद कर सकते हैं। मैं सोच रहा था कि मैं मौजूदा CNN संरचना में मौसम संबंधी चर (जैसे तापमान, हवा की गति) को कैसे जोड़ सकता हूं ताकि यह वर्गीकरण में मदद कर सके।

एक तरीका है जिसके बारे में मैं पहले ही सोच सकता हूँ कि CNN के साथ-साथ एक और (छोटा) फीडफ़ेयर न्यूरल नेट बनाया जा रहा है और फिर CNN लेयर के आउटपुट और नॉन-इमेज न्यूरल नेट की छिपी हुई परतों को एक-दूसरे को डैमेज लेयर में समेट रहा है।

दूसरा तरीका जिसके बारे में मैं सोच सकता था कि वह इन सुविधाओं से घनी परत से संपर्क कर रहा है। हालांकि, इस मामले में, गैर-छवि चर (मुझे लगता है) केवल रैखिक भविष्यवाणियां करने में सक्षम होंगे।

क्या कोई अन्य (बेहतर) तरीके हैं जो गैर-छवि विशेषताओं को मॉडल में शामिल किया जा सकता है? और मेरे पास डेटा की मात्रा को देखते हुए क्या उचित तरीका होगा?

मेरे पास एक और सवाल है कि क्या मुझे इन गैर-छवि विशेषताओं के साथ प्रशिक्षण के दौरान दोषपूर्ण परतों को अनफेयर करना चाहिए या नहीं? Resnet-18 की ये परतें (जो ImageNet पर पूर्व प्रशिक्षित के रूप में आरंभीकृत की गई थीं) पहले से ही छवियों का उपयोग करके ठीक-ठीक तैयार की गई हैं। मेरा अनुमान है कि मुझे उन्हें जमे हुए रखना चाहिए और केवल घनी परत को उधेड़ना चाहिए क्योंकि यह केवल यहाँ है कि गैर-छवि सुविधाएँ छवि सुविधाओं (सीएनएन में पहले नहीं) के साथ 'संपर्क' में आती हैं। यदि मैं इस पर गलत हूँ, तो कृपया कहें!


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

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

@VigneshVenugopal कृपया टिप्पणियों में मेरा उल्लेख करें अन्यथा मुझे सूचित नहीं किया जा सकता है। आपका सवाल क्या हैं? :)
मीडिया

मैं अपने नेटवर्क को गति और थ्रॉटल और स्टीयरिंग कोण कैसे समेट सकता हूं? क्या आप घने के बारे में बताएंगे कि कितने घने जोड़ है? इस पर क्या निर्भर करता है?
नसरीनजघारी

जवाबों:


10

मेरा समाधान आपकी पहली सिफारिश की तरह है, लेकिन थोड़े बदलाव के साथ।

  1. अपनी संकेंद्रित परतों का निर्माण करें और उन्हें समतल-परत तक ढेर करें। इस नेटवर्क को छवि डेटा के साथ खिलाया जाना चाहिए।
  2. अपने सक्रियण मानचित्रों को सपाट करें
  3. वांछित संख्या में न्यूरॉन्स और परतों के साथ पूरी तरह से जुड़े नेटवर्क का निर्माण करें।
  4. दृढ़ जाल और पूरी तरह से जुड़े जाल की चपटी परत के आउटपुट को समेटें।
  5. कुछ घनी परतें जोड़ें और उन्हें अंतिम परत से कनेक्ट करें जो आपकी कक्षाओं का प्रतिनिधित्व करता है।

आप इस वास्तुकला के लिए प्रथागत लागत कार्यों का उपयोग कर सकते हैं।


केरस में, क्या आप इसे Concatenate()परतों के साथ कर सकते हैं ?
लीवो

हाँ। आपको उन्हें एक-दूसरे के साथ लगाने के लिए उन्हें समेटना चाहिए।
मीडिया

मैं उपयोग करूं Concatenate()या concatenate()परतें? मैं अंतर नहीं बता सकता
लीवो

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