3.1.2 · HinglishNeural Network Fundamentals

Multi-layer perceptron architecture

2,895 words13 min readRead in English

3.1.2 · AI-ML › Neural Network Fundamentals

What is an MLP?

Har layer mein multiple neurons (nodes) hote hain, aur layer ka har neuron layer ke har neuron se connected hota hai (fully connected). Information sirf forward direction mein flow karti hai—koi cycles nahi.

Why Multiple Layers?

Single-layer perceptrons sirf linearly separable functions hi seekh sakte hain. XOR problem ek famous example hai jo single layer se solve nahi ho sakti. Hidden layers add karne se network non-linear decision boundaries seekh sakta hai, simple transformations ko compose karke.

Jahan:

  • = previous layer se activations (is neuron ke inputs)
  • = layer ke neuron se layer ke neuron tak ka weight
  • = neuron ke liye bias term
  • = pre-activation (weighted sum)
  • = activation (non-linearity apply karne ke baad)
  • = activation function (sigmoid, ReLU, tanh, etc.)

Yeh formula kyun? Har neuron apne inputs ka ek weighted vote karta hai, ek bias add karta hai (decision boundary ko shift karta hai), phir ek non-linear function apply karta hai. ke bina, layers ko stack karna ek single linear transformation mein collapse ho jaata: . Non-linearity ise break karti hai aur complex patterns seekhna enable karti hai.

Architecture Components

Input Layer

  • Purpose: Raw feature vector ko hold karta hai
  • Koi computation nahi: Yeh "neurons" sirf values ko forward pass karte hain
  • Size: Tumhare data se determine hoti hai (e.g., 28×28 pixel images ke liye 784, 100 features ke liye 100)

Hidden Layers

Har layer mein kitne neurons? Common heuristics:

  • Input size ke 2-3x se shuru karo
  • Computational efficiency ke liye powers of 2 use karo (32, 64, 128, 256)
  • Zyada neurons = zyada capacity lekin overfitting ka risk
  • Deeper (zyada layers) aksar same parameter count ke liye wider (zyada neurons per layer) se behtar hota hai

Layer output ki derivation (vectorized form):

neurons wali poori layer ke liye:

Jahan ek matrix hai ( = layer mein neurons ki sankhya), aur element-wise apply hota hai.

Matrix form kyun? Saare neurons ko efficiently parallel mein compute karta hai. Modern libraries (NumPy, PyTorch) matrix operations ke liye optimize ki gayi hain, jo individual neurons par loop karne se 100-1000x faster hai.

Output Layer

  • Size: Task par depend karta hai
    • Binary classification: sigmoid ke saath 1 neuron ()
    • Multi-class: softmax ke saath neurons (probabilities ka sum 1 hota hai)
    • Regression: 1 neuron, koi activation nahi ya linear activation

Exponentiation kyun?

  1. Saare outputs positive banata hai
  2. Bade logits bahut badi probabilities ban jaate hain (differences amplify hote hain)
  3. Outputs ka sum 1 hota hai (valid probability distribution)

Activation Functions

Common Choices

ReLU (Rectified Linear Unit):

  • Kyun? Compute karna fast hai, positive values ke liye saturate nahi karta, deep networks train karna enable karta hai
  • Drawback: "Dying ReLU" problem—neurons 0 par stuck ho sakte hain agar weights ko hamesha negative push karein

Sigmoid:

  • Kyun? mein output deta hai, probability ki tarah interpretable hai
  • Drawback: Saturate karta hai (bade ke liye gradient 0 ke paas), vanishing gradients cause karta hai

Tanh:

  • Kyun? Zero-centered (mean output = 0), symmetric
  • Drawback: Yeh bhi saturate karta hai, lekin sigmoid se kam problematic

Leaky ReLU:

  • Kyun? Small negative gradients allow karke dying ReLU ko fix karta hai

Task: 10 features se classify karo ki tumor malignant (1) hai ya benign (0).

Architecture:

  • Input layer: 10 neurons (features: radius, texture, perimeter, etc.)
  • Hidden layer 1: 16 neurons, ReLU activation
  • Hidden layer 2: 8 neurons, ReLU activation
  • Output layer: 1 neuron, sigmoid activation

Ek sample ke liye forward pass :

  1. Hidden layer 1:

    Yeh step kyun? Hum 10D input ko ek 16D space mein project kar rahe hain jahan patterns zyada separable ho sakti hain.

  2. Hidden layer 2:

    Yeh step kyun? Representation ko aur refine karke 8D space mein le jaana jo higher-level tumor characteristics capture karta hai.

  3. Output layer: Sigmoid kyun? Output ko mein squash karta hai taaki hum ise probability ki tarah interpret kar sakein: .

Agar hai, toh hum malignant predict karte hain (typically threshold 0.5 par).

Parameter count: parameters.

Task: 28×28 grayscale images ko digits 0-9 mein classify karo.

Architecture:

  • Input: 784 neurons (28×28 flattened pixels)
  • Hidden 1: 128 neurons, ReLU
  • Hidden 2: 64 neurons, ReLU
  • Output: 10 neurons (ek per class), softmax

