ПочатиПочніть безкоштовно

Розв'язання CliffWalking зі стратегією epsilon-greedy зі спаданням

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

Середовище ініціалізовано й доступне через змінну env. Змінні epsilon, min_epsilon та epsilon_decay уже визначено. Функції epsilon_greedy() і update_q_table() імпортовано.

Ця вправа є частиною курсу

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