5.1.12 · HinglishReinforcement Learning Foundations

SARSA algorithm

2,174 words10 min readRead in English

5.1.12 · AI-ML › Reinforcement Learning Foundations

SARSA kya hai?

Core property: SARSA optimal Q-values mein converge karta hai us behavior policy ke liye jo follow ki ja rahi hai (jaise -greedy), zaroori nahi ki optimal greedy policy ke liye.

First Principles se Derivation

Step 1: Action-Values ke liye Bellman Equation

Policy ke under action-value function satisfy karta hai:

Yeh form kyun? se expected return equals hai immediate reward plus us jagah ki discounted value jahaan policy tumhe actually next le jaati hai.

Step 2: Q-values ke liye TD Error

TD error measure karta hai ki hamara current estimate kitna galat hai:

Yeh kyun important hai?

  • Agar : Humne ko underestimate kiya — outcome expected se better tha.
  • Agar : Humne overestimate kiya — outcome worse tha.

Key insight: Hum use karte hain ( par current policy dwara actually chuna gaya action), na ki .

Step 3: SARSA Update Rule

Jahaan:

  • learning rate hai
  • discount factor hai
  • experience tuple hai

Derivation: minimize karne ke liye stochastic gradient descent apply karo. Target hai , aur hum apna estimate se us taraf move karte hain.

Complete SARSA Algorithm

Initialize Q(s,a) arbitrarily (often 0) for all s∈ S, a ∈ A
Set Q(terminal, ·) = 0

For each episode:
    Initialize S
    Choose A from S using policy derived from Q (e.g., ε-greedy)
    For each step of episode:
        Take action A, observe R, S'
        Choose A' from S' using policy derived from Q (ε-greedy)
        Q(S, A) ← Q(S, A) + α[R + γQ(S', A') - Q(S, A)]
        S ← S'
        A ← A'
    Until S is terminal

Algorithm is tarah kyun kaam karta hai:

  1. Initialize S: Episode ek valid state mein shuru karo
  2. Loop se pehle A choose karo: Pehla step lene ke liye ek action chahiye
  3. Loop ke andar A' choose karo: SARSA ko update ke liye next action chahiye, isliye hum use update se pehle select karte hain
  4. A' se update karo: Yeh on-policy hai — hum woh action use karte hain jo hum actually lenge
  5. S ← S', A ← A': Us action ke saath aage badho jo hum pehle se chuk chuke hain

Worked Examples

Setup:

  • Grid world: 4×12, start (3,0) par, goal (3,11) par
  • Actions: up, down, left, right
  • Reward: har step par -1, cliff ke liye -100 (row 3, columns 1-10)
  • Policy: -greedy with
  • ,

Episode trace:

Step Update
1 (3,0) up -1 (2,0) right
2 (2,0) right -1 (2,1) right

Yeh steps kyun?

  • Step 1: Hum cliff bachane ke liye upar jaate hain. TD target hai (next Q-value 0 hai kyunki hum ek naye state mein hain). Hamara estimate 0 se -0.5 ho jaata hai.
  • Step 2: Safe path par right chalte rehte hain. Same logic apply hoti hai.

Key observation: SARSA safer path seekhta hai (upar jaana phir right) kyunki yeh -greedy exploration ko account karta hai jo accidentally cliff mein step kar sakti hai. Q-learning cliff edge ke bilkul paas optimal path seekh leta, jo exploration ke dauran dangerous hai.

Setup:

  • State , action ,
  • Wind 1 cell upar push karta hai →
  • Reward
  • Policy par choose karti hai,
  • ,

Step-by-step update:

  1. TD target compute karo:

    Yeh value kyun? Humein -1 ka reward mila, aur next state-action pair ki value -12.1 hai, 0.9 se discount ki gayi.

  2. TD error compute karo:

    Positive kyun? Hamara current estimate (-15.3) bahut zyada pessimistic tha. Actual outcome better tha.

  3. Q-value update karo:

    Itna chhota change kyun? 0.1 ka learning rate matlab hai ki hum new estimate ki taraf sirf 10% move karte hain, stability maintain karte hue.

Setup:

  • Action "forward" 80% time succeed karta hai, 10% each left/right slip karta hai
  • , ,
  • Agent right slip karta hai → (intended ki jagah)
  • (slipping ka penalty), ,
  • par, policy choose karti hai,

Update:

Yeh safety kyun sikhata hai: Chahe "forward" usually acha ho, SARSA seekhta hai ki kabhi kabhi yeh bure outcomes lead karta hai. Kaafi episodes ke baad, slip probabilities samete average outcome reflect karega, jo policy ko zyada cautious banata hai.

On-Policy vs Off-Policy: Key Distinction

Property SARSA (On-Policy) Q-Learning (Off-Policy)
Update uses — action actually liya gaya — best possible action
Seekhta hai Behavior policy ki value (jaise -greedy) Optimal policy ki value
Convergence ki taraf ki taraf
Safety Exploration ke dauran conservative Optimistic, riskier

