Neural Network আসলে কীভাবে কাজ করে?
মস্তিষ্কের মতো কাজ করে — এটা শুনেছেন। কিন্তু আসলে কী হয় ভেতরে? সহজ ভাষায়, math-এর ভয় ছাড়াই বুঝে নিন।
"Neural Network মস্তিষ্কের মতো কাজ করে" — এই কথা সবাই বলে। কিন্তু আসলে কী হয় ভেতরে? কীভাবে raw data থেকে এটা শেখে?
আজ আমরা একটা neural network-এর ভেতরে যাব — math-এর ভয় ছাড়াই।
একটা সহজ Analogy
ধরুন আপনি বিভিন্ন ফল চিনতে শিখছেন। আপনার বন্ধু আপনাকে দেখাচ্ছে:
- লাল, গোল → আপেল
- হলুদ, লম্বা → কলা
- কমলা, গোল → কমলা
কয়েকবার দেখার পর আপনি pattern শিখে গেলেন। এখন নতুন কোনো ফল দেখালে আপনি বলতে পারবেন।
Neural Network ঠিক এভাবেই শেখে — পার্থক্য শুধু এটা পাথুরে বুদ্ধি না, math দিয়ে কাজ করে।
একটা Neuron (Node) কী?
একটা artificial neuron হলো একটা simple function:
Input → [Calculate] → Output
ধরুন আমি একটা neuron বানাচ্ছি যে বলবে আজ ছাতা নিতে হবে কিনা।
Inputs:
- আকাশ কতটা মেঘলা (0-10 scale)
- বাতাসের আর্দ্রতা (%)
- গত সপ্তাহে কয়দিন বৃষ্টি হয়েছে
প্রতিটা input-এর একটা weight আছে — কোনটা কতটা important:
- মেঘলা → weight 0.7 (very important)
- আর্দ্রতা → weight 0.3 (somewhat)
- গত সপ্তাহ → weight 0.1 (less)
Neuron হিসাব করে:
Score = (মেঘলা × 0.7) + (আর্দ্রতা × 0.3) + (গত সপ্তাহ × 0.1)
যদি Score > কোনো threshold, তাহলে output: "ছাতা নাও" (১) নাহলে: "ছাতা লাগবে না" (০)
এটাই একটা artificial neuron-এর basic kaj।
Network = অনেক Neurons একসাথে
একটা neuron simple কাজ করতে পারে। কিন্তু complex problems-এ আমাদের অনেক neurons একসাথে দরকার।
এদের সাজানো হয় layers-এ:
Input Layer → Hidden Layer(s) → Output Layer
Example: ছবিতে কুকুর/বিড়াল চেনা
- Input layer: ছবির প্রতিটা pixel
- Hidden layer 1: Edges detect করে
- Hidden layer 2: Shapes detect করে
- Hidden layer 3: Parts (কান, চোখ) detect করে
- Output layer: Probability — কুকুর (০.৮৭) বা বিড়াল (০.১৩)
প্রতিটা layer আগের layer থেকে complex features extract করে।
শেখাটা আসলে কী?
"Learning" মানে — সেই weights-গুলো ঠিক করা।
প্রথমে weights random থাকে। তারপর:
Forward Pass
Training data দিয়ে network output predict করে।
ধরুন একটা কুকুরের ছবি দেওয়া হলো। Network বলল: "৭০% বিড়াল, ৩০% কুকুর।"
Wrong answer!
Loss Calculation
কতটা ভুল হলো সেটা calculate হয়। এটাকে বলে loss (cost বা error)।
Loss = (Predicted - Actual)²
Higher loss = More wrong।
Backpropagation
Network "পেছনে যায়" এবং প্রতিটা weight কতটা বদলালে loss কমবে সেটা বের করে।
This is calculus-এর magic — but you don't need to know calculus to use it।
Update
প্রতিটা weight সামান্য update হয়:
new_weight = old_weight - (learning_rate × gradient)
Learning rate = step size। ছোট হলে slow but stable, বড় হলে fast but unstable।
Repeat Millions of Times
এই process হাজার-হাজার এমনকি কোটি বার repeat হয়। প্রতিবার weights একটু ভালো হয়।
শেষ পর্যন্ত network এমন weights-এ পৌঁছায় যেখানে predictions accurate।
এটাই training।
Activation Functions
প্রতিটা neuron-এর কাজ শেষ-এ একটা activation function apply হয়। কেন?
Non-linearity introduce করতে।
Without activation functions, পুরো network একটা linear equation-এর মতো হয়ে যেত — complex patterns শিখতে পারত না।
Common activation functions:
- ReLU: যদি negative → ০, যদি positive → as is. (Most popular)
- Sigmoid: 0 থেকে 1-এর মধ্যে squash করে
- Tanh: -1 থেকে 1
- Softmax: Multiple classes-এর probabilities
কেন Deep Learning?
"Deep" মানে অনেক hidden layers (১০-১০০+)।
Shallow network (১-২ hidden layers): Simple patterns Deep network (১০+ layers): Complex hierarchical patterns
কেন আগে deep network কাজ করত না?
- Data কম ছিল — এখন internet-এ infinite data
- Compute কম ছিল — এখন GPU আছে
- Algorithms ছিল না — এখন Adam optimizer, batch normalization
Different Types of Neural Networks
বিভিন্ন problems-এর জন্য বিভিন্ন architectures:
Feedforward Neural Network (FNN)
Simple, tabular data-র জন্য।
Convolutional Neural Network (CNN)
ছবি, video-র জন্য। Filters use করে spatial patterns ধরে।
Recurrent Neural Network (RNN)
Sequence data (text, time series)। কিন্তু এখন outdated।
Transformer
আজকের state-of-the-art। ChatGPT, Claude — সব Transformer।
Graph Neural Network (GNN)
Networks, social media analysis-এ।
একটা ছোট Mental Model
Neural network আসলে কী?
এটা একটা universal function approximator — যেকোনো pattern শিখতে পারে যদি যথেষ্ট data এবং compute থাকে।
আপনি input দিচ্ছেন, output চাইছেন। Neural network খুঁজে বের করছে input থেকে output-এ যাওয়ার "function"।
Limitations
Neural networks magic না — limitations আছে:
১. Data-hungry: Lots of data needed ২. Black box: কেন decision নিল ব্যাখ্যা করা কঠিন ৩. Brittle: Slightly different input-এ unexpected behavior ৪. Biased: Training data-র bias inherit করে ৫. Compute-heavy: Energy + cost issues
পরের ধাপ
এই foundation এখন আপনার আছে। পরের আর্টিকেলে আমরা যাব "Transformer Architecture — ChatGPT-র ভেতরে কী আছে" নিয়ে।
Practice করতে চান? Google Colab-এ যান, PyTorch দিয়ে একটা simple neural network বানান। ১০০ লাইন code-এ হবে।
—রেজোয়ান
Applied Machine Learning Engineer এবং PhD candidate। বাংলায় AI শিক্ষাকে সহজলভ্য করার মিশনে কাজ করছেন।