Plain SGD har parameter ke liye same learning rate use karta hai:
θ←θ−ηgt,gt=∇θL
Problem 1 — alag-alag scales. Deep nets mein, kuch parameters ko bahut bade gradients milte hain, doosron ko bahut chhote. Ek global η kuch ke liye bahut bada hai, kuch ke liye bahut chhota.
Problem 2 — noisy stochastic gradients. Har minibatch ek noisy gt deta hai. Hum chahte hain ki noise average out ho jaye (momentum) aur saath hi normalize ho iske hisaab se ki har gradient kitna bada/variable hai.
Adam dono ka jawab deta hai, har parameter ke liye do exponential moving averages (EMAs) track karke.
Hum gradient ka EMA lete hain:
mt=β1mt−1+(1−β1)gtKyun?mt, E[gt] — yaani average gradient — ko estimate karta hai. Yeh noise cancel karta hai aur consistent directions ko aage move karta rehta hai.
Hum squared gradient (elementwise) ka EMA lete hain:
vt=β2vt−1+(1−β2)gt2Kyun?vt, E[gt2] — har coordinate mein gradient ki size/variance — ko estimate karta hai. Bada vt ⇒ woh direction steep/noisy hai ⇒ wahan chhote steps lo.
Kyunki m0=v0=0 hai, early EMAs zero ki taraf biased hote hain. Chaliye correction ko prove karte hain. Maano g roughly stationary hai, mean gˉ ke saath. Unrolling karke:
mt=(1−β1)∑i=1tβ1t−igi.
Expectations lete hain E[gi]=gˉ ke saath:
E[mt]=gˉ(1−β1)∑i=1tβ1t−i=gˉ(1−β1)⋅1−β11−β1t=gˉ(1−β1t).
Toh E[mt]=gˉ(1−β1t) factor (1−β1t) se bahut chhota hai. Ise divide out karo:
m^t=1−β1tmt,v^t=1−β2tvt.
Ab E[m^t]≈gˉ — unbiased. Jab t→∞, β1t→0 aur correction khatam ho jaata hai.
Adam har parameter ke liye kaunse do statistics track karta hai? ⇒ Gradient ka EMA (mt) aur squared gradient ka EMA (vt).
v^t se divide kyun karte hain? ⇒ Har coordinate ko uski gradient magnitude se normalize karne ke liye → adaptive per-parameter learning rate.
Bias-correct kyun karte hain? ⇒ EMAs 0 par initialize hote hain, factor (1−βt) se biased low hain; ussse divide karne par yeh remove ho jaata hai.
Constant gradient par steady-state Adam step kya hai? ⇒ ηsign(g).
AdamW exactly kya change karta hai? ⇒ weight decay ηλθ ko v^ normalization ke bahar (decoupled) apply karta hai.
Recall Feynman: 12-saal ke bachche ko explain karo
Socho tum fog mein pahadi utaar rhe ho. Momentum (m) matlab hai yaad rakhna ki tum kis taraf chal rahe ho taaki zig-zag na ho. Magnitude tracker (v) notice karta hai kaunsi directions steep aur slippery hain, toh wahan tiny careful steps lo aur gentle slopes par bade confident steps lo. Bias correction isliye hai kyunki bilkul shuru mein tumhare paas koi memory nahi hoti, toh tum apne pehle guesses ko multiply up karte ho taaki woh fair lagein. AdamW ek rule add karta hai: "har step mein, apni saari cheezein thodi si zero ki taraf shrink karo, equally" — taaki kuch bhi bahut bada aur messy na ho jaye. Adam = smart footwork; AdamW = smart footwork plus tidy-up.