我目前正在使用Q-Learning尝试教一个机器人如何在充满墙壁/障碍物的房间里移动。它必须从房间的任何地方开始并进入目标状态(例如,对于有门的瓷砖)。 目前,当它想要移动到另一个磁贴时,它将转到该磁贴,但我想在将来我可能会添加一个随机的机会去另一个磁贴,而不是那个。它只能向上,向下,向左和向右移动。达到目标状态会产生+100,其余操作将产生0。
我使用的是here找到的算法,可以在下面的图片中看到。
现在,关于这一点,我有一些问题:
我也听说过TD(Temporal 差异),似乎是 由以下代表 表达式:
Q(a, s) = Q(a, s) * alpha * [R(a, s) + gamma * Max { Q(a', s' } - Q(a, s)]
对于alpha = 1,只是看起来像 一张在图片中首先显示。什么 伽马制造的差异, 这里吗?
答案 0 :(得分:5)
我不是这方面的专家,但我会在你的许多问题上直接回复 。 [顺便说一句,我应该为每个问题得到多个+代表!......开个玩笑,如果我在“为SO代表”,我会保持清楚发布,这将获得总共20个视图,其中一半参观者对手头的概念有一个大致的了解]
1)Q-Learning是一个两阶段的事情?
是的,Q-Learning意味着两个阶段,即学习阶段和行动阶段。与许多自动学习算法一样,在行动阶段可以“继续学习”。
2)最佳G矩阵的无限步数? 不确定声明需要无限多个学习周期才能学习最佳Q矩阵。可以肯定的是(除非alpha和gamma因子不正确),算法会收敛,如果只是可能非常慢的速率。这促使我跳过并评论你对300x200游戏空间的想法,以及......好吧!,对于这样的空间,给定奖励模型,它将采用似乎无限的东西来获得“最佳”Q表。现在,从数学角度来看,算法可能永远不会达到最优的nivarna,但对于实际的解决方案,使用渐近线就可以了。
3)伽马在TD模型中的作用
这表明推迟奖励的重要性,在路径(这里与您的模型,字面意思),更高的奖励。这通常会阻止算法陷入解决方案空间的局部最大值,但代价是使学习更慢......
4)有助于学习大迷宫的建议
冒着背叛Q-Learning的本质的风险,您可以在离目标越来越远的距离处启动机器人。这将有助于它首先改善围绕目标的状态区域中的Q矩阵,然后利用这个部分学习的Q矩阵作为初始状态,随机地在距目标的半径增加的范围内。
另一种风险更高的方法(实际上可能进一步相信Q-Learning的真实性质)将改变R矩阵以提供越来越高的奖励,随机放置在离目标越来越远的位置。这种方法的缺点是它可能会在解决方案空间中引入许多局部最大值的机会,如果学习速率和其他因素没有得到适当调整,算法可能会陷入困境。
这两种方法,特别是后者,可以解释为您(设计师)在解决方案中的“布线”。其他人会说,这只是将一些DP引入混合中的方式......
5)神经网络(NN)6)遗传算法(GA)
没有关于将NN或GA添加到混合中的意见
我可能已经用上面一些不太合理的语句做了我自己的傻瓜。 ; - )
答案 1 :(得分:0)
-您应该尝试更改alpha和gamma值。它们是重要的参数。
-尝试更多剧集。
-更改勘探值。太多的探索探索是不好的。没有足够的探索也不是傻子。