पाइथन के साथ एआई सीखें · पाठ

ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ

फीचर एक्सट्रैक्शन बनाम फ़ाइन-ट्यूनिंग, स्थिर लेयर और ट्रांसफ़र लर्निंग कब उपयोगी होती है।

पाठ 1, कुल 4 में से13 चरण

ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ, CoddyKit पर पाइथन के साथ एआई सीखें का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह पाइथन के साथ एआई सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्थानांतरण अधिगम क्या है

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

इससे उच्च सटीकता तक पहुँचने के लिए आवश्यक डेटा और संगणना में बहुत बड़ी कमी आती है।

ImageNet की नींव

अधिकांश पूर्व-प्रशिक्षित दृष्टि मॉडल ImageNet पर प्रशिक्षित किए जाते हैं: लगभग 1.4 मिलियन छवियाँ, जो 1000 वर्गों में विभाजित होती हैं।

इस प्रशिक्षण के दौरान नेटवर्क विशेषताओं का एक पदानुक्रम सीखता है: शुरुआती परतों में किनारे और रंग, मध्य परतों में बनावट, और ऊपरी परतों में वस्तुओं के हिस्से। ये निम्न-स्तरीय विशेषताएँ लगभग किसी भी छवि-कार्य में अच्छी तरह काम आती हैं।

शुरुआती विशेषताएँ स्थानांतरित क्यों होती हैं

पहली संवलनात्मक परतें ऐसे सामान्य प्रतिरूपों (किनारे, धब्बे, प्रवणताएँ) को पहचानती हैं जो हर प्राकृतिक छवि में दिखाई देते हैं, चाहे वे बिल्लियों की हों, एक्स-रे की हों या उपग्रह से ली गई तस्वीरें।

गहरी परतें अधिक कार्य-विशिष्ट हो जाती हैं (वे उन किनारों को मिलाकर ImageNet की वस्तुओं के हिस्से बनाती हैं)। इसलिए हम आमतौर पर शुरुआती परतों को बनाए रखते हैं और बाद की परतों को बदलते या फिर से प्रशिक्षित करते हैं।

रणनीति 1: विशेषता निष्कर्षण

विशेषता निष्कर्षण पूर्व-प्रशिक्षित आधार की प्रत्येक परत को स्थिर कर देता है, इसलिए उसके भार कभी नहीं बदलते। आधार एक स्थिर विशेषता निष्कर्षक की तरह काम करता है; आप केवल ऊपर जोड़ा गया एक छोटा नया वर्गीकरण शीर्ष प्रशिक्षित करते हैं।

जब आपका डेटासेट छोटा हो और ImageNet से मिलता-जुलता हो, तब इसका उपयोग करें। यह तेज़ है और ओवरफिटिंग का प्रतिरोध करता है, क्योंकि बहुत कम प्राचल प्रशिक्षण योग्य होते हैं।

base.trainable = False

model = Sequential([
    base,                      # frozen ImageNet features
    GlobalAveragePooling2D(),
    Dense(num_classes, activation="softmax")  # only this trains
])

रणनीति 2: सूक्ष्म-संयोजन

सूक्ष्म-संयोजन आधार की ऊपरी परतों को फिर से प्रशिक्षण के लिए सक्षम करता है और उन्हें शीर्ष के साथ मिलकर प्रशिक्षित करता है, जिससे नेटवर्क अपनी उच्च-स्तरीय विशेषताओं को आपके विशिष्ट डेटा के अनुसार ढाल सकता है।

जब आपके पास अधिक डेटा हो या आपका क्षेत्र ImageNet से अलग हो (जैसे चिकित्सीय स्कैन), तब इसका उपयोग करें। पूर्व-प्रशिक्षित भारों को नष्ट होने से बचाने के लिए हमेशा बहुत कम अधिगम दर पर सूक्ष्म-संयोजन करें।

विशेषता निष्कर्षण बनाम सूक्ष्म-संयोजन

  • विशेषता निष्कर्षण: आधार स्थिर, केवल शीर्ष प्रशिक्षित, बहुत तेज़, छोटे या समान डेटा के लिए सर्वोत्तम।
  • सूक्ष्म-संयोजन: आधार की ऊपरी परतें प्रशिक्षण के लिए सक्षम और शीर्ष के साथ प्रशिक्षित, धीमा, बड़े या भिन्न डेटा के लिए सर्वोत्तम।

एक सामान्य तरीका यह है कि पहले विशेषता निष्कर्षण किया जाए, फिर शीर्ष के स्थिर हो जाने पर दूसरे चरण में सूक्ष्म-संयोजन किया जाए।

डेटा की मात्रा की आवश्यकताएँ

आपके पास कितना डेटा है, यह आपकी रणनीति तय करता है:

  • कुछ सौ छवियाँ: केवल विशेषता निष्कर्षण करें (सब कुछ स्थिर रखें)।
  • कुछ हज़ार छवियाँ: पहले विशेषता निष्कर्षण करें, फिर कुछ ऊपरी परतों का सूक्ष्म-संयोजन करें।
  • दसियों हज़ार या उससे अधिक: आधार के बड़े हिस्सों, संभवतः पूरे नेटवर्क, का सूक्ष्म-संयोजन करें।

