अतिरिक्त प्रशिक्षण डेटा जोड़कर ओवरफिटिंग को कम करने के लिए ऑगमेंटेशन का उपयोग किया जा सकता है। यह एक अनुक्रमिक मॉडल बनाकर किया जाता है जो 'रैंडमफ्लिप' परत का उपयोग करता है।
और पढ़ें: TensorFlow क्या है और Keras कैसे तंत्रिका नेटवर्क बनाने के लिए TensorFlow के साथ काम करता है?
हम केरस अनुक्रमिक एपीआई का उपयोग करेंगे, जो एक अनुक्रमिक मॉडल बनाने में सहायक है जिसका उपयोग परतों के एक सादे ढेर के साथ काम करने के लिए किया जाता है, जहां हर परत में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।
एक तंत्रिका नेटवर्क जिसमें कम से कम एक परत होती है, एक दृढ़ परत के रूप में जानी जाती है। हम लर्निंग मॉडल बनाने के लिए कन्वेन्शनल न्यूरल नेटवर्क का उपयोग कर सकते हैं।
एक इमेज क्लासिफायरियर एक keras.Sequential मॉडल का उपयोग करके बनाया गया है, और डेटा प्रीप्रोसेसिंग.image_dataset_from_directory का उपयोग करके लोड किया जाता है। डेटा कुशलता से डिस्क से लोड होता है। ओवरफिटिंग की पहचान की जाती है और इसे कम करने के लिए तकनीकों को लागू किया जाता है। इन तकनीकों में डेटा वृद्धि, और ड्रॉपआउट शामिल हैं। 3700 फूलों के चित्र हैं। इस डेटासेट में 5 उप निर्देशिकाएं हैं, और प्रति वर्ग एक उप निर्देशिका है। वे हैं:
डेज़ी, सिंहपर्णी, गुलाब, सूरजमुखी, और ट्यूलिप।
हम नीचे दिए गए कोड को चलाने के लिए Google सहयोग का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफ़िकल प्रोसेसिंग यूनिट) तक मुफ्त पहुंच की आवश्यकता होती है। जुपिटर नोटबुक के ऊपर कोलैबोरेटरी बनाई गई है।
जब प्रशिक्षण उदाहरणों की संख्या कम होती है, तो मॉडल शोर या प्रशिक्षण उदाहरणों से अवांछित विवरण सीखता है। यह नए उदाहरणों पर मॉडल के प्रदर्शन को नकारात्मक रूप से प्रभावित करता है।
ओवरफिटिंग के कारण, मॉडल नए डेटासेट पर अच्छी तरह से सामान्यीकरण नहीं कर पाएगा। ऐसे कई तरीके हैं जिनसे ओवरफिटिंग से बचा जा सकता है। हम ओवरफिटिंग पर काबू पाने के लिए डेटा वृद्धि का उपयोग करेंगे। डेटा संवर्द्धन मौजूदा उदाहरणों से अतिरिक्त प्रशिक्षण डेटा उत्पन्न करता है, जिससे उन्हें यादृच्छिक परिवर्तनों की मदद से बढ़ाया जाता है जो विश्वसनीय दिखने वाली छवियां उत्पन्न करते हैं।
यह मॉडल को डेटा के अधिक पहलुओं को उजागर करने में मदद करता है, जिससे मॉडल को बेहतर ढंग से सामान्य बनाने में मदद मिलती है। निम्नलिखित एक उदाहरण है:
उदाहरण
print("Using data augmentation to eliminate overfitting") data_augmentation = keras.Sequential( [ layers.experimental.preprocessing.RandomFlip("horizontal",input_shape=(img_height, img_width,3)), layers.experimental.preprocessing.RandomRotation(0.1), layers.experimental.preprocessing.RandomZoom(0.1), ] )
कोड क्रेडिट -https://www.tensorflow.org/tutorials/images/classification
आउटपुट
Using data augmentation to eliminate overfitting
स्पष्टीकरण
-
डेटा वृद्धि को tf.keras.layers.experimental.preprocessing से परतों का उपयोग करके कार्यान्वित किया जा सकता है।
-
ये परतें अन्य परतों की तरह मॉडल के अंदर शामिल होती हैं, और GPU पर चलती हैं।
-
यह ओवरफिटिंग को खत्म करने या कम करने के लिए किया जाता है।