3.1.12 · HinglishNeural Network Fundamentals

Weight initialization (Xavier, He)

1,325 words6 min readRead in English

3.1.12 · AI-ML › Neural Network Fundamentals


Problem KYA hai?

KYU care karein? Ek deep net layer by layer compute karta hai: Agar mein numbers average par bahut bade hain, toh har layer signal ko upar multiply karti hai → activations blow up ho jaate hain (exploding). Bahut chhote hain → activations par shrink ho jaate hain (vanishing). Dono cases mein gradients useless ho jaate hain aur learning ruk jaati hai.


Sahi scale derive kaise karein (first principles)

Hum ek single pre-activation ki variance track karte hain, jahaan = inputs ki sankhya (fan-in) hai.

Assume karo: weights aur inputs independent, zero-mean, i.i.d. hain.

Independent zero-mean variables ke liye, product aur sum ki variance deti hai:

Yeh step kyun? Zero-mean independent ke liye: , aur independents ke sum ki variance add hoti hai.

Forward goal: hum chahte hain taaki signal size preserve ho. Isse yeh force hota hai:

Backward goal: gradients ke backward flow par wahi argument deta hai, yaani .

Dono ko exactly satisfy nahi kar sakte, isliye Xavier average se compromise karta hai:

ReLU ko alag constant (He) kyun chahiye

ReLU aadhe inputs ko zero kar deta hai (saare negatives). Toh average par woh aadhi variance khatam kar deta hai:

Yeh step kyun? Zero-mean symmetric ke liye, sirf positive half pass karta hai → second moment half ho jaata hai.

rakhhne ke liye hume compensate karne ke liye weight variance double karni padti hai:

Figure — Weight initialization (Xavier, He)

Worked examples


Recall Feynman: 12-saal ke bachche ko samjhao

Socho 50 bachcho ki line mein ek whisper pass kar rahe ho. Agar har bachcha thoda loud bolta hai, toh end tak woh scream ban jaata hai (exploding). Agar har bachcha thoda soft bolta hai, toh aakhri bachcha kuch nahi sunta (vanishing). Weight initialization yeh choose karna hai ki pehli whisper kitni loud ho, aur har bachche ke liye ek "volume knob" set karna hai, taaki message same loudness par poori line mein jaaye. ReLU bachche sirf aadhi baar message pass karte hain (woh "sad" numbers ignore karte hain), isliye hum unhe double loud bolne ko kehte hain — yahi He initialization mein "2" hai.


Flashcards

Saare weights zero kyun initialize nahi kar sakte?
Yeh symmetry break nahi karta — ek layer ke saare neurons identical outputs compute karte hain aur identical gradients lete hain, isliye woh kabhi differentiate nahi hote.
Achhi weight initialization ka goal kya hai?
Activations ki variance (forward) aur gradients ki variance (backward) ko layers ke across roughly constant rakho, vanishing/exploding se bacho.
Xavier/Glorot weight variance formula?
.
He/Kaiming weight variance formula?
.
He, variance-preserving rule ke comparison mein 2 ka factor kyun use karta hai?
ReLU negative inputs ko zero karta hai, variance half kar deta hai; weight variance double karna compensate karta hai.
ReLU vs tanh/sigmoid ke liye kaunsa init?
ReLU (aur variants) ke liye He; tanh/sigmoid/linear ke liye Xavier.
ke liye zero-mean i.i.d. terms ke saath derive karo.
.
mein Uniform Xavier bound ?
, se.
(fan-in) kya hai?
Ek neuron/layer ke inputs ki sankhya = ki input dimension.
Per-layer variance gain aur depth ka relationship?
Total scaling = (per-layer gain), isliye koi bhi gain depth ke saath exponentially explode/vanish karta hai.

Connections

Concept Map

each layer multiplies signal

too big

too small

gradients useless

gradients useless

identical neurons

fix

track Var of z

backward pass

compromise average

compromise average

for tanh sigmoid

ReLU kills half

for ReLU

Deep net stacks layers

Variance drifts

Exploding activations

Vanishing activations

Learning stalls

Zero init

Symmetry not broken

Random weights + controlled variance

Var w = 1 / n_in forward

Var w = 1 / n_out

Xavier / Glorot: 2 / n_in+n_out

Stable variance

He init: 2 / n_in