67

我知道前馈神经网络的基础知识,以及如何使用反向传播算法训练它们,但我正在寻找一种算法,而不是我可以使用强化学习在线训练 ANN。

例如,推车杆向上摆动问题是我想用人工神经网络解决的问题。在那种情况下,我不知道应该做什么来控制钟摆,我只知道我离理想位置有多近。我需要让 ANN 基于奖励和惩罚来学习。因此,监督学习不是一种选择。

另一种情况类似于蛇游戏,反馈被延迟,并且仅限于目标和反目标,而不是奖励。

对于第一种情况,我可以考虑一些算法,例如爬山算法或遗传算法,但我猜它们都会很慢。它们也可能适用于第二种情况,但速度非常慢,不利于在线学习。

我的问题很简单:是否有一种简单的算法可以通过强化学习来训练人工神经网络?我主要对实时奖励情况感兴趣,但如果有基于目标情况的算法,那就更好了。

4

2 回答 2

31

有一些关于该主题的研究论文:

还有一些代码:

这些只是关于该主题的一些顶级谷歌搜索结果。前几篇论文看起来还不错,虽然我没有亲自阅读过。如果您在 Google Scholar 上进行快速搜索,我认为您会发现更多关于强化学习的神经网络的信息。

于 2012-05-23T14:42:13.097 回答
9

如果导致奖励的输出r反向传播到网络r时间,您将与奖励成比例地加强网络。这并不直接适用于负奖励,但我可以想到两种会产生不同效果的解决方案:

1) 如果你有一组在 rmin-rmax 范围内的奖励,将0-(rmax-rmin)它们重新调整为非负值。奖励越大,产生的强化就越强。

2)对于负奖励-r,反向传播随机输出r次数,只要它与导致负奖励的不同。这不仅会加强理想的输出,而且会分散或避免不良输出。

于 2012-05-23T14:42:29.110 回答