Experience Replay के साथ DQN
अब आप Deep Q Network का उपयोग करके किसी एजेंट को प्रशिक्षित करने के लिए Experience Replay जोड़ेंगे। आप वही Lunar Lander environment उपयोग करेंगे, जैसा आपने Barebone DQN बनाते समय किया था.
हर स्टेप पर, नेटवर्क को अपडेट करने के लिए केवल सबसे हाल की transition से सीखने के बजाय, Experience Replay buffer एजेंट को हाल की अनुभवों के एक रैंडम बैच से सीखने में सक्षम बनाता है। इससे environment के बारे में सीखने की उसकी क्षमता काफी बेहतर होती है.
पिछले अभ्यासों से QNetwork और ReplayBuffer क्लासेज़ आपके लिए उपलब्ध हैं और उन्हें इस प्रकार instantiate किया गया है:
q_network = QNetwork(8, 4)replay_buffer = ReplayBuffer(10000)
एपिसोड के अंत में मेट्रिक्स बताने के लिए describe_episode() फंक्शन भी फिर से उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Deep Reinforcement Learning
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
for episode in range(10):
state, info = env.reset()
done = False
step = 0
episode_reward = 0
while not done:
step += 1
q_values = q_network(state)
action = torch.argmax(q_values).item()
next_state, reward, terminated, truncated, _ = env.step(action)
done = terminated or truncated
# Store the latest experience in the replay buffer
replay_buffer.____
state = next_state
episode_reward += reward
describe_episode(episode, reward, episode_reward, step)