标签: reinforcement-learning

OpenAIgym:如何获取 ATARI 环境的完整列表

我已经安装了 OpenAIgym和 ATARI 环境。我知道我可以在文档中找到所有 ATARI 游戏,但是有没有办法在 Python 中执行此操作,而无需打印任何其他环境(例如,不是经典的控制环境)

artificial-intelligence reinforcement-learning deep-learning openai-gym

4
推荐指数
1
解决办法
3410
查看次数

标准化奖励以在强化学习中产生回报

问题是关于普通的非批量强化学习。基本上是被定义在这里萨顿的书。我的模型训练,(呜呜!)虽然有一个元素让我感到困惑。

背景:

在持续时间得到奖励的环境中(如极点平衡),我们每一步有(比如)1 个奖励。在一集之后,在将这个 1 数组发送到训练步骤之前,我们进行标准折扣和标准化以获得回报:

returns = self.discount_rewards(rewards)
returns = (returns - np.mean(returns)) / (np.std(returns) + 1e-10) // usual normalization
Run Code Online (Sandbox Code Playgroud)

折扣奖励是常用的方法,但如果好奇,这里是要点

所以奖励数组 [1,1,1,1,1,1,1,1,1] 变成了回报数组 [1.539, 1.160, 0.777, 0.392, 0.006, -0.382, -0.773, -1.164, - 1.556]。

鉴于基本背景,我可以问我的问题:

如果强制执行正回报,不鼓励负回报(在优化步骤中),那么无论情节的长度如何,大约前半部分的行动将被鼓励,后半部分将被阻止。这是真的,还是我误解了什么?

如果它不是真的,很想了解我做错了什么。

如果这真的,那么我不明白为什么模型会训练,因为即使是表现良好的剧集也会阻止其后半部分的动作。

重申一下,这是非批量学习(因此回报与训练步骤中另一个情节的回报无关)。每一集之后,模型都会训练,而且训练得很好:)

希望这是有道理的,并且足够短,感觉像是一个适当的明确问题。

python machine-learning reinforcement-learning tensorflow

4
推荐指数
2
解决办法
6225
查看次数

进化策略和强化学习之间的区别?

我正在学习机器人强化学习中采用的方法,并遇到了进化策略的概念。但我无法理解 RL 和 ES 有何不同。谁能解释一下?

robotics reinforcement-learning evolutionary-algorithm deep-learning

4
推荐指数
1
解决办法
1710
查看次数

为什么设置“export OPENBLAS_NUM_THREADS=1”会损害性能?

我尝试按照本文档的建议设置“export OPENBLAS_NUM_THREADS=1” 。但我发现一个奇怪的现象,设置这个会显着损害我的 RL 算法的性能(我对 TD3 和 SAC 做了一些测试,所有结果一致表明“导出 OPENBLAS_NUM_THREADS=1”会损害性能)。为什么会造成这么大的问题呢?

顺便说一句,算法是使用 Tensorflow1.13 实现的,数据通过tf.data.Dataset输入神经网络。所有测试均在OpenAI Gym 的BipedalWalker-v2环境中完成。

python multithreading reinforcement-learning openblas tensorflow

4
推荐指数
1
解决办法
1万
查看次数

如何在 Q-learning 中计算 MaxQ?

我实现了 Q 学习,特别是贝尔曼方程。贝尔曼方程

