q-learning

    1热度

    1回答

    我正在使用Keras进行深q学习的实验,并且我想要教授代理来执行任务。在我的问题 我wan't教的试剂,以避免撞击物体在它的路径,通过改变它的速度(加速或减速) 所述试剂水平移动和对象以避免在垂直方向移动的,我不要他学会改变速度以避免击中它们。 我基于我对这个代码:Keras-FlappyBird 我试图3个不同模型(我不使用卷积网络) 模型与S形的激活函数10密隐藏层,用400输出节点 模型与L

    0热度

    2回答

    学习者可能正处于训练阶段,在那里它会更新一堆时代的Q表。 在这个阶段,Q表会更新为gamma(贴现率),学习率(alpha),并且动作将由随机动作率选择。 经过一段时间后,当奖励变得稳定后,让我称之为“训练完成”。那么在那之后我必须忽略这些参数(伽马,学习率等)吗? 我的意思是,在训练阶段,我从Q-表像这样的动作: if rand_float < rar: action = rand.r

    1热度

    1回答

    我正在开发自驾车计划的代码。我在我的choose_action函数中遇到问题。代理应该从选择的有以下步骤最高Q值的动作选择随机行动: “其他: 行动= maxQaction” 但我现在写的方式,每次只会选择相同的动作。任何人都可以建议如何随机选择最高的Q值,也许我可以使用列表。 Code: import random import math from environment import A

    1热度

    2回答

    我做了一个简单版本的曲线发烧,也被称为“Achtung Die Kurve”。我想让机器弄清楚如何最佳地玩游戏。我从谷歌的Tensorflow制作的一些Atari游戏例子中复制并略微修改了现有的DQN。 我想找出一个合适的奖励功能。目前,我用这个奖励设置: 0.1每一帧它不会崩溃 -500每次崩溃 这是正确的做法?我需要调整值吗?或者我需要一个完全不同的方法?

    0热度

    1回答

    我确实了解政策梯度网络中的反向传播,但我不确定如何与自动区分的库协同工作。 也就是说,他们如何将它转换成监督学习问题。 例如,下面的代码: Y = self.probs + self.learning_rate * np.squeeze(np.vstack([gradients])) 为什么为Y为动作不1-热矢量取? 他正在计算假设动作正确的梯度,Y是一个热点向量。然后他在相应的时间步骤中乘以

    0热度

    1回答

    我有一个500 * 500的网格有7个不同的惩罚值。我需要制作一个RL代理,其行动空间包含11个动作。 (左,右,上,下,4个对角线方向,加速,减速和正常速度)。我怎么解决这个问题? 选择的“执行操作”的概率为0.8。否则,会选择一个随机动作。而且,惩罚值可以动态改变。

    0热度

    1回答

    我正在尝试为AI中的问题编写深度q-学习网络。我有一个函数predict(),它产生一个形状(None, 3)的张量,输入形状(None, 5)。 (None, 3)中的3对应于每个状态下可以采取的每个动作的q值。现在,在训练步骤中,我必须多次呼叫predict(),并使用结果计算成本并训练模型。为此,我还有另一个可用的数据数组,名为current_actions,它是一个列表,其中包含以前迭代中

    0热度

    1回答

    我正在学习Q-Learning,并试图在OpenAI Gym的FrozenLake-v0问题上构建Q-learner。由于问题只有16个状态和4个可能的操作,所以它应该相当容易,但看起来像我的算法没有正确更新Q表。 以下是我的Q学习算法: import gym import numpy as np from gym import wrappers def run( env,

    1热度

    1回答

    我在开放式健身房的mountain car problem中实施DQN。这个问题很特殊,因为积极的回报非常稀少。所以我想到了这个paper by google deep mind中提出的优先体验重播。 但是也有一些困惑我某些事: 我们如何存储回放存储器。我得到那我是过渡的优先事项,有两种方式,但这是什么P(我)? 如果我们按照给定的规则不会P(i)每次添加样本都会改变。 当它说“我们根据此概率分布

    0热度

    1回答

    我想用Q学习训练CatPole-V0喂养tensorflow占位符。当试图更新用丰富的经验,我收到以下错误重传缓冲器: ValueError: Cannot feed value of shape (128,) for Tensor 'Placeholder_1:0', which has shape '(?, 2)' 相关的代码片段是: def update_replay_buffer(re