CommencezCommencez gratuitement

Entraîner l'algorithme A2C

Il est temps d'entraîner notre Lunar Lander avec l'algorithme A2C ! Vous avez toutes les composantes ; il s'agit maintenant de tout assembler.

Les réseaux actor et critic ont été instanciés sous les noms actor et critic, de même que leurs optimiseurs actor_optimizer et critic_optimizer.

Votre fonction REINFORCE select_action() ainsi que la fonction calculate_losses() de l'exercice précédent sont aussi à votre disposition ici.

Cette activité fait partie du cours

Deep Reinforcement Learning en Python

Voir le cours

Instructions de l’exercice

  • Laissez l'actor sélectionner l'action à partir de l'état.
  • Calculez les pertes pour l'actor et pour le critic.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

for episode in range(10):
    state, info = env.reset()
    done = False
    episode_reward = 0
    step = 0
    while not done:
        step += 1
        if done:
            break
        # Select the action
        ____
        next_state, reward, terminated, truncated, _ = env.step(action)
        done = terminated or truncated
        episode_reward += reward
        # Calculate the losses
        ____, ____ = ____(
            critic, action_log_prob, 
            reward, state, next_state, done)        
        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)
Modifier et exécuter le code