Epsilon和学习率在epsilon贪婪q学习中的衰减

时间:2018-11-07 22:00:43

标签: machine-learning reinforcement-learning q-learning

我知道epsilon标志着勘探与开发之间的权衡。刚开始时,您希望epsilon高,这样您就可以大踏步学习东西。当您了解未来的回报时,ε会衰减,以便您可以利用已找到的更高的Q值。

但是,在随机环境中,我们的学习率是否也会随着时间而衰减?我见过的SO帖子仅讨论epsilon衰减。

我们如何设置epsilon和alpha以使值收敛?

2 个答案:

答案 0 :(得分:2)

  

一开始,您希望epsilon高,这样您才能大踏步学习东西

我认为您错了ε和学习率。这个定义实际上与学习率有关。

学习率下降

学习率是您在寻求最佳政策方面迈出的一大步。用简单的QLearning来讲,就是每个步骤要更新Q值的数量。

enter image description here

较高的 alpha 表示您正在大步更新Q值。当代理商学习时,您应该衰减它以稳定模型输出,最终收敛到最优策略。

Epsilon衰变

当您根据已有的Q值选择特定的动作时,将使用Epsilon。例如,如果我们选择纯贪婪方法(epsilon = 0),那么我们总是在特定状态的所有q值中选择最高的q值。这会导致探索问题,因为我们很容易陷入局部最优状态。

因此,我们引入了使用epsilon的随机性。例如,如果epsilon = 0.3,那么无论实际q值如何,我们都以0.3的概率选择随机动作。

找到有关epsilon-greedy政策here的更多详细信息。

总而言之,学习率与您跳跃的程度有关,而ε与您采取动作的随机性有关。随着学习的进行,两者都应衰减以稳定并利用所学习的策略,这些策略会收敛到最佳策略。

答案 1 :(得分:2)

由于Vishma Dias的答案描述了学习率[衰变],我想阐述一下epsilon-greedy方法,我认为问题隐含地提到了 decayed-epsilon-greedy 方法进行勘探和开发。

在培训RL策略期间探索与开发之间取得平衡的一种方法是使用 epsilon-greedy 方法。例如,epsilon = 0.3表示概率为0.3时,从动作空间中随机选择输出动作,概率为0.7时,基于argmax(Q)贪婪地选择输出动作。

epsilon-greedy方法的一种改进称为 decayed-epsilon-greedy 方法。 例如,在这种方法中,我们训练了总共N个纪元/情节(取决于具体问题)的策略,该算法最初设置epsilon = pinit(例如,pinit = 0.6),然后在epsilon训练时期/片段中逐渐减小到pend = pend(例如nstep = 0.1)结束。 具体而言,在初始训练过程中,我们让模型具有更大的自由度(例如,pinit = 0.6)以高概率进行探索,然后以速率 r < / em>训练具有以下公式的纪元/纪元:

epsilon

rate

通过这种更灵活的选择以极小的探索概率enter image description here结束,pend之后,训练过程将更加着重于剥削(即贪婪),而仍然可以以很小的探索该政策大致趋同的可能性。

您可以在this post中看到衰退ε贪婪方法的优点。