Forward pass:

  1. Image flatten karo:

  2. Hidden 1:

    128 neurons kyun? Stroke patterns, curves, edges capture karta hai.

  3. Hidden 2:

    64 neurons kyun? Stroke patterns ko digit-jaise features (loops, lines, intersections) mein combine karta hai.

  4. Output:

    Softmax kyun? 10 scores (logits) ko probabilities mein convert karta hai: jahan .

Agar output hai, toh hum class 3 predict karte hain (highest probability).

Parameter count: parameters.

Yeh step kyun? Network training ke through seekhta hai ki kaun se pixel combinations kaun se digits se correspond karte hain (backpropagation + gradient descent).

Universal Approximation Theorem

Iska matlab kya hai? Enough neurons ke saath, ek MLP theoretically koi bhi pattern seekh sakta hai. Lekin: yeh nahi bataata ki "enough" kitne neurons hain, ya kya hum actually sahi weights find kar sakte hain (training fail ho sakti hai).

Practice mein, deeper networks (zyada layers, har layer mein kam neurons) bahut wide shallow networks se behtar train karte hain aur better generalize karte hain.

Design Considerations

Width vs. Depth

Width = neurons per layer Depth = number of layers

Modern trend: Deeper is better (ResNets mein 50-200+ layers hoti hain).

Deeper kyun?

  • Har layer ek level of abstraction seekhti hai (layer 1: edges, layer 2: textures, layer 3: parts, layer 4: objects)
  • Same capacity ke liye kam parameters (zyada efficient)
  • Better generalization (deeper networks mein implicit regularization hoti hai)

Trade-off: Bahut deep networks train karna mushkil hota hai (vanishing/exploding gradients) → batch normalization, skip connections (ResNets) jaise techniques ki zarurat padti hai.

Hyperparameters to Choose

  1. Hidden layers ki sankhya: 2-3 se shuru karo, underfitting ho toh badhao
  2. Neurons per layer: Common: 32, 64, 128, 256
  3. Activation functions: Hidden layers ke liye ReLU (default), output ke liye sigmoid/softmax
  4. Initialization: Xavier/He initialization (shuru mein vanishing/exploding activations rokta hai)
  5. Regularization: Overfitting rokne ke liye Dropout, L2 penalty

Kyun sahi lagta hai: Zyada capacity zyada complex patterns seekhni chahiye.

Steel-man: Agar tumhare paas infinite data aur perfect optimization ho, toh haan. Reality mein, zyada capacity overfitting ki taraf le jaati hai—network general patterns seekhne ki jagah training data memorize kar leta hai. Training error kam hote hue bhi test error badh jaata hai.

Fix: Regularization use karo (dropout, L2), early stopping karo, ya capacity ghataao. Goal hai sweet spot: itni capacity ki true patterns capture ho sakein, lekin itni zyada nahi ki noise fit ho jaaye.

Kyun sahi lagta hai: Activations sirf functions hain, kahin bhi kaam karne chahiye.

Steel-man: Output activation ko tumhare loss function aur task se match karna padta hai. Binary classification mein BCE loss ke saath sigmoid chahiye (outputs mein). Multi-class mein cross-entropy ke saath softmax chahiye (valid probability distribution). Classification ke liye output mein ReLU use karne se negative values ya aa sakti hain, jo probability interpretation aur loss computation dono todh deta hai.

Fix: Output activation ko task se match karo:

  • Binary classification → sigmoid
  • Multi-class → softmax
  • Regression → linear (koi activation nahi) ya ReLU agar outputs positive hone chahiye

Kyun sahi lagta hai: Weights already transformation control karte hain, bias redundant lagta hai.

Steel-man: Bias ke bina, har decision boundary/hyperplane origin se guzarni chahiye. Ek single neuron ke liye, activation hamesha par switch karega. Bias ke saath, yeh par switch karega (shiftable threshold). Bias network ko functions ko vertically shift karne ki freedom deta hai, jo un data ke liye crucial hai jo zero par center nahi hota.

Fix: Hamesha bias include karo jab tak tumne inputs ko zero mean par standardize na kiya ho AUR koi specific reason na ho (bahut rare hai).

Connections

  • 3.1.01-SinglePerceptron-and-Linear-Separability – MLPs us XOR problem ko solve karte hain jo single perceptrons nahi kar sakte
  • 3.1.03-Backpropagation-Algorithm – MLPs actually kaise seekhte hain (gradient-based weight updates)
  • 3.1.04-Activation-Functions – sigmoid, ReLU, tanh aur doosron ka deep dive
  • 3.2.01-Gradient-Descent-Optimization – Training algorithm jo MLP weights update karta hai
  • 3.3.02-Dropout-Regularization – Deep MLPs mein overfitting rokta hai
  • 4.1.01-Convolutional-Neural-Networks – Images ke liye specialized architecture (fully-connected MLPs se zyada efficient)
  • 2.1.05-Feature-Engineering – MLPs automatically woh features seekhte hain jinke liye traditional ML mein manual engineering chahiye
