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
Instructions de l’exercice
- Mettez en place la boucle d'entraînement complète en choisissant une
action, en l'exécutant, en accumulant larewardreçue dansepisode_reward, puis en mettant à jour la table Q. - Diminuez
epsilonen utilisant le tauxepsilon_decay, en veillant à ce qu'il ne descende pas sousmin_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))