НачатьНачать бесплатно

Решение задачи CliffWalking с помощью стратегии epsilon-greedy с затуханием

Улучшенная стратегия epsilon-greedy использует коэффициент затухания, который постепенно снижает скорость исследования — epsilon — по мере того, как агент накапливает знания о среде. Такой подход стимулирует активное исследование на ранних этапах обучения и переключение на использование накопленных знаний по мере того, как агент лучше осваивает среду. Теперь вы примените эту стратегию для решения задачи в среде CliffWalking.

Среда уже инициализирована и доступна через переменную env. Переменные epsilon, min_epsilon и epsilon_decay заданы заранее. Функции epsilon_greedy() и update_q_table() уже импортированы.

Это упражнение является частью курса

Обучение с подкреплением с Gymnasium на Python

Посмотреть курс

Инструкции к упражнению

  • Реализуйте полный цикл обучения: выберите действие action, выполните его, накопите полученное вознаграждение reward в episode_reward и обновите Q-таблицу.
  • Уменьшите epsilon, используя коэффициент epsilon_decay, и убедитесь, что его значение не опускается ниже min_epsilon.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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))
Редактировать и запускать код