34

मैं वर्तमान में सड़ा हुआ संतरे और खाद्य संतरे को अपनी बाहरी उपस्थिति के आधार पर अलग करने के लिए एक प्रोग्राम बनाने की कोशिश कर रहा हूं। ऐसा करने के लिए, मैं सड़ा हुआ संतरे और सामान्य संतरे के साथ ट्रेन करने के लिए एक कनवॉल्यूशनल तंत्रिका नेटवर्क का उपयोग करने की योजना बना रहा हूं। कुछ खोज के बाद मुझे लगभग एक डेटाबेस मिल सकता था। 150 सड़े हुए संतरे और काले रंग की पृष्ठभूमि पर 150 सामान्य संतरे (http://www.cofilab.com/downloads/)। जाहिर है, एक मशीन लर्निंग मॉडल को 90 या उससे अधिक प्रतिशत से अधिक सटीकता प्राप्त करने के लिए कम से कम कुछ हज़ार संतरे की आवश्यकता होगी। हालांकि, क्या मैं इन 150 संतरे को संतरे की अधिक तस्वीरें बनाने के लिए किसी भी तरह से बदल सकता हूं? बदले में, मेरा मतलब है कि "अलग नारंगी" बनाने के लिए साइट्रस फल पर नारंगी के विभिन्न रंगों को जोड़ना। क्या यह तंत्रिका नेटवर्क को प्रशिक्षित करने का एक प्रभावी तरीका होगा?तंत्रिका नेटवर्क को प्रशिक्षित करने के लिए प्रशिक्षित छवियों को बदलना

उत्तर

7

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

मान लीजिए कि आप इसे छवियों पर प्रशिक्षित करेंगे, यहां एक बहुत अच्छी जिथब रिपोजिटरी है जो उन तकनीकों का उपयोग करने के साधन प्रदान करती है। यह पायथन लाइब्रेरी आपको आपकी मशीन लर्निंग प्रोजेक्ट्स के लिए छवियों को बढ़ाने में मदद करती है। यह इनपुट छवियों के एक सेट को एक नए, थोड़ा परिवर्तित छवियों के बहुत बड़े सेट में परिवर्तित करता है। लिंक: https://github.com/aleju/imgaug

विशेषताएं:

  • अधिकांश मानक वृद्धि तकनीक उपलब्ध।

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

  • प्रत्येक वृद्धि के लिए लचीली स्टोकास्टिक श्रेणियां परिभाषित करें, उदा। " प्रत्येक छवि को -45 और 45 डिग्री के बीच मान द्वारा" या "प्रत्येक छवि को सामान्य वितरण एन (0, 5.0) से नमूने वाले मान द्वारा घुमाएं"।

  • आसानी से सभी स्टोकेस्टिक पर्वतमाला नियतात्मक मूल्यों के के लिए छवियों के विभिन्न समूहों के बिल्कुल समान रास्ता (जैसे छवियों और उनके हीटमैप) में परिवर्तित बढ़ाने।

enter image description here

2

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

3

डेटा वृद्धि जो आप खोज रहे हैं। आप मामले में अलग-अलग चीजें कर सकते हैं:

  1. थोड़ा अलग छवि प्राप्त करने के लिए फ़िल्टर लागू करें, जैसा कि कहा गया है कि आप गाऊशियन ब्लर का उपयोग कर सकते हैं।

  2. नारंगी काटिये और इसे विभिन्न पृष्ठभूमि में रखें।

  3. विभिन्न तराजू कारकों के साथ संतरे स्केल करें।

  4. छवियों को घुमाएं।

  5. कृत्रिम सड़ा हुआ संतरे बनाते हैं।

  6. पिछले उल्लिखित सभी अलग-अलग संयोजनों को मिलाएं। इस तरह के संवर्धन के साथ आप आसानी से हजारों विभिन्न संतरे बना सकते हैं।

मैं 12.000 छवियों का एक डाटासेट के साथ ऐसा ही कुछ किया है और मैं 630.000 नमूने

0

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

संबंधित मुद्दे