CommencerCommencer gratuitement

Résoudre CliffWalking avec une stratégie epsilon-greedy décroissante

Pour améliorer la stratégie epsilon-greedy, on introduit un facteur de décroissance afin de réduire progressivement le taux d’exploration, epsilon, à mesure que l’agent apprend sur l’environnement. Cette approche favorise l’exploration au début de l’apprentissage, puis l’exploitation des connaissances acquises lorsque l’agent devient plus familier avec l’environnement. Vous allez maintenant appliquer cette stratégie pour résoudre l’environnement CliffWalking.

L’environnement a été initialisé et est accessible via la variable env. Les variables epsilon, min_epsilon et epsilon_decay ont été pré-définies pour vous. Les fonctions epsilon_greedy() et update_q_table() ont été importées.

Cet exercice fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Afficher le cours

Instructions

  • Implémentez la boucle d’entraînement complète : choisissez une action, exécutez-la, cumulez la reward reçue dans episode_reward, puis mettez à jour la Q-table.
  • Diminuez epsilon en utilisant le taux epsilon_decay, en veillant à ce qu’il ne descende pas en dessous de min_epsilon.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

rewards_decay_eps_greedy = []
for episode in range(total_episodes):
    state, info = env.reset()
    episode_reward = 0
    for i in range(max_steps):
      	# Implement the training loop
        action = ____
        new_state, reward, terminated, truncated, info = ____
        episode_reward += ____       
        ____      
        state = new_state
    rewards_decay_eps_greedy.append(episode_reward)
    # Update epsilon
    epsilon = ____
print("Average reward per episode: ", np.mean(rewards_decay_eps_greedy))
Modifier et exécuter le code