5.2.1 · HinglishDeep & Advanced RL

Deep Q-Networks (DQN)

1,635 words7 min readRead in English

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)

Figure — Deep Q-Networks (DQN)

Poora DQN algorithm

  1. Net , target net , aur empty replay buffer initialise karo.
  2. 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?
Ek neural network jo similar states mein generalise karta hai.
Non-terminal transition ke liye DQN target likho.
.
Terminal transition ke liye kya hai aur kyun?
; episode khatam hone ke baad koi future reward nahi, isliye drop karo.
Alag target network kyun use karte hain?
steps tak regression target fixed rakhne ke liye, moving target chase karne se bachne ke liye → stability.
Experience replay kyun?
Consecutive samples ke beech correlation todta hai (i.i.d. restore karta hai) aur data efficiency ke liye reuse karta hai.
Kya target term ke through backprop karna chahiye?
Nahi — use detach karo; yeh fixed label ki tarah treat hota hai.
Kya vanilla DQN continuous action spaces handle kar sakta hai?
Nahi; ke liye enumerable (discrete) actions chahiye.
DQN mein TD error kya hai?
, bootstrapped target aur current estimate ka difference.
-greedy exploration kyun?
Ensure karta hai ki unvisited actions abhi bhi try hoon, taaki kisi buri policy par premature convergence na ho.
DQN on-policy hai ya off-policy?
Off-policy — yeh greedy seekhta hai jabki -greedily act karta hai, isliye replay valid hai.
Bellman optimality equation jo DQN approximate karta hai, state karo.
.

Connections

Concept Map

breaks

motivates

approximates Q with

enables

recursion gives

defines target y

minimised by

frozen copy stabilises

random minibatches

creates moving target

uses trick 1

uses trick 2

Huge state space e.g. Atari pixels

Tabular Q-learning

Deep Q-Network

Neural net Q s,a,theta

Generalisation across states

Action-value Q s,a

Bellman optimality

DQN loss squared TD error

Gradient descent on theta

Target network theta-minus

Experience replay buffer

Bootstrapping