我正在使用网站上的版本来指导他解决问题,但我有问题:对于 maxQ,我是否使用新状态(s')的所有 Q 表值来计算最大奖励 - 在我的情况下有 4 种可能动作(a'),每个动作都有各自的值,或者是采取动作(a')时所有位置的Q表值的总和?

换句话说,我是使用我可以采取的所有可能操作中的最高 Q 值,还是使用所有“相邻”方块的 Q 值之和?

c++ reinforcement-learning q-learning

4
推荐指数
1
解决办法
1304
查看次数

在任意初始状态下启动 OpenAI 健身房

有人知道我们可以设置游戏初始状态的任何 OpenAI Gym 环境吗?例如,我发现 MountainCarContinuous-v0 可以做这样的事情,以便我们可以选择汽车启动的时间点。但是,我正在寻找另一个更复杂的环境。在此先感谢您的帮助!

reinforcement-learning openai-gym

4
推荐指数
1
解决办法
494
查看次数

RuntimeError(“只能为标量输出隐式创建 grad”)

我有以下用于训练 A3C 的训练函数代码。我陷入了以下错误。

RuntimeError("grad can be implicitly created only for scalar outputs")
Run Code Online (Sandbox Code Playgroud)

在线(policy_loss + 0.5 * value_loss).backward()

这是我的代码,有人可以帮忙检查一下这段代码有什么问题吗?

def train(rank, params, shared_model, optimizer,ticker):
torch.manual_seed(params.seed + rank) # shifting the seed with rank to asynchronize each training agent
print(ticker)
try:
    ohlcv = pd.read_csv(ticker + '.csv')
    data = ohlcv.copy()
    data['rsi'] = ab.RSI(data['Close'],14)
    data['adx'] = ab.ADX(data,20)
    data = ab.BollBnd(data,20)
    data['BBr'] = data['Close']/data['BB_dn']
    data['macd_signal'] = ab.MACD(data)
    data['macd_r'] = data['macd_signal']/data['Close']
    data['ema20'] = ab.EMA(np.asarray(data['Close']), 20)
    data['ema20_r'] = data['ema20']/data['Close']
    data['Close'] = data['Close']/data['Close'].max()
    data = data.iloc[:,[4,7,8,13,15,17]]
    data …
Run Code Online (Sandbox Code Playgroud)

python reinforcement-learning pytorch

4
推荐指数
1
解决办法
1万
查看次数

COLAB 上“gym.envs.box2d”的强化学习问题没有属性“LunarLander”

我可以在 Colab 中做什么来使用 OPENAI-gym 的环境“LunarLander-v2”。我已经安装了BOX2Dbox2d-py但总是返回相同的错误:

AttributeError: module 'gym.envs.box2d' has no attribute 'LunarLander'
Run Code Online (Sandbox Code Playgroud)

这段话在我的本地机器上有效,但在 Colab 上不行。有什么解决办法吗?

版本:Python:3.6 - 健身房:0.17.2 - BOX2D:2.3.10

reinforcement-learning python-3.x openai-gym google-colaboratory

4
推荐指数
1
解决办法
1万
查看次数

无头服务器 Opengym AI 渲染使用 ray 时出错

使用ray进行分布式计算时,所有服务器都是无头的(无显示)。因此,使用“xvfb-run -s \xe2\x80\x9c-screen 0 1400x900x24\xe2\x80\x9d”来创建 screen.

\n

出现错误\npyglet.canvas.xlib.NoSuchDisplayException:无法连接到\xe2\x80\x9cNone\xe2\x80\x9d

\n

如果没有光线,仅使用 1 台机器,此命令可以完美运行。\n"xvfb-run -s \xe2\x80\x9c-screen 0 1400x900x24\xe2\x80\x9d

\n

总之,xvfb-run 不适用于光线分布。

\n

Ray 是否需要额外的配置才能实现这一点?还有其他方法可以克服这个错误吗?我正在开发开放健身房人工智能的赛车环境,它会触发渲染。

\n

reinforcement-learning ray serve openai-gym

4
推荐指数
1
解决办法
1062
查看次数

如何在 Windows 上安装 mujoco-py?

我尝试运行以下代码来测试 HalfCheetah-v2 环境:

import gym
env = gym.make('HalfCheetah-v2')
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误:ModuleNotFoundError:没有名为“mujoco_py”的模块

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    env = gym.make('HalfCheetah-v2')
  File "C:\Users\Amine\AppData\Roaming\Python\Python36\site-packages\gym\envs\registration.py", line 145, in make
    return registry.make(id, **kwargs)
  File "C:\Users\Amine\AppData\Roaming\Python\Python36\site-packages\gym\envs\registration.py", line 90, in make
    env = spec.make(**kwargs)
  File "C:\Users\Amine\AppData\Roaming\Python\Python36\site-packages\gym\envs\registration.py", line 59, in make
    cls = load(self.entry_point)
  File "C:\Users\Amine\AppData\Roaming\Python\Python36\site-packages\gym\envs\registration.py", line 18, in load
    mod = importlib.import_module(mod_name)
  File "C:\Program Files\Python36\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File …
Run Code Online (Sandbox Code Playgroud)

reinforcement-learning openai-gym mujoco

4
推荐指数
1
解决办法
7937
查看次数