कम डेटा होने पर अधिक परतों को स्थिर रखें, क्योंकि कम प्रशिक्षण योग्य प्राचल ओवरफिटिंग के जोखिम को घटाते हैं।

वर्गीकरण शीर्ष को बदलना

ImageNet मॉडल 1000 वर्गों का निर्गत देते हैं। आपके कार्य में संभवतः वर्गों की संख्या अलग होगी, इसलिए मूल शीर्ष को हटाएँ (include_top=False) और अपने वर्गों की संख्या के अनुसार शीर्ष जोड़ें।

from tensorflow.keras import layers, Model

x = base.output
x = layers.GlobalAveragePooling2D()(x)
x = layers.Dropout(0.2)(x)
outputs = layers.Dense(5, activation="softmax")(x)  # 5 custom classes
model = Model(base.input, outputs)

पूर्व-प्रसंस्करण का मिलान आवश्यक है

प्रत्येक पूर्व-प्रशिक्षित परिवार ऐसे आगत की अपेक्षा करता है जिसे ImageNet प्रशिक्षण के दौरान उसी तरह मापा गया था। मेल खाते हुए preprocess_input का उपयोग आवश्यक है, अन्यथा सटीकता पूरी तरह गिर जाती है।

from tensorflow.keras.applications.resnet50 import preprocess_input

# Scale pixels exactly as ResNet50 expects
x = preprocess_input(raw_image_batch)

अधिगम दर में अनुशासन

विशेषता निष्कर्षण के दौरान सामान्य अधिगम दर (जैसे 1e-3) ठीक रहती है, क्योंकि केवल नया शीर्ष ही प्रशिक्षित होता है।

सूक्ष्म-संयोजन के दौरान आपको इसे 1e-5 जैसी बहुत छोटी दर तक घटाना चाहिए। बड़े बदलाव सावधानी से सीखे गए ImageNet भारों को मिटा सकते हैं; इस प्रभाव को विनाशकारी विस्मरण कहा जाता है।

एक सामान्य कार्यप्रवाह

  1. include_top=False के साथ पूर्व-प्रशिक्षित आधार लोड करें।
  2. इसे स्थिर करें और नया शीर्ष प्रशिक्षित करें (विशेषता निष्कर्षण)।
  3. ऊपरी परतों को प्रशिक्षण के लिए सक्षम करें और बहुत कम अधिगम दर पर फिर से प्रशिक्षित करें (सूक्ष्म-संयोजन)।
  4. मूल्यांकन करें और परिनियोजन के लिए रूपांतरित करें।

यह चरणबद्ध तरीका सामान्य आकार के डेटासेट के साथ भी अच्छी सटीकता देता है।

त्वरित जाँच

स्थानांतरण अधिगम की रणनीतियों की अपनी समझ की जाँच करें।

पुनरावलोकन

आपने सीखा कि स्थानांतरण अधिगम ImageNet पर पूर्व-प्रशिक्षित विशेषताओं का फिर से उपयोग करता है (1.4M छवियाँ, 1000 वर्ग)। विशेषता निष्कर्षण छोटे या समान डेटासेट के लिए आधार को स्थिर रखता है; सूक्ष्म-संयोजन बड़े या भिन्न डेटा के लिए बहुत कम अधिगम दर पर ऊपरी परतों को प्रशिक्षण के लिए सक्षम करता है।

पूर्व-प्रसंस्करण का आधार से मिलान करें, अपने वर्गों के लिए शीर्ष बदलें और चरणबद्ध कार्यप्रवाह अपनाएँ। अगली बार हम इसे VGG16 और ResNet50 के साथ कोड में लागू करेंगे।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
53
पाठ
225

अक्सर पूछे जाने वाले प्रश्न

क्या “ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ” पाठ निःशुल्क है?

हाँ — पाइथन के साथ एआई सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। पाइथन के साथ एआई सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ” में मैं क्या सीखूँगा?

फीचर एक्सट्रैक्शन बनाम फ़ाइन-ट्यूनिंग, स्थिर लेयर और ट्रांसफ़र लर्निंग कब उपयोगी होती है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ पाइथन के साथ एआई सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या पाइथन के साथ एआई सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर पाइथन के साथ एआई सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।

“ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस पाइथन के साथ एआई सीखें पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर पाइथन के साथ एआई सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ट्रांसफ़र लर्निंग की अवधारणाएँ और रणनीतियाँ
  2. VGG16 और ResNet50 को बेस मॉडल के रूप में उपयोग करना
  3. फ़ाइन-ट्यूनिंग: अनफ़्रीज़ करना और पुनःप्रशिक्षण
  4. एज डिप्लॉयमेंट के लिए MobileNet और EfficientNet
← पाइथन के साथ एआई सीखें पर वापस जाएँ