我目前正在使用 Q-Learning 尝试教机器人如何在充满墙壁/障碍物的房间中移动。它必须从房间中的任何位置开始并到达目标状态(例如,可能是到达有门的图块)。目前,当它想要移动到另一个图块时,它会去那个图块,但我在想,将来我可能会添加一个随机机会去另一个图块,而不是那个。它只能向上、向下、向左、向右移动。达到目标状态会产生 +100,其余操作会产生 0。

我正在使用找到的算法 这里, ,如下图所示。

alt text alt text

现在,关于这个问题,我有一些疑问:

  1. 当使用Q学习(类似于神经网络)时,我必须区分学习阶段和使用阶段?我的意思是,看来他们在第一张图片上显示的是学习的图片,第二张图片中使用了一张图片。
  2. 我在某个地方读到,要达到最佳Q值表的无限步骤。真的吗?我会说这不是真的,但是我必须在这里错过一些东西。
  3. 我还听说过有关TD(时间差异)的信息,这似乎由以下表达方式表示:

    Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
    

    对于Alpha = 1,似乎只是图片中首先显示的一个。伽玛在这里有什么区别?

  4. 如果我尝试一个很大的房间(例如,300x200像素),我会遇到一些并发症。由于它本质上是随机运行的,如果房间很大,那么从第一个状态到目标状态将需要很多时间才能随机进行。我可以使用哪些方法来加快速度?我认为也许有一张桌子上充满了三位一体和伪造的桌子,这是我在那个情节中所拥有的任何事物。如果是,我会丢弃它,如果不是,我会去那里。如果我已经在所有这些州,那么我会去一个随机的状态。这样,就像我现在正在做的事情一样,知道我会重复说明我目前要做的频率较低。
  5. 我想尝试以外的Q值来尝试其他一些方法,因此我正在考虑使用具有反向传播的神经网络。我可能会尝试为每个动作(向上,向下,左,右)拥有一个神经网络,因为这似乎是最佳结果。我还可以使用和实施可以使我良好的Q值函数近似的其他方法(SVM除了SVM,似乎太难实施了自己)吗?
  6. 您是否认为遗传算法在这种情况下将使用Q值矩阵作为基础产生良好的结果?我如何测试我的健身功能?它给我的印象是遗传算法通常用于更加随机/复杂的事情。如果我们仔细观察,我们会发现 Q 值遵循一个明显的趋势 - 靠近目标的 Q 值越高,离目标越远 Q 值越低。试图通过 GA 得出这个结论可能会花费太长时间?
有帮助吗?

解决方案

我不是这个话题的专家,但我会尽力回答 直接地 在你的许多问题上
[顺便说一句,我应该为每个问题获得多个+代表!...开个玩笑,如果我是“为 SO 代表”,我会远离发帖,这将获得总共 20 次浏览,其中一半的访问者对手头的概念有一个粗略的了解]

1)Q-学习一个两阶段的东西?
是的,Q-Learning 意味着两个阶段,学习阶段和行动阶段。与许多自动学习算法一样,在行动阶段可以“继续学习”。

2)最优G矩阵的步骤数无限?不确定哪里需要无限数量的学习周期来学习最佳 Q 矩阵。可以肯定的是(除非 alpha 和 gamma 因子不正确),算法会收敛,即使速度可能非常慢。这促使我跳过并评论你关于 300x200 游戏空间的想法,然后......是的!,对于这样的空间,给定奖励模型,似乎需要无穷大才能获得“最佳”Q 表。现在,从数学上讲,该算法可能永远不会达到最佳状态,但对于实际解决方案,研究渐近线就足够了。

3) TD模型中gamma的作用
这表明在一条通往更高奖励的道路上(这里是你的模型,字面上)推迟奖励的重要性。这通常可以防止算法陷入解空间的局部最大值,但代价是学习速度更慢......

4)帮助学习大迷宫的建议
冒着违背 Q-Learning 本质的风险,您可以在距离目标越来越远的地方启动机器人。这将有助于它首先改进目标周围状态区域的 Q 矩阵,然后利用这个部分学习的 Q 矩阵作为初始状态,在距目标不断增加的半径内随机获取。

另一种风险更大的方法(实际上可能进一步掩盖了 Q-Learning 的真实本质)是改变 R 矩阵以提供越来越高的奖励,并随机放置在距离目标越来越近的位置。这种方法的缺点是,它可能会在解决方案空间中引入许多局部最大值的机会,如果学习率和其他因素没有正确调整,算法可能会陷入困境。

这两种方法,特别是后者,都可以解释为您(设计者)在解决方案中的“布线”。其他人会说这只是为了在混合中引入一些 DP 的方式......

5) 神经网络 (NN) 6) 遗传算法 (GA)
没有关于将 NN 或 GA 添加到其中的意见。
我可能因为上面的一些数学上不太准确的陈述而自取其辱。;-)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top