Deep Q-Networks (DQN)
5.2.1· AI-ML › Deep & Advanced RL
WHY karte hain hum DQN?
WHAT problem solve kar rahe hain? Hum chahte hain ek aisa agent jo actions choose kare taaki long-term reward maximise ho, aur environment ka bahut bada ya continuous state space ho (jaise raw Atari pixels: possible images — astronomically zyada states).
WHY nahi chalega plain Q-learning? Tabular Q-learning ek number store karta hai har (state, action) pair ke liye. Pixels ke liye aapko ek table chahiye jo universe ke atoms se bhi badi ho, aur aap kabhi same state dobara visit nahi karoge — koi generalisation nahi.
HOW DQN fix karta hai? Poori table ko approximate karo ek parametric function se: — ek neural net jiske weights hain. Nearby states weights share karte hain, isliye ek state ke baare mein seekhna generalise hota hai similar states ke liye.
Recap: kya hai ? (first principles se derivation)
Bellman optimality equation derive karna. Sum ko split karo "pehla reward" + "baaki" mein:
"Baaki" term, agar hum se optimally act karein, exactly hai. Toh:
Bellman ko loss mein badalna (DQN objective)
Hum chahte hain Bellman ko satisfy kare. Agar karta, toh dono sides equal hoti, isliye unka difference (the TD error) zero hota. Squared TD error minimize karo:
Target kyun hai aur true kyun nahi? Hume pata nahi! Isliye hum bootstrap karte hain: next state ki value ka current best estimate use karte hain ek stand-in ke roop mein. Yeh ek moving target hai — isliye exactly hume neeche dono tricks chahiye.
HOW update karte hain? Gradient descent on ( ko constant treat karte hue, matlab target ke through backprop mat karo):
Do tricks (yahi hai "Deep" ka secret sauce)

Poora DQN algorithm
- Net , target net , aur empty replay buffer initialise karo.
- Har step ke liye:
- Action choose karo -greedy: prob se random, warna .
- execute karo, observe karo; mein store karo.
- se ek minibatch sample karo.
- Targets compute karo ( use karo agar terminal hai).
- par gradient step lo.
- Har steps mein: .
-greedy kyun? Pure greedy kabhi unknown actions explore nahi karta → stuck ho jaata hai. exploration force karta hai; hum ko ~1 se ~0.1 tak time ke saath anneal karte hain (pehle explore, baad mein exploit).
Worked Example 1 — haath se ek gradient target
State , action liya, reward mila, mein land kiya (terminal nahi), . Target net kehta hai , . Current net: .
- Step: . Kyun? Bellman best next action use karta hai.
- Step: . Kyun? Yeh humara bootstrapped target hai.
- Step: TD error . Kyun? Net underestimate kar raha hai; ko ki taraf push karo.
Worked Example 2 — terminal state
Same lekin terminal hai (episode khatam hua). Tab .
- Kyun? Termination ke baad koi future rewards nahi, isliye term drop ho jaata hai.
- Agar purana , TD error → ko thoda neeche nudge karo.
Recall Feynman: 12-saal ke bachche ko samjhao
Ek video game imagine karo. Tum ek robot chahte ho jo seekhe ki har screen par kaun sa button press karna hai. "Har possible screen ke liye best button" likh dena impossible hai — bahut zyada screens hain. Isliye hum ek smart guesser (ek brain-jaisa network) sikhate hain jo screen dekhta hai aur guess karta hai ki har button kitna achha hai. Yeh ek past plays ki notebook (replay buffer) se seekhta hai, aur apna guess apne hi thodi-purani, zyada stable version (target network) se compare karta hai taaki wobbling answer chase karne se confused na ho. Kai games ke baad yeh better aur better hota jaata hai.
Flashcards
DQN Q-table ki jagah kya use karta hai?
Non-terminal transition ke liye DQN target likho.
Terminal transition ke liye kya hai aur kyun?
Alag target network kyun use karte hain?
Experience replay kyun?
Kya target term ke through backprop karna chahiye?
Kya vanilla DQN continuous action spaces handle kar sakta hai?
DQN mein TD error kya hai?
-greedy exploration kyun?
DQN on-policy hai ya off-policy?
Bellman optimality equation jo DQN approximate karta hai, state karo.
Connections
- Q-Learning — tabular ancestor jise DQN generalise karta hai.
- Bellman Equation — fixed point jo DQN ka loss target karta hai.
- Experience Replay — buffer trick, prioritized replay ka bhi base.
- Double DQN — DQN ke overestimation bias ko fix karta hai.
- Dueling DQN — value aur advantage streams alag karta hai.
- Temporal Difference Learning — bootstrapping ka source.
- Policy Gradient Methods — continuous actions ke liye alternative family.
- Epsilon-Greedy Exploration — action selection strategy.