1

我有一个关于我自己测试强化学习技术的项目的问题。首先让我解释一下目的。我有一个代理可以在 8 个步骤中执行 4 个操作。在这八个步骤结束时,代理可以处于 5 种可能的胜利状态。目标是找到最小成本。要获得这 5 次胜利(具有不同的成本值:50、50、0、40、60),代理不会采用相同的路径(如图形)。蓝色状态是失败状态(对质量感到抱歉)并且剧集已停止。

在此处输入图像描述

真正好的路径是:DCCBBAD

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

十分感谢,

坦吉

4

1 回答 1

0

TD;博士;

  1. 设置您的 epsilon,以便您探索大量剧集。例如,从 1.0 线性衰减到 0.1。
  2. 将您的学习率设置为一个小的常数值,例如 0.1。
  3. 不要根据剧集数停止算法,而是根据动作价值函数的变化来停止算法。

更详细的版本:

Q-learning 只保证在以下条件下收敛:

  1. 您必须无限次访问所有状态和动作对。
  2. 所有时间步的所有学习率之和必须是无限的,所以和
  3. 所有时间步长的所有学习率的平方和必须是有限的,即正方形

要达到 1,只需确保您的 epsilon 不会过早衰减到低值。让它衰减得非常非常缓慢,也许永远不会一直到 0。你也可以试试ε。要达到 2 和 3,您必须确保照顾好 1,以便收集无限的学习率,但还要选择学习率,使其平方是有限的。这基本上意味着 =< 1。如果您的环境是确定性的,您应该尝试 1. 此处的确定性环境意味着当a在某个状态下执行操作时,s您会转换到s'环境中所有状态和操作的状态。如果您的环境是随机的,您可以尝试一个较小的数字,例如 0.05-0.3。

也许结帐https://youtu.be/wZyJ66_u4TI?t=2790了解更多信息。

于 2018-10-11T19:06:24.590 回答