9得票1回答
为什么要解压OpenAI Gym?

我正在尝试使用openAI gym作为学习环境,以便了解强化学习。我通过阅读《Python实践强化学习》一书来达到这个目的。该书提供了一些代码。通常情况下,代码无法正常工作,因为我需要先进行展开操作,如openai gym env.P, AttributeError 'TimeLimit' o...

18得票2回答
如何使用Keras手动更新权重。

我正在使用Keras构建一个LSTM,并通过使用外部代价函数进行梯度下降来进行调整。因此,权重将被更新为:weights := weights + alpha* gradient(cost) 我知道可以用keras.getweights()获取权重,但如何进行梯度下降并更新所有权重以及相应地更...

20得票1回答
了解梯度策略推导

我正在尝试重新创建Policy Gradient的非常简单的示例,源自Andrej Karpathy博客。在那篇文章中,你会发现一个使用CartPole和权重列表以及Softmax激活的Policy Gradient示例。这是我重新创建的非常简单的CartPole策略梯度示例,完美运行。 i...

8得票5回答
OpenAI gym:如何获取CartPole-v0中的像素

我想在不打开渲染窗口的情况下,访问 OpenAI Gym 的 CartPole-v0 环境中的原始像素。我该怎么做? 示例代码: import gym env = gym.make("CartPole-v0") env.reset() img = env.render(mode='rgb_...

7得票1回答
在TensorFlow中,有没有一种简单的方法来实现一个Optimizer.Maximize()函数?

有几个实验是依赖于梯度上升而不是梯度下降的。我已经研究了一些使用“成本”和最小化函数来模拟“最大化”函数的方法,但我仍然不确定如何正确地实现maximize()函数。此外,在这些情况下,我会说它们更接近于无监督学习。因此,考虑到这个成本函数的代码概念: cost = (Yexpected -...

9得票3回答
被困在理解TD(0)和TD(λ)更新用途之间的区别中。

我正在学习来自这篇文章的时间差异学习。我理解了TD(0)的更新规则,但在TD(λ)中,我不明白如何在单个更新中更新所有先前状态的效用值。 下面是用于比较两种更新的图示: 上面的图表解释如下: 在TD(λ)中,由于资格痕迹,结果会向所有以前的状态传播。 我的问题是,即使我们使用具有资...

146得票8回答
Q学习和SARSA有何区别?

虽然我知道SARSA是on-policy算法,而Q-learning是off-policy算法,但是当我看它们的公式时,很难(对我来说)看出这两个算法之间的任何区别。 根据书籍Reinforcement Learning: An Introduction(作者为Sutton和Barto),在...

10得票2回答
如何创建一个具有多个特征的OpenAI Gym观测空间

使用Python3.6、Ubuntu 18.04、Gym 0.15.4、RoS Melodic、Tensorflow 1.14以及rl_coach 1.01: 我构建了一个自定义的Gym环境,将一个由360个元素组成的数组用作observation_space。 high = np.arr...

7得票5回答
如何运行Sutton和Barton的“强化学习”Lisp代码?

最近我一直在阅读强化学习方面的内容,我发现"强化学习:导论"是一本非常好的指南。作者还提供了源代码作为他们许多实例的帮助。 在开始问题之前,我应该指出我的Lisp实践知识很少。我知道基本概念和它的工作原理,但我从来没有真正有意义地使用过Lisp,所以我可能只是做了一些极其新手的事情。 :) ...

19得票2回答
如何有效利用GPU进行强化学习?

最近我研究了强化学习,有一个问题一直困扰着我,我找不到答案:使用GPU如何有效地进行培训?据我所知,需要与环境进行不断的交互,这对我来说似乎是一个巨大的瓶颈,因为这个任务通常是非数学/不可并行化的。然而,例如Alpha Go使用多个TPU / GPU。那他们是如何做到的?