Recall

Socho ek 12-saal ke bacche ko samjhana hai:

"MLP ko ek detective team ki tarah socho jo ek mystery solve kar rahi hai. Pehla detective (input layer) saare clues (features) collect karta hai. Phir detectives ke groups (hidden layers) clues discuss karke combine karte hain—pehla group simple cheezein notice karta hai ('yeh suspect scene ke paas tha'), agla group unhe combine karta hai ('yeh suspect scene ke paas tha AUR uske paas koi alibi nahi'), aur aise aage badhte hain. Aakhir mein, head detective (output layer) final decision leta hai is par ki saari teams ne kya find kiya.

Har detective ki apni specialty hoti hai (alag alag weights), aur woh vote karte hain ki kya important hai. Jitni zyada detective teams ho (zyada layers), utne complex patterns woh recognize kar sakte hain. Lekin bahut zyada teams ho toh chhoti chhoti details par argue karne lag jaate hain jo matter nahi karti (overfitting)!

'Activation function' har detective ka decision rule hai: sigmoid hai 'Main partially sure hoon', ReLU hai 'Agar mujhe kuch suspicious dikha toh bataunga, warna chup rahunga', aur softmax hai 'Inme se saare suspects mein, yeh hai jo mere hisaab se sabse zyada guilty hai'."

Har layer representation ko refine karti hai. Data sirf forward flow karta hai (feedforward). Hidden layers hi magic hain—yeh automatically intermediate features seekhti hain.

#flashcards/ai-ml

What is a multi-layer perceptron (MLP)? :: Ek feedforward neural network jisme input aur output ke beech mein kam se kam ek hidden layer hoti hai, jahan har layer agली se fully connected hoti hai. Yeh non-linear decision boundaries seekh sakta hai.

Why do we need multiple layers instead of just one?
Single-layer perceptrons sirf linearly separable functions seekh sakte hain (XOR solve nahi kar sakte). Non-linear activations ke saath multiple layers complex, non-linear patterns ko transformations compose karke seekhna enable karti hain.
What are the three main components of an MLP?
1) Input layer (features hold karta hai, koi computation nahi), 2) Hidden layer(s) (transformations perform karti hain), 3) Output layer (predictions produce karta hai).
Write the forward pass equation for a single neuron.
, phir jahan pre-activation hai (weighted sum + bias) aur non-linearity apply karne ke baad activation hai.
Why are activation functions necessary?
Non-linear activation functions ke bina, multiple layers stack karna ek single linear transformation mein collapse ho jaata hai. Activations linearity ko break karti hain, network ko complex patterns seekhne enable karti hain.
What activation function should you use for binary classification output?
Sigmoid, kyunki yeh (0,1) mein values output karta hai jinhe probabilities ki tarah interpret kiya ja sakta hai, aur yeh binary cross-entropy loss function se match karta hai.

What activation function should you use for multi-class classification output? :: Softmax, kyunki yeh logits ko classes par ek valid probability distribution mein convert karta hai (saare positive, sum 1 hota hai).

What is the purpose of hidden layers?
Hidden layers inputs ko progressively zyada abstract representations mein transform karti hain, task ke liye relevant features automatically seekhti hain (e.g., edges → textures → shapes → objects).
Why include bias terms in neurons?
Bias terms decision boundaries ko origin se dur shift karne dete hain. Bias ke bina, har hyperplane (0,0,...,0) se guzarni chahiye, jo network represent kar sakne wale functions ko severely limit karti hai.
What does "fully connected" mean?
Layer ka har neuron layer ke har neuron se connected hota hai. Har connection ka apna weight hota hai.
What is the universal approximation theorem?
Ek single-hidden-layer MLP enough neurons ke saath kisi bhi continuous function ko arbitrary accuracy tak approximate kar sakta hai. Lekin, yeh nahi bataata ki kitne neurons chahiye ya kya hum ise successfully train kar sakte hain.
Why do we prefer deeper networks over wider networks?
Deeper networks (zyada layers) hierarchical representations zyada efficiently seekhti hain, same capacity ke liye kam parameters use karti hain, aur bahut wide shallow networks se better generalize karti hain.
What happens if you have too many neurons/layers?
Overfitting—network general patterns seekhne ki jagah training data ko noise ke saath memorize kar leta hai. Training performance improve hote hue bhi test performance degrade ho jaata hai.
What is the difference between pre-activation () and activation ()?
Pre-activation inputs ka weighted sum plus bias hai (linear combination). Activation ek non-linear function apply karne ke baad ka result hai.
How many parameters does a layer with inputs and neurons have?
weights plus biases = total parameters.

Concept Map

is a

contains

contains

contains

passes features to

feeds

made of

linked via

apply

enables

solves

extract

Multi-layer Perceptron

Feedforward Network

Input Layer

Hidden Layers

Output Layer

Neurons

Fully Connected

Non-linear Activation

XOR Problem

Non-linear Boundaries

Abstract Features