मैं एक परियोजना शुरू कर रहा हूं, जहां कार्य छवियों से स्नीकर प्रकारों की पहचान करना है। मैं वर्तमान में TensorFlow और मशाल कार्यान्वयन में पढ़ रहा हूं । मेरा सवाल है: एक उचित वर्गीकरण प्रदर्शन तक पहुंचने के लिए प्रति वर्ग कितने चित्र आवश्यक हैं?
मैं एक परियोजना शुरू कर रहा हूं, जहां कार्य छवियों से स्नीकर प्रकारों की पहचान करना है। मैं वर्तमान में TensorFlow और मशाल कार्यान्वयन में पढ़ रहा हूं । मेरा सवाल है: एक उचित वर्गीकरण प्रदर्शन तक पहुंचने के लिए प्रति वर्ग कितने चित्र आवश्यक हैं?
जवाबों:
से कैसे कुछ प्रशिक्षण उदाहरण बहुत कम है जब एक तंत्रिका नेटवर्क प्रशिक्षण है? CV पर:
यह वास्तव में आपके डेटासेट, और नेटवर्क आर्किटेक्चर पर निर्भर करता है। अंगूठे के एक नियम को मैंने पढ़ा है (2) तंत्रिका नेटवर्क के लिए प्रति वर्ग कुछ हजार नमूने बहुत अच्छा प्रदर्शन शुरू करने के लिए था। व्यवहार में, लोग कोशिश करते हैं और देखते हैं।
मोटे तौर पर यह आकलन करने का एक अच्छा तरीका है कि अधिक प्रशिक्षण नमूने लेने के लिए यह किस हद तक फायदेमंद हो सकता है, प्रशिक्षण सेट के आकार के आधार पर तंत्रिका नेटवर्क के प्रदर्शन की साजिश करना, जैसे (1) से:
(२) साइरसन, डैन सी।, उली मीयर और जुरगेन श्मिधुबर। "गहरी तंत्रिका नेटवर्क के साथ लैटिन और चीनी वर्णों के लिए स्थानांतरण सीखने।" 2012 में तंत्रिका नेटवर्क पर अंतर्राष्ट्रीय संयुक्त सम्मेलन (IJCNN), पीपी। 1-6। IEEE, 2012. https://scholar.google.com/scholar?cluster=7452424507909578812&hl=en&as_sdt=0,22 ; http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf :
प्रति वर्ग कुछ हजार नमूनों के साथ वर्गीकरण कार्यों के लिए , (अप्रकाशित या पर्यवेक्षित) दिखावा का लाभ प्रदर्शित करना आसान नहीं है।
सबसे अच्छा तरीका यह है कि आप जितना आराम से डेटा इकट्ठा कर सकें। फिर प्रोजेक्ट के साथ शुरुआत करें और एक डेटा मॉडल बनाएं।
अब आप अपने मॉडल का मूल्यांकन यह देखने के लिए कर सकते हैं कि उसमें उच्च पूर्वाग्रह या उच्च भिन्नता है या नहीं ।
उच्च भिन्नता : इस स्थिति में आप देखेंगे कि अभिसरण के बाद प्रशिक्षण त्रुटि की तुलना में क्रॉस-वैलिडेशन त्रुटि अधिक है। यदि आप प्रशिक्षण डेटा आकार के खिलाफ समान प्लॉट करते हैं तो यह एक महत्वपूर्ण अंतर है।
उच्च पूर्वाग्रह : इस स्थिति में क्रॉस-वेलिडेशन त्रुटि प्रशिक्षण त्रुटि की तुलना में थोड़ी अधिक है जो कि प्रशिक्षण डेटा के आकार के अनुसार प्लॉट किए जाने पर उच्च होती है। प्रशिक्षण डेटा आकार के खिलाफ साजिश रचने का मतलब है, आप अपने पास मौजूद प्रशिक्षण डेटा के सबसेट इनपुट कर सकते हैं और उप-आकार का आकार बढ़ा सकते हैं। और प्लॉट त्रुटियों।
यदि आप देखते हैं कि आपके मॉडल में उच्च विचरण (ओवरफिट) है, तो अधिक डेटा जोड़ने से आमतौर पर उच्च पूर्वाग्रह (अंडरफिट) मॉडल के विपरीत मदद मिलेगी जहां नए प्रशिक्षण डेटा को जोड़ने में मदद नहीं मिलती है।
साथ ही प्रति कक्षा आपको समान संख्या में चित्र प्राप्त करने का प्रयास करना होगा अन्यथा डेटासेट तिरछा (एक प्रकार का) हो सकता है।
इसके अलावा, मैं सुझाव देता हूं कि यदि आप TensorFlow का उपयोग कर रहे हैं , तो GOOGLE की INCEPTION छवि क्लासिफायर के बारे में अधिक पढ़ें । यह पहले से ही Google के छवि डेटाबेस पर वर्गीकृत क्लासिफाइड है और आप इसे अपनी छवियों के लिए उपयोग कर सकते हैं, इस तरह से छवियों की संख्या की आवश्यकताओं में भारी कमी आती है।