नीतियाँ और स्टेट-वैल्यू फंक्शन

Python में Gymnasium के साथ Reinforcement Learning

Fouad Trad

Machine Learning Engineer

नीतियाँ

  • RL का लक्ष्य → प्रभावी नीतियाँ बनाना
  • हर स्टेट में कौन-सा ऐक्शन लेना है ताकि रिटर्न अधिकतम हो

एक बड़ा रोडमैप दिखाती छवि.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण

  • एजेंट का लक्ष्य डायमंड तक पहुँचना, पहाड़ों से बचते हुए
  • नौ स्टेट्स
  • डिटरमिनिस्टिक मूवमेंट्स

action_numbers_green.png

कस्टम एन्वायरनमेंट दिखाती छवि: 9 ग्रिड सेल्स, 2 पहाड़, 1 डायमंड.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण - रिवॉर्ड्स

  • स्टेट्स के आधार पर रिवॉर्ड:
    • डायमंड: +10

पड़ोसी सेल्स से डायमंड की ओर जाने पर +10 रिवॉर्ड मिलता है.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण - रिवॉर्ड्स

  • स्टेट्स के आधार पर रिवॉर्ड:
    • डायमंड: +10
    • पहाड़: -2

पहाड़ पर जाने वाली ऐक्शन का रिवॉर्ड -2 है.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण - रिवॉर्ड्स

  • स्टेट्स के आधार पर रिवॉर्ड:
    • डायमंड: +10
    • पहाड़: -2
    • अन्य स्टेट्स: -1

किसी अन्य मूवमेंट पर -1 रिवॉर्ड मिलता है.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण: पॉलिसी

# 0: left, 1: down, 2: right, 3: up
policy = {
    0:1, 1:2, 2:1, 
    3:1, 4:3, 5:1,
    6:2, 7:3
}

state, info = env.reset() terminated = False while not terminated: action = policy[state] state, reward, terminated, _, _ = env.step(action)

ऐरोज़ से स्टेट्स के बीच मूवमेंट दिखाती पॉलिसी.

Python में Gymnasium के साथ Reinforcement Learning

स्टेट-वैल्यू फंक्शन

  • स्टेट का मूल्य आँकें
  • किसी स्टेट से शुरू कर, पॉलिसी फॉलो करते हुए अपेक्षित रिटर्न

स्टेट-वैल्यू फंक्शन का फ़ॉर्मूला: स्टेट s से शुरू कर पॉलिसी फॉलो करने पर डिस्काउंटेड रिटर्न.

Python में Gymnasium के साथ Reinforcement Learning

ग्रिड वर्ल्ड उदाहरण: स्टेट-वैल्यूज़

ऐरोज़ से स्टेट्स के बीच मूवमेंट दिखाती पॉलिसी.

  • नौ स्टेट्स → नौ स्टेट-वैल्यूज़
  • डिस्काउंट फैक्टर: $\gamma = 1$
Python में Gymnasium के साथ Reinforcement Learning

लक्ष्य स्टेट का वैल्यू

एजेंट लक्ष्य स्टेट में.

  • लक्ष्य स्टेट से शुरू करने पर एजेंट नहीं हिलता
  • $V(goal \, state) = 0$

लक्ष्य स्टेट का वैल्यू 0 है.

Python में Gymnasium के साथ Reinforcement Learning

स्टेट 5 का वैल्यू

एजेंट स्टेट 5 में.

  • 5 से शुरू कर एजेंट लक्ष्य तक जाता है
  • $V(5) = 10$

स्टेट 5 का वैल्यू 10 है.

Python में Gymnasium के साथ Reinforcement Learning

स्टेट 2 का वैल्यू

एजेंट स्टेट 2 में.

  • 2 से शुरू कर रिवॉर्ड्स: $-1, 10$
  • $ V(2) = (1 \times -1) + (1 \times 10) = 9$

स्टेट 2 का वैल्यू 9 है.

Python में Gymnasium के साथ Reinforcement Learning

सभी स्टेट वैल्यूज़

एन्वायरनमेंट के 9 स्टेट्स के सभी वैल्यूज़.

Python में Gymnasium के साथ Reinforcement Learning

बेलमैन समीकरण

  • रिकर्सिव फ़ॉर्मूला
  • स्टेट-वैल्यूज़ निकालता है

बेलमैन समीकरण: करंट स्टेट के तुरंत रिवॉर्ड + अगले स्टेट के डिस्काउंटेड वैल्यू का योग.

Python में Gymnasium के साथ Reinforcement Learning

स्टेट-वैल्यूज़ की गणना

def compute_state_value(state):

if state == terminal_state: return 0
action = policy[state]
_, next_state, reward, _ = env.unwrapped.P[state][action][0]
return reward + gamma * compute_state_value(next_state)

बेलमैन समीकरण: करंट स्टेट के तुरंत रिवॉर्ड + अगले स्टेट के डिस्काउंटेड वैल्यू का योग.

Python में Gymnasium के साथ Reinforcement Learning

स्टेट-वैल्यूज़ की गणना

terminal_state = 8
gamma = 1

V = {state: compute_state_value(state) for state in range(num_states)}
print(V)
{0: 1, 1: 8, 2: 9, 
 3: 2, 4: 7, 5: 10, 
 6: 3, 7: 5, 8: 0}

एन्वायरनमेंट के 9 स्टेट्स के सभी वैल्यूज़.

Python में Gymnasium के साथ Reinforcement Learning

नीतियाँ बदलना

# 0: left, 1: down, 2: right, 3: up
policy_two = {
    0:2, 1:2, 2:1,
    3:2, 4:2, 5:1,
    6:2, 7:2
}

V_2 = {state: compute_state_value(state) for state in range(num_states)} print(V_2)

ऐरोज़ से स्टेट्स के बीच मूवमेंट दिखाती पॉलिसी.

Python में Gymnasium के साथ Reinforcement Learning

पॉलिसियों की तुलना

पॉलिसी 1 के स्टेट-वैल्यूज़

{0: 1, 1: 8, 2: 9, 
 3: 2, 4: 7, 5: 10, 
 6: 3, 7: 5, 8: 0}

पॉलिसी 1 के स्टेट-वैल्यूज़.

पॉलिसी 2 के स्टेट-वैल्यूज़

{0: 7, 1: 8, 2: 9, 
 3: 7, 4: 9, 5: 10, 
 6: 8, 7: 10, 8: 0}

पॉलिसी 2 के स्टेट-वैल्यूज़.

Python में Gymnasium के साथ Reinforcement Learning

अभ्यास करते हैं!

Python में Gymnasium के साथ Reinforcement Learning

Preparing Video For Download...