टेम्पोरल डिफरेंस लर्निंग

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

Fouad Trad

Machine Learning Engineer

TD लर्निंग बनाम Monte Carlo

 

TD लर्निंग
  • मॉडल-फ्री
  • इंटरैक्शन के आधार पर Q-टेबल का अनुमान
  • हर स्टेप पर, एपिसोड के भीतर Q-टेबल अपडेट
  • लंबे/अनिश्चित एपिसोड वाले टास्क के लिए उपयुक्त

 

Monte Carlo
  • मॉडल-फ्री
  • इंटरैक्शन के आधार पर Q-टेबल का अनुमान
  • कम से कम एक एपिसोड पूरा होने पर Q-टेबल अपडेट
  • छोटे एपिसोडिक टास्क के लिए उपयुक्त
Python में Gymnasium के साथ Reinforcement Learning

मौसम पूर्वानुमान के रूप में TD लर्निंग

एक ही जगह पर अलग-अलग समय पर अलग मौसम दिखाने वाली छवि.

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

SARSA

  • TD एल्गोरिदम
  • On-policy method: लिए गए ऐक्शन्स के आधार पर रणनीति समायोजित करता है

छवि दिखाती है कि SARSA वर्तमान state, लिया गया action, मिला reward, देखा गया अगला state, और अगला action दर्शाता है.

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

SARSA अपडेट नियम

SARSA अपडेट नियम का गणितीय सूत्र दिखाने वाली छवि.

  • $\alpha$: learning rate
  • $\gamma$: discount factor
  • दोनों 0 और 1 के बीच
Python में Gymnasium के साथ Reinforcement Learning

Frozen Lake

Frozen Lake एनवायरनमेंट दिखाने वाली छवि

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

Initialization

env = gym.make("FrozenLake", is_slippery=False)

num_states = env.observation_space.n num_actions = env.action_space.n
Q = np.zeros((num_states, num_actions))
alpha = 0.1 gamma = 1 num_episodes = 1000
Python में Gymnasium के साथ Reinforcement Learning

SARSA लूप

for episode in range(num_episodes):

state, info = env.reset() action = env.action_space.sample()
terminated = False while not terminated: next_state, reward, terminated, truncated, info = env.step(action)
next_action = env.action_space.sample()
update_q_table(state, action, reward, next_state, next_action)
state, action = next_state, next_action
Python में Gymnasium के साथ Reinforcement Learning

SARSA अपडेट्स

def update_q_table(state, action, reward, next_state, next_action):

old_value = Q[state, action]
next_value = Q[next_state, next_action]
Q[state, action] = (1 - alpha) * old_value + alpha * (reward + gamma * next_value)

  SARSA अपडेट नियम का गणितीय सूत्र दिखाने वाली छवि.

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

ऑप्टिमल पॉलिसी निकालना

policy = get_policy()
print(policy)
{ 0: 1,  1: 2,  2: 1,  3: 0, 
  4: 1,  5: 0,  6: 1,  7: 0, 
  8: 2,  9: 1, 10: 1, 11: 0, 
 12: 0, 13: 2, 14: 2, 15: 0}

Frozen Lake एनवायरनमेंट में ऑप्टिमल पॉलिसी दिखाने वाली छवि, जहाँ ऐक्शन्स तीरों से दर्शाए गए हैं, और एजेंट छेदों में गिरने से बचता है.

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

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

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

Preparing Video For Download...