एआई की मूल बातें

CNNs (Convolutional Neural Networks) क्या हैं?

mm
Unite.AI को Google पर अपने पसंदीदा स्रोतों में जोड़ें

एक कन्वॉल्यूशनल न्यूरल नेटवर्क (CNN) एक न्यूरल‑नेटवर्क आर्किटेक्चर है जो इनपुट के स्थानीय क्षेत्रों में सीखे गए फ़िल्टरों का उपयोग करता है। CNNs आधुनिक कंप्यूटर विज़न के लिए बुनियादी बन गए क्योंकि वे पैटर्न को इस बात से परे पहचान सकते हैं कि वे कहाँ प्रकट होते हैं और एक ही पैरामीटर को पूरे चित्र में पुनः उपयोग कर सकते हैं।

एक CNN छवि को गैर‑संख्यात्मक रूप से संख्यात्मक रूप में नहीं बदलता—छवि पहले से ही पिक्सेल मानों के टेन्सर के रूप में आती है। इसका उद्देश्य उस टेन्सर को फीचर मैप्स में बदलना है जो वर्गीकरण, पहचान, सेगमेंटेशन या अन्य कार्यों के लिए उपयोगी होते हैं।

मुख्य बिंदु

  • एक कॉन्वॉल्यूशन स्थानीय इनपुट मानों को सीखे हुए कर्नेल के साथ मिलाकर एक फीचर मैप बनाता है।
  • स्ट्राइड, पैडिंग, डाइलेशन, और पूलिंग स्पैशियल रिज़ॉल्यूशन और रिसेप्टिव फ़ील्ड को नियंत्रित करते हैं।
  • वेट शेयरिंग CNNs को कच्चे पिक्सेल पर पूर्णतः कनेक्टेड नेटवर्क की तुलना में अधिक पैरामीटर‑कुशल बनाती है।
  • विजन ट्रांसफ़ॉर्मर एक विकल्प प्रदान करते हैं, लेकिन CNNs कुशल और डेटा‑सीमित सिस्टमों के लिए अभी भी मजबूत हैं।
Convolutional neural network diagram showing a learned kernel sliding over an image, producing feature maps, residual blocks, global pooling, and an output head
एक CNN स्थानीय रूप से सीखे गए फ़िल्टरों को क्रमशः बड़े रिसेप्टिव फ़ील्ड और कार्य‑विशिष्ट आउटपुट में बदलता है।

How convolution works

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

रंगीन छवि के लिए, कर्नेल सभी इनपुट चैनलों को कवर करता है। एक लेयर कई कर्नेलों का उपयोग करके कई आउटपुट चैनल बनाता है। प्रशिक्षण के दौरान, बैकप्रोपेगेशन इन कर्नेल वज़नों के लिए ग्रेडिएंट गणना करता है; कॉन्वॉल्यूशन ऑपरेशन प्रत्येक छवि से नया स्थिर वज़न सेट नहीं बनाता।

Stride, padding, and dilation

  • Stride निर्धारित करता है कि कर्नेल कितनी दूरी पर चलता है। एक से अधिक स्ट्राइड स्पैशियल रिज़ॉल्यूशन को घटाता है।
  • Padding इनपुट के चारों ओर मान जोड़ता है ताकि किनारी जानकारी प्रोसेस की जा सके और आउटपुट आकार को नियंत्रित किया जा सके।
  • Dilation कर्नेल तत्वों को अलग-अलग रखता है, जिससे रिसेप्टिव फ़ील्ड बढ़ता है बिना पैरामीटरों को अनुपातिक रूप से बढ़ाए।

रिसेप्टिव फ़ील्ड मूल इनपुट का वह क्षेत्र है जो किसी यूनिट को प्रभावित कर सकता है। कॉन्वॉल्यूशनों को स्टैक करने से यह विस्तारित होता है, जिससे बाद की फ़ीचर व्यापक क्षेत्रों की जानकारी को मिलाते हैं।

Activation, normalization, and pooling

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

पूलिंग अनिवार्य नहीं है। कई आधुनिक नेटवर्क आउटपुट के निकट ग्लोबल औसत पूलिंग का उपयोग करते हैं, बड़े फीचर मैप को पूरी तरह कनेक्टेड स्टैक में फ्लैटन करने के बजाय। इससे पैरामीटर कम होते हैं और नेटवर्क को स्पैशियल साक्ष्य को एकत्रित करने की अनुमति मिलती है।

A modern CNN architecture

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

क्लासिफिकेशन हेड्स क्लास स्कोर उत्पन्न करते हैं। डिटेक्शन हेड्स श्रेणियों और बॉक्सों की भविष्यवाणी करते हैं। सेगमेंटेशन आर्किटेक्चर डिकोडर पाथ जोड़ते हैं जो स्पैशियल विवरण को पुनः प्राप्त करते हैं। वही CNN बैकबोन ट्रांसफ़र लर्निंग के माध्यम से पुन: उपयोग किया जा सकता है।

What CNN layers learn

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

CNNs versus vision transformers

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

