एआई की मूल बातें
सीएनएन (कन्वोल्यूशनल न्यूरल नेटवर्क) क्या हैं?
शायद आप जानते हैं कि फेसबुक या इंस्टाग्राम कैसे एक छवि में स्वचालित रूप से चेहरे को पहचान सकता है, या गूगल कैसे आपको अपनी खुद की तस्वीर अपलोड करके वेब पर समान तस्वीरों के लिए खोज करने देता है। ये सुविधाएं कंप्यूटर विजन के उदाहरण हैं, और वे कन्वोल्यूशनल न्यूरल नेटवर्क (सीएनएन) द्वारा संचालित होती हैं। लेकिन कन्वोल्यूशनल न्यूरल नेटवर्क वास्तव में क्या हैं? आइए एक सीएनएन की वास्तुकला में गहराई से जाने और समझने की कोशिश करें कि वे कैसे काम करते हैं।
न्यूरल नेटवर्क क्या हैं?
सीएनएन के बारे में बात करने से पहले, आइए एक नियमित न्यूरल नेटवर्क को परिभाषित करने का समय लें। न्यूरल नेटवर्क के विषय पर एक अन्य लेख उपलब्ध है, इसलिए हम यहां बहुत गहराई से नहीं जाएंगे। हालांकि, उन्हें संक्षेप में परिभाषित करने के लिए, वे मानव मस्तिष्क से प्रेरित गणना मॉडल हैं। एक न्यूरल नेटवर्क डेटा लेता है और डेटा को “वजन” को समायोजित करके हेरफेर करता है, जो यह मान है कि इनपुट विशेषताओं के बीच संबंध और वस्तु की कक्षा के बीच कैसे संबंधित हैं। जैसे ही नेटवर्क प्रशिक्षित होता है, वजन के मूल्यों को समायोजित किया जाता है और वे सुविधाओं के बीच संबंधों को सटीक रूप से कैप्चर करने वाले वजन पर समाप्त होने की उम्मीद करते हैं।
यह एक फीड-फॉरवर्ड न्यूरल नेटवर्क का संचालन कैसे करता है, और सीएनएन दो आधे हिस्सों से बना होता है: एक फीड-फॉरवर्ड न्यूरल नेटवर्क और कन्वोल्यूशनल लेयर्स का एक समूह।
कन्वोल्यूशनल न्यूरल नेटवर्क (सीएनएन) क्या हैं?
एक कन्वोल्यूशनल न्यूरल नेटवर्क में होने वाले “कन्वोल्यूशंस” क्या हैं? एक कन्वोल्यूशन एक गणितीय संचालन है जो एक वेट सेट बनाता है, मूल रूप से छवि के हिस्सों का प्रतिनिधित्व करता है। इस वेट सेट को एक कर्नल या फिल्टर के रूप में जाना जाता है। फिल्टर जो बनाया जाता है वह पूरे इनपुट छवि से छोटा होता है, केवल छवि के एक उपखंड को कवर करता है। फिल्टर में मान इनपुट छवि में मानों के साथ गुणा किए जाते हैं। फिल्टर को तब एक नए छवि हिस्से का प्रतिनिधित्व बनाने के लिए स्थानांतरित किया जाता है, और प्रक्रिया को दोहराया जाता है जब तक कि पूरी छवि को कवर नहीं किया जाता।
एक और तरीका यह सोचने का है कि एक ईंट की दीवार की कल्पना करें, जिसमें ईंटें इनपुट छवि में पिक्सेल का प्रतिनिधित्व करती हैं। एक “विंडो” दीवार के साथ-साथ खिसकाई जा रही है, जो फिल्टर है। विंडो के माध्यम से दिखाई देने वाली ईंटें वे पिक्सेल हैं जिनका मूल्य फिल्टर के भीतर मानों द्वारा गुणा किया जाता है। इस कारण से, फिल्टर के साथ वजन बनाने की यह विधि अक्सर “स्लाइडिंग विंडोज” तकनीक के रूप में जानी जाती है।
फिल्टर को पूरी इनपुट छवि के चारों ओर ले जाने से एक दो-आयामी सरणी का उत्पादन होता है जो पूरी छवि का प्रतिनिधित्व करती है। इस सरणी को “फीचर मैप” के रूप में जाना जाता है।
कन्वोल्यूशंस क्यों आवश्यक हैं
कन्वोल्यूशंस बनाने का उद्देश्य क्या है? कन्वोल्यूशंस आवश्यक हैं क्योंकि एक न्यूरल नेटवर्क को छवि में पिक्सेल को संख्यात्मक मानों के रूप में व्याख्या करने में सक्षम होना चाहिए। कन्वोल्यूशनल लेयर्स का कार्य छवि को संख्यात्मक मानों में परिवर्तित करना है जिसे न्यूरल नेटवर्क व्याख्या कर सकता है और फिर संबंधित पैटर्न निकाल सकता है। कन्वोल्यूशनल नेटवर्क में फिल्टर का कार्य एक दो-आयामी सरणी बनाना है जो न्यूरल नेटवर्क की बाद की परतों में पारित की जा सकती है।
फिल्टर और चैनल

