Sarsa和Q Learning(强化学习)无法融合最佳政策

时间:2018-10-11 07:01:44

标签: reinforcement-learning q-learning sarsa

我对自己的测试强化学习技术的项目有疑问。首先让我解释一下目的。我有一个代理,可以在8个步骤中执行4个操作。在这八个步骤的最后,特工可以处于5种可能的胜利状态。目标是找到最低成本。要访问这5场胜利(具有不同的成本值:50、50、0、40、60),代理程序不必采用相同的路径(如图表)。蓝色状态为失败状态(对质量表示抱歉),情节已停止。

enter image description here

真正的好方法是:DCCBBAD

现在我的问题是,我不明白为什么在SARSA和Q-Learning(主要是Q学习)中,代理在经过10万次迭代后总是找到一条路径而不是最优路径(总是:DACBBAD / DACBBCD)。有时,当我再次计算时,代理落入良好路径(DCCBBAD)。因此,我想了解为什么代理有时找到它,为什么有时找不到。有没有一种方法可以使我的经纪人稳定下来?

非常感谢您,

Tanguy

1 个答案:

答案 0 :(得分:0)

TD; DR;

  1. 设置您的epsilon,以便您探索大量的情节。例如。从1.0线性衰减到0.1。
  2. 将学习率设置为较小的恒定值,例如0.1。
  3. 不要根据情节数目而停止算法,而要根据动作值函数的更改来停止算法。

更详细的版本:

仅在以下条件下保证Q学习收敛:

  1. 您必须无限访问所有状态和动作对。
  2. 所有时间步长的所有学习率之和必须为无穷大,因此sum
  3. 所有时间步长的所有学习率的平方和必须是有限的,即squares

要达到1,只需确保您的epsilon不会过早衰减到较低的值。使它衰减非常缓慢,也许永远不会衰减到0。您也可以尝试epsilon。 要达到2和3,您必须确保照顾好1,这样您才能收集无限的学习率,而且还要选择学习率以使平方是有限的。这基本上意味着= <1。如果您的环境是确定性的,则应尝试1.确定性环境,这意味着在状态a上执行操作s时,您将全部过渡到状态s'环境中的状态和动作。如果您的环境是随机的,则可以尝试使用较小的数字,例如0.05-0.3。

也许要结帐https://youtu.be/wZyJ66_u4TI?t=2790以获得更多信息。