问题标签 [openai-gym]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3852 浏览

python - OpenAI 健身房玩家模式

有谁知道如何以玩家身份运行 OpenAI 健身房环境之一。就像让人类玩家玩一轮推车杆一样?我已经看到有 env.mode = 'human' 但我无法让它正常运行。我试图按照这里给出的例子https://www.pinchofintelligence.com/getting-started-openai-gym/但它似乎对我不起作用。

您可以提供的任何帮助将不胜感激。

谢谢

0 投票
1 回答
804 浏览

deep-learning - Deep Q 学习如何工作

当我训练我的模型时,我有以下部分:

其中s_t, a_分别对应于当前状态和在这些状态下采取的行动。model2model除了model2具有输出num_actionsmodel仅输出在该状态下采取的操作的值外相同。

我觉得奇怪(并且确实是这个问题的重点)在于train_data我有以下行的功能:

奇怪的是,我正在使用该模型来生成我的模型y_batch并对其进行训练。这不是成为某种自我实现的预言吗?如果我理解正确,该模型会尝试预测预期的最大奖励。使用相同的模型来尝试生成y_batch意味着它是真正的模型不是吗?

问题是,1. 使用相同模型生成 y_batch 和训练它们背后的直觉是什么。2.(可选)损失值是否意味着什么。当我绘制它时,它似乎并没有收敛,但是奖励的总和似乎在增加(参见下面链接中的图)。

完整的代码可以在这里找到,它是深度 Q 学习在 CartPole-v0 问题上的实现:

其他论坛的评论:

  1. y = r + gamma*np.max(model.predict(s_t_batch), axis=1) 是完全自然的,y 将收敛到真实的状态动作值。如果你不打破连续更新与经验回放(或更好的优先级经验回放)之类的东西之间的相关性,你的模型就会出现分歧。还有更好的变体,比如 DDQN,Dueling Network,性能更好。
  2. y_batch 包括奖励。目标网络和在线网络都是估计值。由于 DQN 的价值函数过于乐观,这确实是一个有点自我实现的预言。这就是几个月后添加双 DQN 的原因。
  3. y 会收敛,但不一定会收敛到真实的(我假设你的意思是最优的)状态动作值。没有人证明收敛值是最佳值,但它是我们拥有的最佳近似值。然而,对于足够简单的问题(例如网格世界),将收敛到真实值
0 投票
1 回答
243 浏览

python - 训练强化学习代理时 tflearn 损失始终为 0.0

我尝试使用以下代码训练带有gym和tflearn的强化学习代理:

问题是,当模型训练时,损失总是0.0。有人可以帮我解决这个问题吗?

0 投票
0 回答
376 浏览

pygame - 打开 AI gym 和 pygame: pygame.error: display Surface quit

我在我的 _render 函数中得到了共同点pygame.error: display Surface quit,如下所示。健身房环境运行,但在大约 10 秒后崩溃。我是 pygame 的新手,所以如果解释了错误会有所帮助。我在这里这里检查过,但答案并不能完全解决我的问题。完整代码在这里。当我通过我的 main.py 文件运行该程序时,该程序使用gym 成功运行,但是当我使用gym_test.py 运行它时,我得到了错误。

主文件

健身房测试.py


渲染.py

sys.exitfunc 中的错误:回溯(最近一次调用最后一次):文件“/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/atexit.py”,第 24 行,在 _run_exitfuncs func(*targs, **kargs) 文件 "/usr/local/lib/python2.7/site-packages/gym/utils/closer.py",第 67 行,在关闭 closeable.close()文件“/usr/local/lib/python2.7/site-packages/gym/core.py”,第 164 行,关闭 self.render(close=True) 文件“/usr/local/lib/python2.7/ site-packages/gym/core.py”,第 150 行,在渲染中返回 self._render(mode=mode, close=close) 文件“/Users/lusenii/Developer/gym-audio/gym_audio/envs/frogger.py” ,第 82 行,在 _render self.screen.blit(self.background, (0, 0)) pygame.error 中:显示 Surface 退出

0 投票
1 回答
195 浏览

tensorflow - 从数组中输入 tensorflow 占位符

我正在尝试使用 Q 学习来训练 CatPole-v0。尝试使用经验更新重播缓冲区时,出现以下错误:

相关的代码片段是:

要馈送的占位符是

有人可以澄清应该如何使用 action_dim 来解决这个错误吗?

0 投票
1 回答
1550 浏览

reinforcement-learning - 强化学习中的无效动作

我已经为一个类似于http://curvefever.io/的游戏实现了一个自定义的 openai 健身房环境,但是使用谨慎的操作而不是连续的操作。所以我的代理可以在每一步中向左/上/右/下四个方向之一前进。然而,这些动作之一总是会导致代理自己崩溃,因为它不能“逆转”。

目前我只是让代理采取任何行动,如果它采取无效行动就让它死亡,希望它最终会学会在那种状态下不采取那种行动。但是,我读过可以将非法移动为零的概率设置为,然后对动作进行采样。有没有其他方法可以解决这个问题?

0 投票
1 回答
710 浏览

python - 如何使用 keras-rl 进行多智能体训练

我正在尝试在多代理环境中使用 keras-rl。所以我发现了这个keras-rl 的 github 问题,其中包含一个为所有代理使用共享环境的想法。不幸的是,我还没有设法让它工作。似乎在这种情况下使用健身房环境通常是可能的,我只是没有设法让它与 keras-rl 一起使用。有谁知道怎么做?

0 投票
1 回答
2182 浏览

python - 为什么我的 DQN 代理无法在非确定性环境中找到最优策略?

编辑:以下似乎也适用于FrozenLake-v0. 请注意,我对简单的 Q 学习不感兴趣,因为我希望看到适用于连续观察空间的解决方案。

我最近创建了banana_gymOpenAI 环境。场景如下:

你有一根香蕉。它必须在 2 天内售出,因为第 3 天就坏了。您可以选择价格 x,但香蕉仅以

在此处输入图像描述

奖励为x - 1。如果第三天没有卖掉香蕉,则奖励为-1。(直觉:你为香蕉支付了 1 欧元)。因此,环境是非确定性的(随机的)。

操作:您可以将价格设置为 {0.00, 0.10, 0.20, ..., 2.00}

观察:剩余时间(来源

我计算了最优策略:

这也符合我的直觉:首先尝试以更高的价格出售香蕉,因为您知道如果不卖,您还有另一次尝试。然后将价格降低到 0.00 以上。

最优策略计算

我很确定这是正确的,但为了完整起见

DQN + 策略提取

以下 DQN 代理(使用Keras-RL实现)适用于CartPole-v0环境,但学习策略

对于香蕉环境。它朝着正确的方向前进,但它始终如一地学习该策略而不是最佳策略

为什么 DQN 代理不学习最优策略?

执行:

代码dqn.py

0 投票
0 回答
97 浏览

openai-gym - 找不到记录器“universe”错误消息的处理程序

我安装了 openai 健身房、宇宙和码头。当我运行以下代码时,我收到此错误消息:

找不到记录器“宇宙”的处理程序

我运行的代码是:

我相信它是 env.configure(remotes=1),经过两天的研究并尝试了其他程序员建议的许多修复,我仍然收到此错误消息。有人能帮助我吗?我在 OS X 上使用终端。提前非常感谢您!

0 投票
2 回答
10197 浏览

random - OpenAI 环境(健身房)应该如何使用 env.seed(0)?

我创建了一个非常简单的 OpenAI Gym( banana-gym) 并且想知道我是否应该/如何实现env.seed(0)

例如,请参阅https://github.com/openai/gym/issues/250#issuecomment-234126816