【问题标题】:Reinforcement Learning for Continuous State Spaces with Discrete Actions (in NetLogo)具有离散动作的连续状态空间的强化学习(在 NetLogo 中)
【发布时间】:2014-05-02 07:08:27
【问题描述】:

对于不熟悉的人来说,NetLogo 是一种基于代理的建模语言。在这种情况下,代理正在模拟动态环境中的有机体,他们在其中寻找能量。能量无法预测地移动,但会随着时间的推移而扩散,因此觅食者可以通过“上坡”找到源头。 (我稍微简化了一点,agents 也会社交和繁殖,但如果我们能找到一个好的吃饭和移动算法,那么它应该可以泛化)

智能体的目标是通过两个动作最大化他们的能量:移动 N/S/E/W,然后吃。代理可以访问一些信息:周围位置的能量水平和他们自己的能量,所有这些都是连续变量。智能体不能完全明确地了解他们的过去或世界,这限制了大多数传统 RL 算法的使用。他们可以拥有隐含的知识(例如,具有随时间调整的权重的神经网络是可以的)。

我的直觉是神经网络可以解决这个问题,我成功地实现了一个……但我只是简单地运行了几千次模拟来优化权重。这 (1) 不能保证收敛,并且 (2) 可能远非最优/高效。

关于如何在这个世界上学习有什么想法吗?更好的强化学习方法或学习神经网络权重的算法都会很棒。我最近查阅了很多文献,试图找到一个解决方案,而我发现的每个算法最终都有一两个问题,无法使用它们。提前感谢您的帮助!

【问题讨论】:

  • 为什么代理人不能完全了解他们的过去?没有什么能阻止您创建一个列表作为记忆,并简单地在每个刻度上添加它。另外,您是否看过 behaviorsearch.org 上的行为搜索 - 它不是强化学习,但确实实现了优化技术。

标签: algorithm netlogo reinforcement-learning


【解决方案1】:

由于您的环境是连续的,Q-learningSARSA 等标准算法并不直接适用——它们需要离散的环境状态。但是,您的操作是离散的,这可能很有用。

一种可能性是使用一些贝叶斯方法来估计世界状态并将其应用于Reinforcement Learning with function approximation。事实上,这就是我在本科论文中所做的,其中状态是通过Bayesian Programming 估计的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-31
    • 2016-07-28
    • 2019-08-04
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多