3.2.8 · HinglishTraining Deep Networks

Batch normalization

1,896 words9 min readRead in English

3.2.8 · AI-ML › Training Deep Networks


Batch Normalization KYA hai?


Humein iska zaroorat kyun hai? (Problem ko steel-man karna)

Ek deep network consider karo. Layer ko layer se inputs milte hain. Gradient descent saari layers ko simultaneously update karta hai, un gradients se jo aise compute hote hain jaise baaki layers frozen hoon. Lekin woh frozen nahi hain — toh ek step ke baad, layer ko milne wale inputs ka mean aur spread alag ho jaata hai.

Yeh kyun nuksan karta hai:

  • Agar sigmoid/tanh ke inputs bade magnitude par drift kar jayein, toh activations saturate ho jaate hain → gradients vanish ho jaate hain.
  • Features ke beech alag-alag scales ki wajah se loss surface ill-conditioned ho jaata hai (lambi, sankri valleys), jo bahut chhoti learning rates par majboor karta hai.

BN kaise help karta hai: har step par har activation ko re-center aur re-scale karke, upar waali layer ko hamesha ek well-behaved distribution milti hai, toh hum larger learning rates use kar sakte hain aur initialization ki zyada chinta nahi karni padti.


KAISE: BN ko first principles se derive karna

Hum chahte hain ki har activation, har mini-batch ke liye, mean 0 aur variance 1 rakh sake. Toh mini-batch ke statistics compute karte hain.

Maano mini-batch hai (ek scalar activation, examples).

Step 1 — batch mean. Kyun? Subtract karne ke liye center chahiye.

Step 2 — batch variance. Kyun? Divide karne ke liye spread chahiye.

Step 3 — normalize. kyun? Jab ek batch constant ho toh zero se divide karne se bachne ke liye; yeh numerical stability banaye rakhta hai. Ab ka (approximately) mean 0, variance 1 hai.

Step 4 — scale aur shift. Jo humne kiya use kyun undo karein? Mean 0/var 1 force karna useful representational power destroy kar sakta hai (jaise sigmoid ko nonlinear rehne ke liye 0 se door inputs chahiye). Toh hum network ko do learnable parameters ke zariye best mean/scale seekhne ki freedom dete hain:

Figure — Batch normalization

Train vs. Test — ek subtle lekin crucial point


BN ke through Backpropagation (yeh phir bhi train kyun karta hai)

BN fully differentiable hai, toh gradients aur se bhi flow karte hain. Parameter gradients simple hain: Yeh forms kyun? Kyunki hai, differentiate karo: aur , phir batch par sum karo (dono params saare examples mein shared hain).


Worked Examples


Common Mistakes (Steel-manned)


Benefits summary (the 80/20)


Recall Feynman: ek 12-saal ke bacche ko explain karo

Socho ek relay race mein har runner baton pass karta hai, lekin jis height par woh usse pakadta hai woh har round mein badlati rehti hai, toh agla runner baar baar fumble karta hai. Batch Norm ek rule hai: "pass karne se pehle, baton ko hamesha usi standard height par pakdo." Ab sabko pata hai kya expect karna hai aur race fast ho jaati hai. Aur agar kisi runner ko sach mein alag height chahiye, toh hum use adjust karne dete hain apni marzi se (woh hai dials) — lekin ek known starting point se, chaos se nahi.


Flashcards

Batch Normalization kaunsi problem reduce karna chahta hai?
Internal covariate shift — training ke dauran jab pehle waali layers update hoti hain toh ek layer ke inputs ki distribution mein jo drift aata hai.
BN ke 4 forward steps likho.
Batch mean compute karo; batch variance ; normalize karo ; scale+shift .
Square root ke neeche kyun add karte hain?
Numerical stability — jab batch variance zero (ke kareeb) ho toh division by zero se bachne ke liye.
Learnable aur ka kya purpose hai?
Representational power restore karne ke liye — network koi bhi scale/shift re-learn kar sakta hai, identity bhi, toh normalization kabhi use limit nahi karta.
BN inference time par kaunse statistics use karta hai aur kyun?
Population mean/variance ke running (EMA) estimates, kyunki ek single test example ke liye meaningful batch statistics nahi hote; output deterministic ban jaata hai.
BN se pehle waali layer mein bias kyun drop kar sakte hain?
BN mean subtract karta hai, jo kisi bhi constant bias ko cancel kar deta hai; parameter already shift provide karta hai.
BN higher learning rates allow karna kyun possible karta hai?
Yeh activations ko well-conditioned (stable scale) rakhta hai, loss landscape smooth karta hai aur saturation/exploding activations rokta hai.
Bahut chhoti batch sizes ke saath BN kyun kharab behave karta hai?
Kam samples se mean/variance estimates noisy/unreliable hote hain; iske bajaye LayerNorm ya GroupNorm use karo.
Loss ka ke saath gradient?
.
Loss ka ke saath gradient?
.

Connections

Concept Map

causes

leads to

leads to

motivates

computes

computes

feeds

feeds

gives zero mean unit variance

restores representational power

reduces

Internal covariate shift

Layers updated simultaneously

Saturation and vanishing gradients

Ill-conditioned loss surface

Batch Normalization layer

Batch mean

Batch variance

Normalize with epsilon

Scale gamma and shift beta

Larger learning rates and stable training