शुरू करेंमुफ़्त में शुरू करें

PPO एल्गोरिदम को ट्रेन करना

अब आप परिचित A2C ट्रेनिंग लूप का उपयोग करके PPO एल्गोरिदम को ट्रेन करेंगे.

यह ट्रेनिंग लूप क्लिप्ड सरोगेट ऑब्जेक्टिव फंक्शन का पूरा लाभ नहीं उठाता, और नतीजतन यह एल्गोरिदम A2C से बहुत बेहतर प्रदर्शन नहीं करेगा; इसका उद्देश्य क्लिप्ड सरोगेट ऑब्जेक्टिव और entropy बोनस के इर्द-गिर्द सीखे गए कॉन्सेप्ट्स को समझाना है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Deep Reinforcement Learning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • actor loss से entropy बोनस हटा दें, और \(c_{entropy}\) पैरामीटर के लिए मान 0.01 रखें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

for episode in range(10):
    state, info = env.reset()
    done = False
    episode_reward = 0
    step = 0
    while not done:    
        step += 1
        action, action_log_prob, entropy = select_action(actor, state)
        next_state, reward, terminated, truncated, _ = env.step(action)
        episode_reward += reward
        done = terminated or truncated
        actor_loss, critic_loss = calculate_losses(critic, action_log_prob, action_log_prob,
                                                   reward, state, next_state, done)
        # Remove the entropy bonus from the actor loss
        actor_loss -= ____ * ____
        actor_optimizer.zero_grad(); actor_loss.backward(); actor_optimizer.step()
        critic_optimizer.zero_grad(); critic_loss.backward(); critic_optimizer.step()
        state = next_state
    describe_episode(episode, reward, episode_reward, step)
कोड संपादित करें और चलाएँ