【发布时间】:2019-02-05 23:26:35
【问题描述】:
我的任务是建立一个 openai 玩具健身房,这只能由具有记忆力的代理解决。我得到了一个有两扇门的例子,在时间 t = 0 时,我显示为 1 或 -1。在 t = 1 时,我可以移动到正确的门并打开它。
有谁知道我将如何开始?我想证明 a2c 或 ppo 可以使用 lstm 策略解决这个问题。如何设置环境等?
【问题讨论】:
标签: neural-network lstm rnn openai-gym
我的任务是建立一个 openai 玩具健身房,这只能由具有记忆力的代理解决。我得到了一个有两扇门的例子,在时间 t = 0 时,我显示为 1 或 -1。在 t = 1 时,我可以移动到正确的门并打开它。
有谁知道我将如何开始?我想证明 a2c 或 ppo 可以使用 lstm 策略解决这个问题。如何设置环境等?
【问题讨论】:
标签: neural-network lstm rnn openai-gym
要创建一个gym格式的新环境,它应该具有gym.core文件中提到的5个功能。
https://github.com/openai/gym/blob/e689f93a425d97489e590bba0a7d4518de0dcc03/gym/core.py#L11-L35
分步说明-
为您的环境定义观察空间和行动空间,最好使用gym.spaces 模块。
写下执行代理动作的步骤函数并返回一个 4 元组,其中包含 - 来自环境的下一组观察值、奖励、 done - 一个布尔值,指示剧集是否结束,如果需要,还可以提供一些额外信息。
为环境编写一个重置函数,将情节重新初始化为随机开始状态,并返回一个类似于 step 的 4 元组。
这些功能足以在您的环境中运行 RL 代理。 如果需要,您可以跳过渲染、种子和关闭功能。
对于您定义的任务,您可以使用 Discrete(2) 对观察和动作空间进行建模。 0 代表第一扇门,1 代表第二扇门。
坦率地说,你描述的问题对于任何强化学习算法来说似乎都太简单了,但我假设你已经提供了这个例子。 记住更长的视野通常更难。
您可以阅读他们的文档和玩具环境来了解如何创建一个。
【讨论】: