CommencezCommencez gratuitement

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

Pour améliorer la stratégie epsilon-greedy, on introduit un facteur de décroissance afin de réduire graduellement 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 se familiarise 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éalablement définies pour vous. Les fonctions epsilon_greedy() et update_q_table() ont été importées.

Cette activité fait partie du cours

Reinforcement Learning avec Gymnasium en Python

Voir le cours

Instructions de l’exercice

  • Mettez en place la boucle d'entraînement complète en choisissant une action, en l'exécutant, en accumulant la reward reçue dans episode_reward, puis en mettant à jour la table Q.
  • Diminuez epsilon en utilisant le taux epsilon_decay, en veillant à ce qu'il ne descende pas sous min_epsilon.

Exercice interactif pratique

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

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