फोटो: cecebur via विकिमीडिया कॉमन्स, सीसी बाय एसए 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)
सीएनएन एक फिल्टर का उपयोग करके इनपुट छवियों से पैटर्न सीखने के लिए नहीं करते हैं। कई फिल्टर का उपयोग किया जाता है, क्योंकि विभिन्न फिल्टरों द्वारा बनाई गई विभिन्न सरणियां इनपुट छवि का एक अधिक जटिल, समृद्ध प्रतिनिधित्व की ओर ले जाती हैं। सीएनएन के लिए सामान्य फिल्टर संख्या 32, 64, 128 और 512 है। फिल्टर जितने अधिक होंगे, सीएनएन को इनपुट डेटा की जांच करने और सीखने के उतने ही अधिक अवसर होंगे।
एक सीएनएन पिक्सेल मानों में अंतर का विश्लेषण करकी वस्तुओं की सीमाओं का निर्धारण करता है। एक ग्रेस्केल छवि में, सीएनएन केवल काले और सफेद, हल्के और गहरे शब्दों में अंतर को देखेगा। जब छवियां रंगीन होती हैं, तो सीएनएन को न केवल अंधेरे और प्रकाश को ध्यान में रखना होता है, बल्कि लाल, हरे और नीले रंग के तीन अलग-अलग रंग चैनलों को भी ध्यान में रखना होता है। इस मामले में, फिल्टर में 3 चैनल होते हैं, जैसे कि छवि में होते हैं। फिल्टर के चैनलों की संख्या को इसकी गहराई के रूप में जाना जाता है, और फिल्टर में चैनलों की संख्या छवि में चैनलों की संख्या से मेल खानी चाहिए।
कन्वोल्यूशनल न्यूरल नेटवर्क (सीएनएन) वास्तुकला
आइए एक कन्वोल्यूशनल न्यूरल नेटवर्क की पूरी वास्तुकला पर एक नज़र डालें। प्रत्येक कन्वोल्यूशनल नेटवर्क की शुरुआत में एक कन्वोल्यूशनल लेयर होती है, क्योंकि यह छवि डेटा को संख्यात्मक सरणियों में परिवर्तित करने के लिए आवश्यक है। हालांकि, कन्वोल्यूशनल लेयर्स अन्य कन्वोल्यूशनल लेयर्स के बाद भी आ सकती हैं, जिसका अर्थ है कि इन लेयर्स को एक दूसरे के ऊपर ढेर किया जा सकता है। कई कन्वोल्यूशनल लेयर्स होने का अर्थ है कि एक लेयर के आउटपुट को आगे की प्रक्रिया में और कन्वोल्यूशंस के अधीन किया जा सकता है और संबंधित पैटर्न में एकत्रित किया जा सकता है। व्यावहारिक रूप से, इसका अर्थ है कि जैसे ही छवि डेटा कन्वोल्यूशनल लेयर्स के माध्यम से आगे बढ़ता है, नेटवर्क छवि की अधिक जटिल विशेषताओं को “मान्यता” देना शुरू कर देता है।
कॉनवोल्यूशनल नेटवर्क की शुरुआती लेयर्स कम स्तर की विशेषताओं को निकालने के लिए जिम्मेदार होती हैं, जैसे कि सरल रेखाओं को बनाने वाले पिक्सेल। कॉनवोल्यूशनल नेटवर्क की बाद की लेयर्स इन रेखाओं को आकार में जोड़ देगी। छवि के सतह स्तर के विश्लेषण से गहरे स्तर के विश्लेषण तक यह प्रक्रिया तब तक जारी रहती है जब तक कि कॉनवोल्यूशनल नेटवर्क जटिल आकार जैसे कि जानवर, मानव चेहरे और कारों को पहचानने में सक्षम नहीं हो जाता।
एक बार डेटा सभी कन्वोल्यूशनल लेयर्स से गुजर जाने के बाद, यह घने से जुड़े हुए सीएनएन के हिस्से में जाता है। घने से जुड़े हुए लेयर्स एक पारंपरिक फीड-फॉरवर्ड न्यूरल नेटवर्क की तरह दिखते हैं, जो एक दूसरे से जुड़े नोड्स की एक श्रृंखला है। डेटा इन घने से जुड़े हुए लेयर्स के माध्यम से गुजरता है, जो कन्वोल्यूशनल लेयर्स द्वारा निकाले गए पैटर्न सीखता है, और इस प्रक्रिया में, नेटवर्क वस्तुओं को पहचानने में सक्षम हो जाता है।












