Target network kyun? Agar hum Qθ se hi bootstrap karte, toh target har gradient step par hilta → hum ek hilte hue goalpost ka peecha karte → divergence. Ek copy θ− ko freeze karna target ko kuch hazaar steps ke liye approximately stationary banata hai.
Yeh learning ko kaise nuksan pahunchata hai? Inflated target Bellman backup mein propagate hota hai, ground truth maana jaata hai, agli step par phir se max hota hai... error compound hota jaata hai aur agent ko bure actions prefer karaata hai.
Plain DQN se compare karo jo dono ke liye θ− use karta hai:
yDQN=r+γQθ−(s′,argmaxa′Qθ−(s′,a′)).
Change code ki ek line hai, koi naye parameters nahi.
Dueling, Double se orthogonal hai — tum dono combine kar sakte ho: dueling network architecture + double-DQN target. Yeh combo ("Double Dueling DQN") standard hai.
Socho tum "best" ice-cream flavour choose kar rahe ho ek ek tiny spoon taste karke. Kabhi kabhi ek buri flavour us ek lucky spoon par great lagti hai, toh tum usse overrate kar dete ho. Double DQN = ek dost flavour choose karta hai, ek alag dost use score karne ke liye taste karta hai — toh ek lucky spoon tumhe fool nahi kar sakta.
Dueling DQN = har flavour ko scratch se score karne ke bajaye, pehle poochho "kya yeh ice-cream shop achhi hai?" (woh hai V), phir sirf poochho "kya chocolate yahan average se thoda better ya worse hai?" (woh hai A). Tum shop ki quality kisi bhi flavour se try karke seekhte ho, toh tum tezi se seekhte ho.
DQN mein max operator overestimation kyun karta hai?
Estimates noisy hain; max lena preferentially un actions ko select karta hai jinki upward noise hai, toh E[maxaQ]≥maxaE[Q] — ek positive bias jo actions ki sankhya ke saath badhta hai.
Double DQN target likhho.
y=r+γQθ−(s′,argmaxa′Qθ(s′,a′)) — online net θ se action select karo, target net θ− se evaluate karo.
Plain DQN agli action ko select aur evaluate karne ke liye kya use karta hai?
Dono ke liye target network θ−, yehi wajah hai ki noise double-count hoti hai.
Double DQN kitne naye parameters add karta hai?
Zero — sirf yeh change karta hai ki kaunsa network select karta hai vs evaluate karta hai.
Advantage function define karo.
Aπ(s,a)=Qπ(s,a)−Vπ(s): action a state ke average se kitna better hai.
Dueling network ke do streams kya hain?
Ek scalar state-value stream V(s) aur ek per-action advantage stream A(s,a), shared feature trunk ke saath.
Hum seedha Q=V+A kyun nahi set kar sakte?
Non-identifiability: V mein c add karo aur sab A mein se c ghataao toh identical Q milta hai, toh split unstable/undefined hai.
Mean-centered dueling aggregation do.
Q(s,a)=V(s)+(A(s,a)−∣A∣1∑a′A(s,a′)).
Mean-centering ke under, V(s) kya equal hai?
Actions par Q ka mean: V(s)=∣A∣1∑aQ(s,a).
Dueling mein mean-centering ko max-centering se zyada kyun prefer kiya jaata hai?
Mean ek smoother, lower-variance anchor hai; max possibly-changing argmax ke saath shift karta hai, stability hurt karta hai.
Dueling value stream tezi se kyun seekhta hai?
V(s) har transition par update hota hai chahe koi bhi action liya ho, toh states ko achhe values milte hain chahe actions rarely try ki gayi hon.
Kya Double aur Dueling combine ho sakte hain?
Haan — dueling ek architecture hai, double ek target rule hai; combine hoke yeh "Double Dueling DQN" dete hain (Rainbow mein use hota hai).