通过强化学习训练神经网络
language-agnostic
machine-learning
neural-network
6
0

我知道前馈神经网络的基础知识,以及如何使用反向传播算法对其进行训练,但是我正在寻找一种算法,该算法比我可以用于通过增强学习在线训练ANN的算法还要多。

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

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

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

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

参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

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

1)如果您有一组在rmin-rmax范围内的奖励,请将它们重新缩放为0-(rmax-rmin)以便它们均为非负数。奖励越大,所产生的强化作用就越强。

2)对于负奖励-r ,向后传播随机输出r次,只要它与导致负奖励的输出不同即可。这不仅会增强期望的输出,而且会扩散或避免不良输出。

收藏
评论

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

和一些代码:

这些只是该主题的一些Google顶级搜索结果。前几篇论文看起来不错,尽管我还没有亲自看过。我想,如果您在Google Scholar上进行快速搜索,将会发现更多有关增强学习的神经网络信息。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号