Что определяет значение эпсилон-распада в обучении с подкреплением? - PullRequest
0 голосов
/ 02 августа 2020

Я изучал Q-обучение из лекции на YouTube ниже https://www.youtube.com/watch?v=Gq1Azv_B4-4&list=PLlMOxjd7OfgNxJSgF8pAs3_qMion-X1QI&index=2

В этом уроке парень использует методику эпсилон, подобную этой (я вырезал детали)

import gym
import numpy as np
env = gym.make("MountainCar-v0")
EPISODES = 2000
epsilon = 0.5
START_EPSILON_DECAYING = 1
END_EPSILON_DECAYING = EPISODES // 2
epsilon_decay_value = epsilon / (END_EPSILON_DECAYING - START_EPSILON_DECAYING) #this part is very confusing to me 
for episode in range(EPISODES):
   done = False
   while not done:

      if np.random.random() > epsilon:  
          action = np.argmax(q_table[discrete_state])
      else:      
          action = np.random.randint(0, env.action_space.n)

      if END_EPSILON_DECAYING >= episode >= START_EPSILON_DECAYING:
          epsilon -= epsilon_decay_value

Я мог несколько понять концепцию epsilon greedy, но у меня нет ни малейшего представления о том, как применять ее при программировании. Я понял, что «эпсилон жадный» - это баланс между разведкой и эксплуатацией. Но я не знаю, почему эпсилон должен быть уменьшен и что определяет формулу значения распада эпсилона.

1 Ответ

1 голос
/ 02 августа 2020

Эпсилон уменьшается, потому что по мере того, как ваша модель исследует и учится, становится все менее и менее важно исследовать и все более важным становится следовать выученной политике. Представьте себе такой сценарий: если ваша модель все еще «исследует» после изучения политики, она может выбрать действие, которое знает как плохой выбор. Вся идея использования эпсилон-жадности заключается в том, что это помогает в процессе обучения, а не в процессе принятия решений. * эпизоды. Я считаю, что sentdex на самом деле предоставляет его позже в своих видео / ах. Ключевым фактором в определении вашей функции распада эпсилон обычно является масштаб, в котором он распадается (в экспоненциальном случае, на какой процент он распадается и через сколько эпизодов вы распадаете его?). Также возникает вопрос, будет ли ваша среда полезна для этой функции пола.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...