CNN Terminologies: ReLU, Stride, Padding, Pooling, Convolutions, and Kernels | CNN की मुख्य शब्दावली का विस्तृत अध्ययन


CNN की मुख्य शब्दावली: ReLU, Stride, Padding, Pooling, Convolutions और Kernels

Convolutional Neural Networks (CNN) डीप लर्निंग में सबसे लोकप्रिय मॉडल हैं, और इनकी कार्यप्रणाली को समझने के लिए हमें इनके मुख्य तकनीकी शब्दों (Terminologies) का ज्ञान होना आवश्यक है। ReLU, Stride, Padding, Pooling, Convolution और Kernels — ये सभी CNN की रीढ़ हैं। आइए एक-एक करके इन्हें विस्तार से समझते हैं।

📘 1️⃣ ReLU Activation Function

ReLU (Rectified Linear Unit) CNN में सबसे सामान्य activation function है। यह non-linearity जोड़ता है ताकि मॉडल जटिल पैटर्न सीख सके। गणितीय रूप से:

f(x) = max(0, x)

इसका अर्थ है कि यदि इनपुट नकारात्मक है तो आउटपुट 0 होगा, और यदि सकारात्मक है तो वही रहेगा। यह simple होने के बावजूद अत्यधिक प्रभावी है क्योंकि यह vanishing gradient problem को कम करता है।

🧩 ReLU के लाभ:

  • गणना सरल और तेज़।
  • Sparse activation प्रदान करता है।
  • Gradient-based training में स्थिरता लाता है।

⚙️ 2️⃣ Stride (स्ट्राइड)

Stride वह संख्या है जो यह निर्धारित करती है कि convolution kernel हर बार कितने पिक्सेल्स को “कूदते हुए” आगे बढ़ेगा। यदि stride = 1 है, तो kernel एक पिक्सेल से आगे बढ़ेगा। यदि stride = 2 है, तो हर बार दो पिक्सेल छोड़ देगा।

Stride बढ़ाने से output feature map छोटा होता है और computation कम होती है। हालाँकि, इससे spatial detail घट सकती है।

📊 उदाहरण:

यदि इनपुट 6x6 और kernel 3x3 है:

  • Stride = 1 → Output size = 4x4
  • Stride = 2 → Output size = 2x2

📏 3️⃣ Padding (पैडिंग)

Padding का उपयोग तब किया जाता है जब हम चाहते हैं कि convolution के बाद output का आकार इनपुट के समान रहे। इसमें इमेज के चारों ओर 0 (zero values) जोड़ी जाती हैं।

  • Valid Padding: कोई padding नहीं → output छोटा होता है।
  • Same Padding: Zero-padding जोड़कर output = input size।

Padding CNN को border features सीखने में मदद करता है।

🎯 4️⃣ Pooling (पूलिंग)

Pooling लेयर feature maps को छोटा करने के लिए उपयोग होती है। यह spatial size घटाकर computation कम करती है और model को translation invariant बनाती है।

  • Max Pooling: सबसे बड़ा मान रखता है।
  • Average Pooling: औसत मान रखता है।

उदाहरण: यदि 2x2 region में [3, 1, 5, 2] हैं, तो Max Pooling = 5 और Average Pooling = 2.75 होगा।

🧮 5️⃣ Convolution Operation (कॉन्वोल्यूशन प्रक्रिया)

Convolution CNN का हृदय है। यह एक filter (kernel) को इनपुट इमेज पर स्लाइड करके प्रत्येक क्षेत्र का dot product निकालता है।

Feature Map = Input ⊗ Kernel + Bias

यह प्रक्रिया हर स्थान पर स्थानीय फीचर्स (edges, corners, patterns) को पहचानने में मदद करती है।

🔹 6️⃣ Kernels / Filters (कर्नल्स)

Kernel एक छोटा matrix (जैसे 3x3 या 5x5) होता है जो convolution के दौरान इमेज के हर भाग पर स्लाइड करता है। प्रत्येक kernel अलग-अलग फीचर्स सीखता है — जैसे edge detection, color pattern, या texture recognition।

📗 Python Example:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Activation

model = Sequential([
    Conv2D(32, (3,3), strides=(1,1), padding='same', input_shape=(64,64,3)),
    Activation('relu'),
    MaxPooling2D(pool_size=(2,2), strides=2)
])

📙 निष्कर्ष:

ReLU, Stride, Padding, Pooling, Convolutions और Kernels CNN की कार्यप्रणाली के आधारभूत घटक हैं। इन शब्दों की समझ के बिना किसी CNN आर्किटेक्चर को समझना असंभव है। 2025 में, आधुनिक CNN जैसे ResNet, EfficientNet और ConvNext इन्हीं मूल सिद्धांतों पर आधारित हैं — बस इनका कार्यान्वयन अधिक कुशल और गहरा (deep) हो गया है।

Related Post