PPO algoritmasını eğitme
Şimdi tanıdık A2C eğitim döngüsünü kullanarak PPO algoritmasını eğiteceksin.
Bu eğitim döngüsü, kırpılmış vekil amaç fonksiyonunun tüm avantajlarını kullanmaz; bu nedenle bu algoritmanın A2C'den çok daha iyi performans göstermesi beklenmez. Buradaki amaç, kırpılmış vekil amaç ve entropi bonusu etrafında öğrendiğin kavramları örneklemektir.
Bu egzersiz
Python ile Deep Reinforcement Learning
kursunun bir parçasıdırEgzersiz talimatları
- Aktör kaybından entropi bonusunu kaldır; \(c_{entropy}\) parametresi için 0.01 değerini kullan.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)