我知道前馈神经网络的基本知识,以及如何使用反向传播算法来训练它们,但我正在寻找一种比我能用来训练神经网络的强化学习的算法。
例如,手推车杆摆动问题是我想用人工神经网络解决的问题。在这种情况下,我不知道应该做什么来控制钟摆,我只知道我离理想的位置有多近。我需要让安在奖惩的基础上学习。因此,监督学习不是一种选择。
另一种情况类似于蛇游戏,在这种情况下,反馈被延迟,只限于目标和反目标,而不是奖励。
对于第一种情况,我可以想到一些算法,比如爬山或遗传算法,但我猜它们都会很慢。它们也可能适用于第二种情况,但速度慢得令人难以置信,不利于在线学习。
我的问题很简单:是否有一个简单的算法来训练带有强化学习的人工神经网络?我主要感兴趣的是实时奖励情况,但是如果有一种基于目标的情况下的算法,那就更好了。
发布于 2012-05-23 14:42:13
有一些关于这一主题的研究论文:
还有一些代码:
这些只是谷歌在这个话题上的一些顶级搜索结果。前几篇论文看上去很不错,虽然我还没有亲自读过。我认为,如果你在谷歌奖学金上快速搜索,你会发现更多关于神经网络的信息。
发布于 2012-05-23 14:42:29
如果导致奖励r的输出被反向传播到网络r时间,则您将按比例加强网络与奖励。这并不直接适用于负面回报,但我可以想到两种解决方案,它们将产生不同的效果:
1)如果您在rmin范围内有一组奖励,请将它们降到0-(rmax-rmin),以便它们都是非负的。奖励越大,所创造的强化力量就越强。
2)对于负报酬-r,只要它不同于导致负报酬的输出,就可以反向传播随机输出r次数。这不仅会加强理想的产出,而且还会扩散或避免不良产出。
https://stackoverflow.com/questions/10722064
复制相似问题