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
Instructions
- Implémentez la boucle d’entraînement complète : choisissez une
action, exécutez-la, cumulez larewardreçue dansepisode_reward, puis mettez à jour la Q-table. - Diminuez
epsilonen utilisant le tauxepsilon_decay, en veillant à ce qu’il ne descende pas en dessous demin_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))