Řešení CliffWalking s postupně klesající epsilon-greedy strategií
Vylepšením epsilon-greedy strategie je zavedení decay faktoru, který postupně snižuje míru průzkumu — epsilon — jak se agent dozvídá více o prostředí. Tento přístup podporuje průzkum v raných fázích učení a využívání naučených znalostí, jakmile se agent s prostředím lépe seznámí. Teď tuto strategii použiješ k řešení prostředí CliffWalking.
Prostředí je již inicializované a přístupné přes proměnnou env. Proměnné epsilon, min_epsilon a epsilon_decay jsou předem definované. Funkce epsilon_greedy() a update_q_table() jsou naimportované.
Toto cvičení je součástí kurzu
Reinforcement Learning with Gymnasium in Python
Pokyny k cvičení
- Implementuj celou trénovací smyčku: vyber
action, proveď ji, přičti obdrženýrewardkepisode_rewarda aktualizuj Q-tabulku. - Sniž
epsilonpomocí míryepsilon_decaytak, aby nekleslo pod hodnotumin_epsilon.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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))