首页 文章
  • 0 votes
     answers
     views

    如何列出OpenAI健身房中每个州的可能继承状态? (严格用于普通MDP)

    有没有办法迭代每个状态,强制环境进入该状态,然后采取一个步骤然后使用返回的“info”字典来查看所有可能的后继状态是什么? 或者更简单的方法来恢复每个州的所有可能的后继状态,也许隐藏在某个地方? 我在网上看到一些名为MuJoKo的东西有类似set_state的功能,但是我不想创建一个新环境,我只想设置openAi gym已经提供的状态 . 上下文:尝试实现拓扑顺序值迭代,这需要创建一个图形,其中每...
  • 0 votes
     answers
     views

    OpenAI健身房0.10.9 'module'对象没有属性'benchmark_spec'

    benchmark = gym.benchmark_spec('Atari40M') AttributeError:'module'对象没有属性'benchmark_spec' 我刚拿到健身房这个错误-0.10.9 . 任何的想法?谢谢
  • 0 votes
     answers
     views

    Value 迭代不收敛 - 马尔可夫决策过程

    我遇到的问题是我从执行值迭代得到的结果,数字增加到无穷大,所以我假设我的逻辑中有一个问题 . 最初我有10x10网格,一些奖励为10,有些奖励为-100,有些奖励为0.没有终端状态 . 代理可以执行4个非确定性操作:向上,向下,向左和向右移动 . 它有80%的机会沿所选方向移动,并有20%的机会垂直移动 . 我的过程是循环以下: 对于每个图块,计算该图块中最佳动作的值 例如,计算从给定图块向北...
  • 0 votes
     answers
     views

    用于python强化学习的模拟和可视化库?

    我知道keras,阻止nn的其他几个Python库,其中包括RL . 但是有一个库可以使可视化的任务变得容易吗?在代理/环境的3D模型方面,看模拟等......我可以在网上看到一些RL视频,显示模拟的代理/环境,但要么他们从头开始制作视觉模型,要么使用其他语言/技术......(或者他们很老)
  • 1 votes
     answers
     views

    使用softmax进行Keras强化训练

    我正在研究的项目使用REINFORCE算法进行强化学习阶段 . 使用的模型具有最终的softmax激活层,因此使用负学习率作为负奖励的替代 . 我对这个过程有一些疑问,并且找不到很多关于使用负学习率的文献 . 加强学习是否与正负转换学习率有关?如果没有什么是更好的方法,摆脱softmax或有keras一个不错的选择吗? 损失函数: def log_loss(y_true, y_pred): ...
  • 126 votes
     answers
     views

    如何训练人工神经网络使用视觉输入玩暗黑破坏神2?

    我正在努力让人工神经网络玩电子游戏,我希望能从这里的精彩社区获得一些帮助 . 我已经确定了暗黑破坏神2 . 因此,游戏玩法是实时的,并且从等角度的角度来看,玩家控制着摄像机所在的单个化身 . 为了使事情具体化,任务是获得你的角色x经验值,而不将其生命值降为0,通过杀死怪物获得经验值 . 以下是游戏玩法的示例: 现在,由于我希望网络仅基于屏幕上的像素获取的信息进行操作,因此必须学习非常丰富的表示以...
  • 13 votes
     answers
     views

    如何使用Tensorflow Optimizer而不重新计算在每次迭代后返回控制的强化学习程序中的激活?

    编辑(1/3/16):corresponding github issue 我正在使用Tensorflow(Python接口)来实现一个q-learning代理,其函数逼近使用随机梯度下降进行训练 . 在实验的每次迭代中,调用代理中的步骤函数,其基于新的奖励和激活来更新近似的参数,然后选择要执行的新动作 . 这是问题(加强学习术语): 代理计算其状态 - 操作值预测以选择操作 . 然后控制...
  • 0 votes
     answers
     views

    可视化强化学习代理的进度

    随着培训的继续,我已经看到很多帖子可视化强化剂的改进 . 他们通常追踪所有奖励的总和或胜率的移动平均值,但我认为我从未读过它们是如何实际做到的 . 我应该将所有会话的结果导出到CSV文件,然后将其可视化吗?当然,可视化部分并不困难,但我一直想知道他们是如何首先收集数据的 .
  • -1 votes
     answers
     views

    Q学习Techniuqe没有陷入火灾

    请看下面的图片: 我的目标是代理在环境中旋转和移动而不是落入火孔中,我想这样: Do for 1000 episodes: An Episode : start to traverse the environment; if falls into a hole , back to first place ! 所以我已经阅读了一些内容:目标是一集的终点,所以如果我们认为目标不是火上浇油,那么目标...
  • 1 votes
     answers
     views

    如何撤消OpenAI Gym中的操作?

    在OpenAI Gym中,我想知道同一状态下不同操作的下一个状态 . 例如,我想得到s_1,s_2我的环境的动态是: (s, a_1) -> s_1, (s, a_2) -> s_2 我找不到一个撤消动作的方法,或者在不改变环境的情况下向我显示下一个状态 . 有什么明显的东西让我失踪吗? 如果它有帮助,我这样做是为了区分LQR的动态和奖励,并使用InvertedPendulum环境 ...
  • 2 votes
     answers
     views

    OpenAI gym:如何获得完整的ATARI环境列表

    我安装了OpenAI gym 和ATARI环境 . 我知道我可以在_732717中找到所有ATARI游戏,但有没有办法在Python中执行此操作, without 打印任何其他环境(例如,不是经典的控制环境)
  • 0 votes
     answers
     views

    强化学习中的无效动作

    我已经为类似于http://curvefever.io/的游戏实施了一个自定义的openai健身房环境,但是采取了谨慎的行动而不是连续的行动 . 因此,我的代理人可以在每个步骤中进入左/上/右/下四个方向中的一个 . 然而,其中一个动作总会导致代理崩溃,因为它不能"reverse" . 目前我只是让代理人采取任何行动,如果它做出无效动作就让它死掉,希望它最终会学会在那个状态下不...
  • -1 votes
     answers
     views

    为什么openai健身房会为终端州提供零奖励? [关闭]

    我最近一直在试验 Gym (和RL),健身房的一个特定行为激起了我的兴趣 . 为什么即使游戏结束,OpenAI Gym也会返回奖励0?例如,在Breakout-v0中,当花费所有五个生命时,env.step将返回 done=True 和 reward=0 . 我们不应该通过返回负面强化/奖励通知经纪人这样的状态是不利的吗? 此外,对于环境中的每一步(仍然是Breakout-v0),如果当时没有砖...
  • 2 votes
     answers
     views

    如何实现Q学习以近似最优控制?

    我有兴趣实现Q学习(或某种形式的强化学习)来找到最佳协议 . 目前,我有一个用Python编写的函数,我可以在其中接受协议或“动作”和“状态”并返回一个新状态和一个“奖励” . 但是,我很难找到可以在这种情况下使用的Q-learning的Python实现(即可以学习该功能的东西,就好像它是一个黑盒子) . 我看过OpenAI健身房,但这需要编写一个新的环境 . 有人会知道我可以采用的更简单的包或脚...
  • 1 votes
     answers
     views

    当我的计算机无法识别或定位健身房时,如何功能性地使用OpenAI Gym?

    我一直在尝试使用健身房几周 . 但是,我没有成功 . 我正在尝试运行CartPole的这个实现,但是我收到了一个返回错误: NotImplementedError:abstract 据我所知,我已经安装了健身房 . 但是,无论出于何种原因,我在尝试访问它时没有任何功能 . import gym env = gym.make('CartPole-v0') for i_episode in ra...
  • 2 votes
     answers
     views

    如何学习马尔可夫决策过程中的奖励功能

    在Q-learning期间更新R(s)功能的适当方法是什么?例如,假设代理人五次访问状态s1,并获得奖励[0,0,1,1,0] . 我应该计算平均奖励,例如R(s1)= sum([0,0,1,1,0])/ 5?或者我应该使用移动平均线来为该州最近收到的奖励值提供更大的权重吗?我读过的关于Q学习的大多数描述都将R(s)视为某种常数,并且似乎永远不会涵盖随着经验的积累你如何随着时间的推移学习这个 Va...
  • 3 votes
     answers
     views

    对网格世界的政策迭代背后的直觉

    我应该想出一个MDP代理,它使用策略迭代和值迭代进行赋值,并将其性能与状态的效用值进行比较 . MDP代理如何知道转移概率和奖励,知道要移动哪个动作? 根据我的理解,MDP代理将执行策略迭代,并且在给定策略的情况下,计算在达到终止状态时获得的奖励 . 此策略是从值迭代算法开发的 . 有人能为政策迭代的工作方式提供一些直觉吗?
  • 3 votes
     answers
     views

    Q学习:改变环境后重新学习

    我已经在一个大小(n x n)的网格上实现了Q学习,中间只有一个奖励100 . 代理人通过以下机构学习1000个历元以达到目标:他以概率0.8选择具有最高状态 - 动作 - 值的移动并选择随机移动0.2 . 移动后,状态动作值由Q学习规则更新 . 现在我进行了以下实验:除了底部的邻居之外,目标旁边的所有字段都获得-100的奖励 . 在学习了1000个时代之后,代理人明显避免走向最高位并且最频繁地从...
  • 0 votes
     answers
     views

    理解政策和 Value 功能强化学习

    你有一个政策,它实际上是我所有州的行动的概率分布 . Value 函数决定了实现最高回报的最佳行动方案 . 所以我有一个随机的政策 . 我得到了 Value 功能 . 我根据值函数使用新的分发更新我的策略 . 我获得了这个新更新策略的值函数,并再次重新评估 . 根据这个定义,我无法理解 Value 迭代将如何运作,我认为这是对 Value 函数的误解 . Value 函数不是最好的行动方案,它只...
  • 1 votes
     answers
     views

    强化学习中 Value 迭代的基本案例

    我正在尝试为'3x4 windy gridworld'MDP实现值迭代,并且在理解Bellman方程及其实现方面遇到了麻烦 . 我正在使用的贝尔曼方程的形式就是这个 假设这是我正在使用的网格字,我想找到标记为X的图块的值( U(s) ) . (来自this视频的图像快照) 所有瓦片的奖励期望终端瓦片被定义为零,并且还假设如果试图在特定方向上进行移动,则实际移动将以直角发生的可能性很小 . 预期...
  • 1 votes
     answers
     views

    DQN - Q-Loss没有收敛

    我正在使用DQN算法在我的环境中训练代理,如下所示: 代理通过选择离散动作(左,右,上,下)控制汽车 目标是以所需的速度行驶而不会撞到其他车辆 状态包含代理商的汽车和周围汽车的速度和位置 奖励:-100用于撞入其他车辆,根据所需速度的绝对差值给出正奖励(如果以所需速度行驶,则为50) 我已经调整了一些超参数(网络架构,探索,学习率),它给了我一些下降的结果,但仍然没有它应该/可...
  • 1 votes
     answers
     views

    MDP和强化学习 - VI,PI和Q学习算法的收敛性比较

    我已经使用python实现了VI(Value Iteration),PI(Policy Iteration)和QLearning算法 . 比较结果后,我发现了一些东西 . VI和PI算法汇聚于相同的实用程序和策略 . With same parameters, QLearning algorithm converge to different utilities, but same poli...
  • 0 votes
     answers
     views

    Q学习收敛和局部最优问题

    我是强化学习(RL)和特别是Q学习的新手 . 我有一组20个州和9个行动 . 我的目标是从一些随机状态开始,通过执行操作以最短的步数到达最终的第20个状态 . 我正在尝试使用Q-learning来解决这个问题 . states: [20,22,24,....,40,44 ......,50 .... 60] 20个州actions: [( - ,),( - ,0),( - , - )........
  • 1 votes
     answers
     views

    tensorflow在一台计算机上并行化训练

    我有一台带有一个cuda启用的gpu和一个8核心cpu的计算机 . 我正在尝试实施用于强化学习的A3C算法,该算法将图形和训练环境并行化并将梯度更新同步到全局图形 . 我正在尝试使用分布式tensorflow api来执行此操作: # Hyperparameter definition ########################################################...
  • 8 votes
     answers
     views

    TensorFlow:图形优化(GPU与CPU性能)

    此问题最初发布于Github #3320 . 最好从那里开始,因为在该线程中有更多关于原始问题的细节而且体积庞大,所以我不希望在StackOverflow上重新发布 . 问题摘要是使用GPU时性能比CPU处理TensorFlow图表要慢 . 包含CPU / GPU时间轴(调试)以进行评估 . 其中一条评论涉及优化图表以加速处理,并要求讨论玩具示例 . “ Original Solution ”是...
  • 0 votes
     answers
     views

    如何在没有目标数据的情况下训练Keras序列模型?

    我正在尝试使用Keras为时间序列数据构建1Dconvolution模型 . 但是,在这种情况下,我想使用强化学习方法 . 这样,我不需要目标数据,因为我使用自定义损失函数来根据前一步的输出计算损失 . 然后优化器将努力减少自定义损失 . 在我的场景中,epochs batch_size等于1,梯度将在每个样本输入后立即反向传播 . 问题:Keras中的model.fit()需要输入和目标输出来计...
  • 59 votes
     answers
     views

    用强化学习训练神经网络

    我知道前馈神经网络的基础知识,以及如何使用反向传播算法训练它们,但我正在寻找一种算法,而不是我可以用来通过强化学习在线训练ANN . 例如,cart pole swing up问题是我知道应该如何控制钟摆的问题,我只知道我与理想位置有多接近 . 我需要根据奖励和惩罚来学习ANN . 因此,监督学习不是一种选择 . 另一种情况类似于snake game,其中反馈被延迟,并且仅限于目标和反目标,而不是...
  • 4 votes
     answers
     views

    强化学习 - 如何走出'sticky'州?

    The problem: 我已经训练了一个代理人在网格世界中执行一项简单的任务(在没有碰到障碍物的情况下进入网格顶部),但似乎总是会出现以下情况 . 它发现自己处于状态空间的一个简单部分(没有障碍物),因此不断获得强大的正强化信号 . 然后当它确实发现自己是状态空间的困难部分(楔入两个障碍物旁边)时,它只是选择与之前相同的动作,没有效果(它上升并击中障碍物) . 最终,此值的Q值与负值奖励相匹配,...
  • 4 votes
     answers
     views

    在NetLogo中实施强化学习(在多智能体模型中学习)

    我正在考虑在我的模型中为不同类型的代理实施学习策略 . 说实话,我仍然不知道我应该先问什么样的问题或从哪里开始 . 我有两种类型的代理人,我希望他们通过经验来学习,他们有一系列的行动,根据可能发生的具体情况,每个行动都有不同的奖励 . 我是强化学习方法的新手,因此欢迎任何有关我应该问自己的问题的建议:) 以下是我如何制定我的问题: 代理商有生命周期,他们会跟踪一些对他们而言重要的事情,这些指标...
  • 1 votes
     answers
     views

    设置自定义变量以加强学习

    我提前道歉这可能是一个很长的问题,但是我试着用它来缩短它 . 也是一个小小的免责声明,我是机器学习的新手,并且只研究它大约2周,我理解神经网络的基础知识和张量流程编程以及强化学习如何工作但我所学到的一切都没有帮助我足以应付我的情况 . 在所有强化的学习示例中,我看到他们都使用基于环境的状态和奖励(通常来自vizdoom或openai gym(这是一个Windows用户我不能使用atari或宇宙没有...

热门问题