当前位置:  开发笔记 > 人工智能 > 正文

改善Q-Learning

如何解决《改善Q-Learning》经验,为你挑选了1个好方法。

我目前正在使用Q-Learning尝试教一个机器人如何在一个充满墙壁/障碍物的房间里移动.它必须从房间的任何地方开始并进入目标状态(例如,这可能是带有门的瓷砖).目前,当它想要移动到另一个磁贴时,它将转到该磁贴,但我想在将来我可能会添加一个随机的机会去另一个磁贴,而不是那个.它只能向上,向下,向左和向右移动.达到目标状态会产生+100,其余的操作将产生0.

我正在使用此处找到的算法,可以在下面的图像中看到.

替代文字 替代文字

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

    当使用Q-Learning时,有点像神经网络,我必须区分学习阶段和使用阶段吗?我的意思是,他们在第一张照片上显示的内容似乎是学习的,而在第二张照片中显示的是使用一张.

    我在某处读到,需要无数步才能达到最佳Q值表.真的吗?我说这不是真的,但我必须在这里遗漏一些东西.

    我也听说过TD(时间差异),它似乎用下面的表达式表示:

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

    对于alpha = 1,只是看起来在图片中首先显示的那个.这个伽玛有什么不同呢?

    如果我尝试一个非常大的房间(例如300x200像素),我会遇到一些并发症.因为它基本上是随机运行的,如果房间非常大,那么从第一个状态到目标状态随机需要花费很多时间.我可以用什么方法加快速度?我想也许有一张桌子上充满了真实和愚蠢,关于那段已经处于该状态的情节.如果是,我会丢弃它,如果不是,我会去那里.如果我已经在所有这些州,那么我会去随机的.这样,它就像我现在正在做的那样,知道我现在做的事情要少一些.

    我想尝试除Q-Values的查找表之外的其他内容,所以我正在考虑使用具有反向传播的神经网络.我可能会尝试为每个动作(向上,向下,向左,向右)设置神经网络,因为它似乎是产生最佳结果的.有没有其他方法(除了SVM,这似乎太难以实现自己),我可以使用和实现,这给我很好的Q值函数近似?

    您是否认为遗传算法在这种情况下会产生良好的结果,使用Q值矩阵作为它的基础?我怎么能测试我的健身功能?它给我的印象是GA通常用于更随机/复杂的事物.如果我们仔细观察,我们会注意到Q值遵循一个明确的趋势 - 在目标附近有较高的Q值,而在距离它们较远的地方有较低的Q值.试图通过GA达成这个结论可能会花费太长时间?

mjv.. 5

我不是这个主题的专家,但我会直接回答你的许多问题
[BTW,我应该为每个问题得到多个+代表!...开个玩笑,如果我在"为了SO reps",我将保持清晰的发布,这将获得总共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> mjv..:

我不是这个主题的专家,但我会直接回答你的许多问题
[BTW,我应该为每个问题得到多个+代表!...开个玩笑,如果我在"为了SO reps",我将保持清晰的发布,这将获得总共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添加到混合物中的意见.
我可能已经用上面一些不太合理的语句做了我自己的傻瓜.;-)

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有