Practice mein yeh kyun important hai:

  • Robot navigation: SARSA cliffs ke paas drive karna nahi seekhega kyunki yeh jaanta hai ki yeh randomly explore kar sakta hai. Q-learning perfect future actions assume karta hai.
  • Medical treatment: SARSA account karta hai "kya hoga agar next action perfect nahi hai?" — experimentation ke liye safer.

Common Mistakes

Galat update:

Yeh sahi kyun lagta hai: "Kya humein hamesha best action aim nahi karna chahiye?"

Steel-man defense: Yeh logical lagta hai kyunki hum eventually optimal behavior seekhna chahte hain, aur max best possible outcome represent karta hai.

Galat kyun hai: Yeh Q-learning hai, SARSA nahi! SARSA ko policy dwara chosen actual next action use karna hi padega. Max use karna ise off-policy bana deta hai aur convergence properties change kar deta hai. Tum algorithm se jhooth bol rahe ho ki woh actually kya karega.

Fix: Hamesha apni policy se update se pehle select karo, aur update mein usi specific action ki Q-value use karo.

Galat algorithm:

Take action A, observe R, S'
Q(S, A) ← Q(S, A) + α[R + γQ(S', A') - Q(S, A)]  // A' not chosen yet!
Choose A' from S' using ε-greedy

Yeh sahi kyun lagta hai: "Pehle update karna chahiye, phir decide karo kya karna hai."

Steel-man defense: Lagta hai ki decisions lene se pehle humein apna knowledge update karna chahiye, jaise experience se seekhna phir act karna.

Galat kyun hai: Update formula ko chahiye, lekin abhi exist hi nahi karta! Ya toh tum ek undefined variable use karoge ya accidentally ki purani value use karoge, jo algorithm tod deta hai.

Fix: update se pehle choose karo. Action ko se select karna hi padega pehle query karne se.

Galat expectation: "SARSA , optimal action-values, mein converge karega."

Yeh sahi kyun lagta hai: "Saare RL algorithms best possible policy seekhna chahiye."

Steel-man defense: Hum reinforcement learning optimal behavior dhundhne ke liye karte hain, isliye har algorithm optimality mein converge karna chahiye.

Galat kyun hai: SARSA seekhta hai us policy ke liye jo tum use kar rahe ho. Agar tum ke saath -greedy use karte ho, SARSA seekhta hai "har action ki value kya hai agar main -greedy rehta hun?" Na ki "value kya hai agar main optimally act karun?"

Fix:

  • seekhne ke liye: Q-learning (off-policy) use karo, ya SARSA use karo jahan 0 tak decay kare.
  • Exploration ke under safe behavior seekhne ke liye: Fixed wala SARSA exactly wahi hai jo tum chahte ho.

Intuitive Mental Model

Recall Ek 12-saal ke bacche ko explain karo

Socho tum ek maze navigate karna seekh rahe ho aankhein band karke, aur kabhi kabhi move karne se pehle randomly ghumte ho.

Q-learning ek aisa dost hai jo tumhe dekh ke kehta hai "Theek hai, lekin agar tum perfect hote aur kabhi randomly nahi ghumte, toh har move ki itni value hoti."

SARSA ek aisa dost hai jo kehta hai "Yeh dhyan mein rakhte hue ki tum KABHI KABHI randomly ghoomte HO, har move ki actually itni value hai jab tum aise todte-todte chal rahe ho."

Agar koi khadda ho, Q-learning kehta hai "optimal path khadde ke bilkul paas hai!" kyunki yeh assume karta hai ki tum kabhi randomly us mein nahi ghumoge. SARSA kehta hai "woh path dangerous hai kyunki tum randomly khadde mein ghoom sakte ho, isliye main ise lower rate karunga."

Tum Q-learning tab chahte ho jab sirf simulation mein seekh rahe ho aur reset kar sakte ho. Tum SARSA tab chahte ho jab actually maze mein ho aur mar nahi sakte.

SARSA kab use karein

SARSA choose karo jab:

  1. Safety important ho: Real-world systems (robots, medical, finance) jahaan exploration mistakes ke consequences hain
  2. Online learning: Agent actual environment ke saath interact karte hue seekhta hai
  3. Stochastic policy: Tum puri exploration maintain karna chahte ho ( ko 0 decay nahi karna)
  4. Policy evaluation: Tum jaanna chahte ho "meri current policy kitni acchi hai?" na ki "main kitna acha ho sakta hun?"

Q-learning choose karo jab:

  1. Tum eventually optimal policy chahte ho
  2. Resets ke saath simulation mein seekh rahe ho
  3. Tum safely explore kar sakte ho phir greedy execution par switch kar sakte ho

Parameter Guidelines

Concept Map

gives target

scaled by alpha

controls step

discounts future

used instead of max

selects A prime

uses actual policy

evaluates and improves

applied each step

repeats until

not greedy so

Bellman equation for Q

TD error delta

Next action A t+1

SARSA update rule

On-policy learning

Behavior policy epsilon-greedy

Learning rate alpha

Discount factor gamma

SARSA algorithm loop

Converges to Q for behavior policy