অধ্যায় 17.2

কনভোলিউশন = ম্যাট্রিক্স

Convolution as Matrix

CNN-এর filter আসলে একটি বিশেষ ম্যাট্রিক্স

≈ ১০ মিনিট

Convolution মানে "filter স্লাইড করা"। কিন্তু গণিতে এটি আসলে একটি বিশাল ম্যাট্রিক্স গুণ — Toeplitz ম্যাট্রিক্স। CNN আর fully-connected আসলে আত্মীয়, এক বিশেষ structure-এর সাথে।

1D Convolution

Input x = [x₁, x₂, x₃, x₄], kernel k = [k₁, k₂]। Output y_i = k₁ x_i + k₂ x_{i+1}।

Toeplitz রূপ

Toeplitz ম্যাট্রিক্স

যে ম্যাট্রিক্সের প্রতিটি diagonal-এ একই মান। Convolution সবসময় এমন একটি ম্যাট্রিক্স দিয়ে গুণ — কিন্তু আমরা সেই ম্যাট্রিক্স কখনো explicitly বানাই না (অনেক ০, অপচয়)।

Parameter sharing

  • Fully-connected: H·W·H'·W' parameter।
  • Convolution: শুধু k×k parameter — পুরো ছবিতে একই।
  • এটিই CNN-এর efficiency-এর মূল।
  • Translation invariance — filter সব জায়গায় একই কাজ করে।

2D Convolution

Input I (H×W), kernel K (k×k)। Output:

Stride, padding, dilation

  • Stride: কত pixel এক ধাপে এগোবে।
  • Padding: কিনারে ০ যোগ — output আকার রক্ষা।
  • Dilation: kernel-এ ফাঁক — receptive field বাড়ায়।
  • Output size: ⌊(H + 2p − k)/s⌋ + 1।

মূল ভাবনা

  • 1.Convolution = Toeplitz ম্যাট্রিক্স গুণ।
  • 2.Parameter sharing → efficiency + invariance।
  • 3.Stride, padding output size নিয়ন্ত্রণ করে।
  • 4.FC এবং Conv একই linear অপারেশনের দুই রূপ।

নিজেকে যাচাই করো

প্রশ্নে ক্লিক করে উত্তর দেখো — তবে আগে নিজে চেষ্টা করো।

প্রশ্ন 1Toeplitz ম্যাট্রিক্স কী?
উত্তর:যার প্রতিটি diagonal-এ একই মান।
প্রশ্ন 2Conv-এ parameter sharing-এর সুবিধা?
উত্তর:কম parameter, translation invariance।
প্রশ্ন 3Input 32×32, kernel 5×5, stride 1, padding 0 → output?
উত্তর:28×28।

ইন্টারেক্টিভ কুইজ

মূল ভাবনার উপর দ্রুত যাচাই — সঠিক বিকল্পটি বাছাই করো।

প্রশ্ন 1“কনভোলিউশন = ম্যাট্রিক্স” অধ্যায়ের মূল ভাবনাগুলোর মধ্যে নিচের কোনটি অন্তর্ভুক্ত?
প্রশ্ন 2“কনভোলিউশন = ম্যাট্রিক্স” অধ্যায়ের মূল ভাবনাগুলোর মধ্যে নিচের কোনটি অন্তর্ভুক্ত?
প্রশ্ন 3“কনভোলিউশন = ম্যাট্রিক্স” অধ্যায়ের মূল ভাবনাগুলোর মধ্যে নিচের কোনটি অন্তর্ভুক্ত?
প্রশ্ন 4“কনভোলিউশন = ম্যাট্রিক্স” অধ্যায়ের মূল ভাবনাগুলোর মধ্যে নিচের কোনটি অন্তর্ভুক্ত?
উত্তর দেওয়া হয়েছে: 0/4