Header Ads

Header ADS

Convolutional Neural Networks (CNNs)



🧠 Convolutional Neural Networks (CNNs)

🔹 Concept (মূল ধারণা):

CNN হল এমন একটি নিউরাল নেটওয়ার্ক যা grid-like data (যেমন: image) প্রক্রিয়া করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে।

  1. ছবি হচ্ছে 2D grid (পিক্সেল)।

  2. CNN এই পিক্সেল গুলোর ভিতরকার স্থানিক সম্পর্ক (spatial features) যেমন: ধারের রেখা (edges), গঠন (shapes), টেক্সচার ইত্যাদি ধরতে পারে।


🧩 Key Components (মূল উপাদান):


১️⃣ Convolutional Layers (কনভলুশন লেয়ার)

🔹 কাজ:
ছবির উপরে ছোট ছোট ফিল্টার বা কনভলুশন কর্ণেল চালিয়ে ফিচার ম্যাপ তৈরি করে।
এই ফিচার ম্যাপে ধারের রেখা, কোণা, টেক্সচার ইত্যাদি ধরা পড়ে।

🔹 উদাহরণ:
একটা ফিল্টার শুধু ধারের দিকগুলো খুঁজে বের করে, আরেকটা কোণা চিহ্নিত করে।


২️⃣ Pooling Layers (পুলিং লেয়ার)

🔹 কাজ:
ফিচার ম্যাপের আকার ছোট করে ফেলে যাতে কম্পিউটেশন কমে যায় এবং নেটওয়ার্ক ছোট পরিবর্তনের (translation, rotation) প্রতি রেজিস্ট্যান্ট হয়।

🔹 সবচেয়ে ব্যবহৃত পুলিং:

  1. Max Pooling: একটি অঞ্চল থেকে সর্বোচ্চ মানটা নেয়

  2. Average Pooling: গড় মান নেয়


৩️⃣ Fully Connected Layers (ফুলি কানেক্টেড লেয়ার)

🔹 কাজ:
শেষে ফিচার ম্যাপগুলোকে একটি ভেক্টরে ফ্ল্যাট করে, এরপর সেই ভেক্টরকে দিয়ে চূড়ান্ত সিদ্ধান্ত (output) তৈরি করে।

🔹 উদাহরণ:
একটা ছবিতে বিড়াল আছে কিনা, সেটা বের করা — FC layer বলবে “হ্যাঁ” বা “না”।


🖼️ CNN-এর সাধারণ স্ট্রাকচার:

Input Image (e.g., 28x28x1)

→ Convolutional Layer (e.g., 5x5 filter)
→ ReLU
→ Pooling Layer (e.g., 2x2 max pool)

→ Convolutional Layer
→ ReLU
→ Pooling Layer

→ Flatten
→ Fully Connected Layer
→ Output

🧾 Applications (ব্যবহার ক্ষেত্র):

CNN মূলত Computer Vision এর জন্য তৈরি, তাই এর ব্যবহার হয়:

কাজ উদাহরণ
Image Classification কোন ছবি কুকুর, বিড়াল, গাড়ি ইত্যাদি
Object Detection ছবিতে কোন জিনিস কোথায় আছে সেটি চিহ্নিত
Semantic Segmentation ছবির প্রতিটি পিক্সেলের লেবেল নির্ধারণ
Face Recognition চেহারা শনাক্তকরণ
Medical Imaging MRI/CT স্ক্যান বিশ্লেষণ

সুবিধা (Advantages):

  1. ছবির স্থানিক (spatial) বৈশিষ্ট্য ভালোভাবে ধরতে পারে

  2. কম্পিউটেশনালি efficient (parameter sharing)

  3. Translation invariant (ছবির সামান্য পরিবর্তনেও output বদলায় না)


অসুবিধা (Disadvantages):

  1. ছবি ছাড়া অন্য ধরনের ডেটার জন্য সেরা নয়

  2. Complex architecture বানাতে অনেক রিসোর্স লাগে

  3. ব্যাখ্যা করা কঠিন (কোন ফিচার কী কাজ করল বোঝা যায় না)



Powered by Blogger.