问题标签 [dqn]

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 投票
0 回答
102 浏览

reinforcement-learning - 了解强化学习中的奖励功能(atari 突破)

我试图了解 Deepmind 实现的 Breakout atari 中的奖励功能。我对奖励有点困惑。它们使用四帧表示每个状态,并且取决于每个动作的奖励将在四帧后收到。我的问题是,如果球被卡住了怎么办,它在哪里获得了很多奖励,如何确定获得奖励的相同动作是导致更多奖励的原因?

我正在谈论的案例

在此处输入图像描述

0 投票
1 回答
171 浏览

tensorflow - 如何使用经过训练的 RL 模型进行预测?

我想使用我训练有素的 RL 模型进行离散测试预测。

这是模型的构建方式:

动作空间是一个离散值。观察空间是一个简单的浮点值:

测试功能运行良好:

但是当我这样做时:

我收到此错误:

ValueError:密集层的输入0与层不兼容::预期的min_ndim = 2,发现ndim = 0。收到的完整形状:()

它是做出预测的正确方法吗?输入数据应该是什么样的?

0 投票
0 回答
41 浏览

tensorflow - 如何使用自定义 TF 回调打印出经过测试的 openai 健身房环境的状态?

这是我的功能:

我从https://www.tensorflow.org/guide/keras/custom_callback

我有一个用于训练我的 DQN 的标准 openai 健身房环境:

如果可能的话,我想从回调类中绘制sum(self.state.values())的值。我想了解如何将这些值传递给方法中的回调类:

0 投票
0 回答
150 浏览

pytorch - 加载保存的模型和优化器以测试 pytorch

我在 ubuntu 18.04 上使用 torch==1.7.1

我想要做的是训练一个强化学习代理并将其发送到另一台服务器,因此训练有素的代理可以立即播放。

我一直在关注https://pytorch.org/tutorials/beginner/saving_loading_models.html但是需要澄清一下。

完成所有培训后,我通过以下方式保存了代理、优化器:

现在,我已将此保存的文件发送到不同的服务器并加载它,如下所示:

我只想确定一件事。在训练阶段的代理实例和优化器创建期间,我使用实例化了优化器agent.parameters()

所以我的问题是我需要

  1. load_state_dict 到代理,然后使用 agent.parameters() 实例化优化器
  2. 只是在加载 load_state_dict 到代理之前实例化优化器?
  3. 没关系。

提前致谢。

0 投票
1 回答
41 浏览

python - 加载的 keras 模型没有预测方法

在DQN算法中,agent训练成功,模型保存为.h5文件。代理类有一个方法调用load如下:

我尝试通过创建new_model如下来运行评估步骤:

new_model没有任何方法,如predict.

0 投票
0 回答
49 浏览

ray - Ray rllib 自定义训练流程

我想细化算法的步骤:默认情况下,动作选择为:

a = argmax Q(f(s), a; teta)

然后计算从旧状态到新状态的转换。然后将旧状态、动作、奖励和新状态存储在缓冲区中。

我想更改 get 操作函数并使其看起来像这样:

我该如何定制这个?

0 投票
0 回答
119 浏览

python - 模型输出 "Tensor("activation_9/activation_9/Identity:0", shape=(?, 6), dtype=float32)" 的形状无效

我在尝试构建 DQN 模型时收到此错误,但我收到此错误:

我在 keras-rl 和 tensorflow 中的版本有一些问题,所以这些是我正在使用的版本:

张量流==1.13.1

Keras==2.2.4

keras-rl2==1.0.4

代码如下所示:

我正在使用 tensorflow==1.13 因为我也有以下_keras_shape问题DQNAgent

有人可以告诉我我做错了什么吗?

0 投票
1 回答
665 浏览

python - 对于尺寸为 1 的维度 0,索引 1 超出范围

我开始学习DQN,并且我正在尝试自己FrozenLake-v0从头开始解决问题并使用Pytorch,因此我将放置整个代码,因为它已连接。

第二类是代理,问题出在学习函数上

nd 类是代理,问题出在学习函数上

现在当我运行以下代码时出现问题,它在学习阶段给我一个错误,它给了我这个错误index 1 is out of bounds for dimension 0 with size 1.

我认为问题出在 NN 和代理类之间的值的形式上,但我无法弄清楚问题所在。

错误回溯:

0 投票
0 回答
123 浏览

python - 我尝试使用带有 OpenAI gym Environment 的 pytorch 实现 DQN。但是我的episode_rewardis减少了。为什么?

这是我的代码

网络输入是状态(4d),输出是Q值(2d)

我使用双端队列的体验回放

火车

我使用一个简单的网络来近似 Q 函数。我使用经验回放。我遇到的麻烦是,随着我的训练,episode_rewardis 正在减少。

0 投票
1 回答
453 浏览

python - 凯拉斯 RL。训练后强化模型

我想在健身房环境中初步训练我的强化学习模型,然后将其部署到真实环境中以继续在真实环境中进行强化学习。

我正在使用 TF、Keras RL + gym 进行初始训练,代码如下 管理它的方法是什么?迷失在谷歌搜索中

我的猜测是,在真实环境中,我应该有 2 个代理,一个用于预测,另一个用于进一步训练。 训练代理应该基于运行时收集的状态动作样本工作,然后这个新的训练模型应该合并到预测模型中。如果它是正确的假设,它如何实现?