कई व्यावहारिक सिस्टम कॉन्वॉल्यूशन और अटेंशन को मिलाते हैं। सही आर्किटेक्चर सटीकता, लेटेंसी, मेमोरी, प्रशिक्षण डेटा, हार्डवेयर और डिप्लॉयमेंट पर निर्भर करता है—न कि इस बात पर कि कौन सा परिवार सबसे नया है।

Limitations and practical considerations

CNNs वितरण शिफ्ट, प्रतिकूल व्यवधान, पृष्ठभूमि शॉर्टकट और पक्षपाती प्रशिक्षण डेटा के प्रति संवेदनशील हो सकते हैं। वे स्थिति, घूर्णन, स्केल या दृष्टिकोण के प्रति पूरी तरह अपरिवर्तनीय नहीं हैं। ऑगमेंटेशन और आर्किटेक्चर विकल्प मजबूती बढ़ा सकते हैं लेकिन इसकी गारंटी नहीं देते।

डिप्लॉयमेंट के लिए, एंड‑टू‑एंड लेटेंसी, मेमोरी, थ्रूपुट और सब‑ग्रुप व्यवहार को मापें। क्वांटाइज़ेशन और प्रूनिंग लागत को कम कर सकते हैं, विशेष रूप से एज AI के लिए, लेकिन संकुचित मॉडल को पुनः मान्य करना आवश्यक है।

Convolution, receptive fields, and modern CNN blocks

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

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

Training, interpretation, and deployment

ऐसे ऑगमेंटेशन का उपयोग करें जो लेबल को संरक्षित रखते हैं और वास्तविक विविधता को दर्शाते हैं, और ऑगमेंटेशन से पहले विषय या सीन के अनुसार विभाजित करें। ट्रांसफ़र लर्निंग सामान्य है: टास्क हेड को बदलें, उसे प्रशिक्षित करें, फिर सावधानी से बैकबोन को अनफ़्रीज़ करें। क्लास‑विशिष्ट प्रदर्शन, कैलिब्रेशन, धुंधलापन, संपीड़न, प्रकाश, स्केल, क्रॉप और प्रतिकूल व्यवधान के प्रति मजबूती का मूल्यांकन करें। फीचर मैप्स और सैलियंसी जैसी विज़ुअलाइज़ेशन विधियां शॉर्टकट दिखा सकती हैं, लेकिन वे विधि और बेसलाइन के प्रति संवेदनशील होती हैं। संदेहास्पद निर्भरता को काउंटरफ़ैक्चुअल छवियों, ऑक्लूज़न टेस्ट या डेटासेट बदलावों से पुष्टि करें।

निर्यातित CNNs को GPU, NPU, ब्राउज़र या माइक्रोकंट्रोलर के लिए फ्यूज़, क्वांटाइज़ या कम्पाइल किया जा सकता है। परिनियोजित ग्राफ को, जिसमें प्री‑प्रोसेसिंग और पोस्ट‑प्रोसेसिंग शामिल हैं, सटीक डिवाइसों पर मान्य करें। एंड‑टू‑एंड लेटेंसी, मेमोरी, ऊर्जा और थर्मल व्यवहार को मापें; इनपुट डिकोड छोटे मॉडल में प्रमुख हो सकता है। कैमरा और इमेज सांख्यिकी, आउटपुट वितरण और पुष्टि किए गए त्रुटियों की निगरानी करें। साइन किए हुए मॉडल आर्टिफैक्ट, संरक्षित अपडेट चैनल और सहज सेंसर विफलता उत्पादन डिज़ाइन का हिस्सा हैं। CNNs उपयोगी स्थानीयता बायस एन्कोड करते हैं, लेकिन वे वस्तुओं या कारणात्मक दृश्यों को स्वचालित रूप से नहीं समझते।

Worked example: deploying a CNN on an inspection camera

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

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

Implementation evidence and operational readiness

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

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

Frequently asked questions

क्या एक CNN को हमेशा पूलिंग की आवश्यकता होती है?

नहीं। एक CNN स्ट्राइडेड कॉन्वॉल्यूशन के साथ डाउनसैंपल कर सकता है और घनी भविष्यवाणी के लिए रिज़ॉल्यूशन बनाए रख सकता है। पूलिंग एक डिज़ाइन टूल है, अनिवार्य आवश्यकता नहीं।

क्या CNN फ़िल्टर हाथ से डिज़ाइन किए जाते हैं?

प्रशिक्षित CNN में, कर्नेल मान सामान्यतः डेटा से सीखते हैं। यह क्लासिक विज़न फ़िल्टरों से अलग है, जिनके गुणांक किनारा पहचान जैसी ऑपरेशनों के लिए पहले से चुने जाते हैं।

Primary references

ब्लॉगर और प्रोग्रामर जिनकी विशेषज्ञता मैशीन लर्निंग और डीप लर्निंग विषयों में है। डैनियल दूसरों को सामाजिक कल्याण के लिए एआई की शक्ति का उपयोग करने में मदद करना चाहता है।