健身房(openAI)环境动作空间取决于实际状态

问题描述 投票:0回答:2

我正在使用gym工具包创建自己的环境,并使用keras-rl在代理中使用我的环境。 问题是我的动作空间发生了变化,这取决于实际状态。 例如,我有 46 种可能的操作,但在特定状态下只有 7 种可用,而且我无法找到对其进行建模的方法。

我已经读过这个问题open-ai-enviroment-with-change-action-space-after-each-step

但这并没有解决我的问题。

在 Gym 文档中没有说明执行此操作,只有其 Github 存储库上的一个问题(仍处于开放状态)。 我无法理解代理(keras-rl、dqn 代理)如何选择一个操作,它是随机选择的吗?但从哪里来?

有人可以帮助我吗?有想法吗?

reinforcement-learning openai-gym keras-rl
2个回答
0
投票

我通过忽略任何无效操作并让探索机制防止其陷入困境来处理此问题。快速而简单,但可能是更好的方法。

我认为更好的选择是以某种方式将选择该操作的概率设置为零,但我很难弄清楚如何做到这一点。


0
投票

您可以在类中定义一个状态变量,并使用属性action_space,更改返回的内容。 action_space 属性在您共享的链接中定义:有没有办法实现 OpenAI 的环境,其中操作空间在每一步都会发生变化?

© www.soinside.com 2019 - 2024. All rights reserved.