Types of Layers in Convolutional Neural Networks (CNN) | CNN की विभिन्न लेयर्स: Convolutional, Pooling और Fully Connected


कॉन्वोल्यूशनल न्यूरल नेटवर्क (CNN) की विभिन्न लेयर्स: Convolutional, Pooling और Fully Connected

Convolutional Neural Network (CNN) एक बहु-स्तरीय (multi-layered) न्यूरल नेटवर्क होता है जो डेटा से फीचर्स निकालने और उन्हें वर्गीकृत (classify) करने के लिए डिज़ाइन किया गया है। CNN की शक्ति उसकी लेयर्स की संरचना में छिपी होती है। मुख्य रूप से CNN में तीन प्रमुख प्रकार की लेयर्स होती हैं — Convolutional Layer, Pooling Layer, और Fully Connected Layer। इन तीनों की कार्यप्रणाली और महत्व को विस्तार से समझना CNN को समझने की पहली शर्त है।

📘 1️⃣ Convolutional Layer (कॉन्वोल्यूशनल लेयर)

यह CNN की “core” लेयर होती है जो इनपुट डेटा से फीचर्स निकालने का कार्य करती है। इसमें छोटे मैट्रिक्स जिन्हें filters या kernels कहा जाता है, उपयोग किए जाते हैं। ये kernels इमेज पर स्लाइड करते हैं और प्रत्येक स्थान पर dot product निकालते हैं। इससे इमेज के edges, corners, textures और shapes जैसी विशेषताएँ सीखी जाती हैं।

🧮 गणितीय रूप:

Feature Map = Input ⊗ Kernel + Bias

⚙️ मुख्य कार्य:

  • Feature extraction करना।
  • Spatial hierarchy बनाना।
  • Data में पैटर्न पहचानना।

📈 प्रकार:

  • 1D Convolution – Text या Signal डेटा के लिए।
  • 2D Convolution – Images के लिए।
  • 3D Convolution – Video या Volumetric डेटा के लिए।

📗 Python उदाहरण:

from tensorflow.keras.layers import Conv2D
Conv2D(32, (3,3), activation='relu', input_shape=(64,64,3))

🎯 2️⃣ Pooling Layer (पूलिंग लेयर)

Pooling लेयर feature maps को छोटा करती है ताकि computation कम हो और model को translation invariance प्राप्त हो। Pooling spatial dimensions घटाकर representation को compact बनाती है।

🧩 प्रकार:

  • Max Pooling: क्षेत्र का सबसे बड़ा मान चुनता है।
  • Average Pooling: क्षेत्र का औसत मान निकालता है।
  • Global Pooling: पूरे feature map का औसत या अधिकतम मान।

⚙️ कार्य:

  • Dimensionality reduction।
  • Overfitting घटाना।
  • Feature generalization बढ़ाना।

📗 Python उदाहरण:

from tensorflow.keras.layers import MaxPooling2D
MaxPooling2D(pool_size=(2,2))

🧠 3️⃣ Fully Connected Layer (फुली कनेक्टेड लेयर)

यह CNN की अंतिम लेयर होती है, जहाँ निकाले गए फीचर्स को अंतिम आउटपुट (जैसे कि वर्गीकरण परिणाम) में बदला जाता है। इस लेयर में हर neuron पिछली लेयर के हर neuron से जुड़ा होता है।

⚙️ कार्य:

  • Flatten किए गए फीचर्स को input के रूप में लेना।
  • Softmax या Sigmoid activation का उपयोग करके वर्गीकरण करना।
  • फीचर्स को अंतिम लेबल में बदलना।

🧮 गणितीय समीकरण:

y = f(Wx + b)

यहाँ W = weights, x = input, b = bias, f = activation function।

📗 Python उदाहरण:

from tensorflow.keras.layers import Dense, Flatten

model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))

📊 CNN में लेयर्स का प्रवाह:

Input → Convolutional → ReLU → Pooling → Flatten → Fully Connected → Output

🚀 लेयर्स का महत्व:

  • Convolutional लेयर = फीचर एक्सट्रैक्शन
  • Pooling लेयर = डेटा का सरलीकरण
  • Fully Connected लेयर = निर्णय लेना

📙 निष्कर्ष:

CNN की सफलता इन तीन लेयर्स की संयुक्त शक्ति में निहित है। Convolutional लेयर पैटर्न सीखती है, Pooling लेयर उन्हें स्थिर बनाती है, और Fully Connected लेयर अंतिम भविष्यवाणी देती है। 2025 में, CNN के आधुनिक आर्किटेक्चर — जैसे ResNet, DenseNet, EfficientNet — इन्हीं लेयर्स के उन्नत रूपों पर आधारित हैं।

Related Post