我的问题是在我检查了PyTorch DQN教程中的代码之后,但随后又提到了强化学习:强化学习中最佳探索/开发的最佳实践是什么?
在DQN教程中,steps_done变量是全局变量,EPS_DECAY =200。这意味着:128个步骤之后,ε阈值= 0.500;在889个步骤之后,ε阈值= 0.0600; 1500步后,ε阈值= 0.05047。
这可能适用于本教程中介绍的CartPole问题-早期情节可能很短,任务相当简单-但是对于需要进一步探索的更为复杂的问题呢?例如,如果我们有40,000个情节的问题,每个情节都有10,000个时间步长,那么我们将如何制定epsilon贪婪探索策略? RL工作中是否有一些经验法则?
在此先感谢您的帮助。
答案 0 :(得分:2)
好吧,为此,我认为最好使用线性退火的epsilon-greedy策略,该策略会根据以下步骤更新epsilon:
EXPLORE = 3000000 #how many time steps to play
FINAL_EPSILON = 0.001 # final value of epsilon
INITIAL_EPSILON = 1.0# # starting value of epsilon
if epsilon > FINAL_EPSILON:
epsilon -= (INITIAL_EPSILON - FINAL_EPSILON) / EXPLORE