Value methods (Q-learning) Q(s,a) seekhte hain aur argmaxaQ pick karte hain. Yeh tab fail hota hai jab:
Actions continuous hoon — ek infinite set par argmax karna aasaan nahi hota.
Optimal policy stochastic ho — jaise rock-paper-scissors, ya partially observed states jahan best move genuinely random ho. Ek greedy value policy deterministic hoti hai.
Aap smooth improvement chahte ho — chhote θ changes se chhote policy changes aate hain, jo stable hota hai.
Objective define karo as ek trajectory τ=(s0,a0,s1,a1,…) ka expected return:
J(θ)=Eτ∼πθ[R(τ)],R(τ)=∑t=0Tγtrt
Hum gradient ascent karte hain: θ←θ+α∇θJ(θ).
Pura game yeh hai: hum ∇θJ compute kaise karein jab reward obviously θ par depend nahi karta? Reward environment se aata hai; θ sirf shape karta hai ki hum kaun si trajectories sample karte hain. Yahi trick hai.
Objective ko trajectories par ek integral ki tarah likho, jahan Pθ(τ) trajectory probability hai:
J(θ)=∫Pθ(τ)R(τ)dτ
Step 1 — differentiate karo.∇θJ=∫∇θPθ(τ)R(τ)dτYeh step kyun?R(τ) mein koi θ nahi hai (reward environment ka hai), isliye sirf Pθ differentiate hota hai.
Step 2 — log-derivative trick.Pθ(τ) se multiply aur divide karo:
∇θPθ=PθPθ∇θPθ=Pθ∇θlogPθ(τ)Kyun? Kyunki ∇logf=f∇f. Yeh crucial identity hai — yeh ek probability ke gradient ko ek expectation mein convert kar deti hai jise hum sample kar sakte hain.
Step 3 — logPθ(τ) expand karo. Trajectory probability factorize hoti hai:
Pθ(τ)=initρ(s0)∏tdynamicsP(st+1∣st,at)policyπθ(at∣st)
Log lo → sum ban jaata hai. Init aur dynamics terms mein koi θ nahi hai, isliye ∇θ ke under woh vanish ho jaate hain:
∇θlogPθ(τ)=∑t=0T∇θlogπθ(at∣st)Yeh kyun matter karta hai: humein environment ka dynamics model kabhi nahi chahiye! Yahi model-free hai.
REINFORCE kaam karta hai lekin iska variance bahut bada hota hai. Do principled fixes hain:
1. Causality (reward-to-go). Time t par ek action t se pehle ke rewards ko affect nahi kar sakta. Isliye t-wein term ko multiply karne wale poore R(τ) ki jagah sirf future reward use karo:
∇θJ=E∑t∇θlogπθ(at∣st)Gt(reward-to-go)t′≥t∑γt′−trt′
2. Baseline subtraction. Koi bhi function b(st) subtract karo jo action par depend na kare:
∇θJ=E[∑t∇θlogπθ(at∣st)(Gt−b(st))]Yeh allowed kyun hai (unbiased)? Kyunki Ea∼π[∇θlogπθ(a∣s)b(s)]=b(s)∇θ∑aπθ(a∣s)=b(s)∇θ1=0. Zero subtract karna expectation mein kuch nahi badalta lekin variance kaafi kam kar deta hai.
Sabse acchi baseline b(s)=V(s) hai, jo advantageA(s,a)=Gt−V(s)≈Q(s,a)−V(s) deti hai. Yahi Actor-Critic ka seed hai.
Advantage function kya hai aur V(s) acchi baseline kyun hai?
A(s,a)=Q(s,a)−V(s); b=V use karna measure karta hai ki ek action average se kitna better hai, variance minimize karta hai.
Har term ke liye full return ki jagah "reward-to-go" kyun?
Causality: time t par ek action t se pehle ke rewards ko influence nahi kar sakta, isliye woh terms irrelevant noise hain aur drop kar diye jaate hain.
J(θ) ke liye ascent ya descent?
Gradient ascent — J ek return hai jise hum maximize karte hain.
Recall Feynman: ek 12-saal ke bacche ko samjhao
Socho ek kutte ko treats se train kar rahe ho. Tum kutte ko exactly kaise apni taangein hilaane hain yeh nahi batate. Tum bas woh moves jo treats mile zyada hone dete ho aur buri moves kam hone dete ho. Dog policy hai; treat reward hai. Policy gradients = "kya us trajectory ko bada treat mila? Toh usme jo bhi choices ki hain unhe thoda zyada likely banao." Math (log-derivative trick) sirf yeh careful bookkeeping hai ki "main dice ko kaise nudge karun taaki acche rolls zyada aayein?"