问题标签 [reinforcement-learning]

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 投票
4 回答
2211 浏览

r - R中的n臂老虎机模拟

我正在使用 Sutton & Barto 的电子书强化学习:强化学习研究简介。我在尝试模拟action-value page上的结果(图)时遇到了一些问题。

更具体地说,如何模拟greedy每个任务的价值?书上说:

...我们可以绘制各种方法的性能和行为,因为它们随着超过 1000 次播放的经验而改进...

所以我想我必须跟踪探索性价值,因为找到更好的价值。问题是如何使用贪婪方法来做到这一点 - 因为没有探索性的举动,我怎么知道什么是贪婪行为

感谢所有的评论和回答!

更新:请参阅我的答案中的代码。

0 投票
2 回答
369 浏览

reinforcement-learning - 没有后继状态的强化学习

我试图提出一个问题作为强化学习问题。我的困难是代理所处的状态是随机变化的。他们必须简单地在他们所处的状态中选择一个动作。我想根据他们因执行动作而获得的奖励来学习所有状态的适当动作。

问题:

这是特定类型的 RL 问题吗?如果没有后继状态,那么如何计算状态的价值?

0 投票
0 回答
323 浏览

python - 运行 pyBrain NFQ 学习器几分钟后出现内存错误

O。

使用 pyBrain 的强化学习,我们正在尝试解决一个游戏。我们使用 NFQ 和 ActionValueNetwork 作为控制器。我们有我们的自制任务,并且正在使用 pyBrain 的实验设置进行训练。我们的代理在每一集后都会重置。

我们看一集的方式是在一个级别上运行。每一集我们都调用experiment.doInteractions() 直到关卡返回失败或完成。之后我们执行 agent.learn() 和 agent.reset()

起初我们认为这个错误是由于运行一集太长而导致内存溢出。当我们第一次遇到错误时,我们插入的移动最大值为 10.000。我现在将它降低到 50,这使得程序可以运行更多集,但仍然出现错误。

这使我们相信问题不是移动的数量,而是累积的历史被保存在某个地方并过度增长其允许的内存大小。我们相信 agent.reset() 会从内存中清除所有历史记录,不是吗?我们可以阻止历史被保存在某个地方吗?

或者有人有其他建议吗?

编辑:这是异常跟踪。

0 投票
1 回答
1453 浏览

artificial-intelligence - 如何计算强化学习中的价值函数

任何人都可以帮助解释如何生成以下价值函数,附上问题和解决方案,我只是不知道解决方案是如何生成的。谢谢你! 问题

解决方案

仍然需要帮助!

0 投票
1 回答
317 浏览

artificial-intelligence - 如何应用强化学习?

我在概念上理解它。你有一个代理和一个环境。然后你有一组状态,每个状态都有一个值。然后代理选择“探索”或“利用”并根据发生的情况修改其知识。

我的问题是我似乎无法弄清楚如何将其实际应用于代码或任何实际问题。每次我查找它时,我最终都会得到相同的几个方程,而没有解释如何使用它们。

我正在尝试为俄罗斯方块编写 RL 代理,但我似乎无法弄清楚。如果有人可以 ELI5 那就太好了。

我怎么知道应该把什么作为一个状态?行动呢?调整值所涉及的实际数学是什么?这一切都太混乱了。

如果有人可以帮助我,我将不胜感激。谢谢 :)

0 投票
2 回答
1841 浏览

machine-learning - Q-learning(多目标)

我刚刚开始学习 Q-learning,并看到使用 Q-learning 解决我的问题的可能性。

问题:我应该检测某种数据组合,我有四个矩阵作为系统的输入,我已经对输入进行了分类(每个输入可以是低 (L) 或高 (H) )。我需要检测某些类型的输入,例如 LLLH、LLHH、HHHH 等

注意:1)LLLH表示L中的第一个输入,第二个输入是L,第三个输入是L,第四个输入是H!2)我已将每种类型的输入类型标记为状态,例如 LLLL 是状态 1,LLLH 是状态 2,依此类推。

我在 Q-learning 中研究的是,大多数时候你有一个目标(只有一个状态作为目标),这使得代理更容易从 R-matrix 学习和创建 Q-matrix。现在在我的问题中我有很多目标(许多状态作为目标并且需要被检测到)。我不知道如何设计状态,如何通过有很多目标来创建奖励矩阵以及代理将如何学习。你能帮我在这种情况下如何使用 Q-learning。考虑到我在 20 多个州有 16 个进球!

正如我上面提到的,我知道什么是 q-learning,状态和目标是如何工作的,Q_matrix 的计算(它是如何学习的)......但问题是现在我有很多目标,我真的不知道如何将我的问题与 q-learning 联系起来。我需要多少个状态,以及如何标记奖励,因为我有很多目标。

我至少需要有关如何创建具有多个目标的奖励矩阵的帮助

0 投票
0 回答
638 浏览

java - Encog:强化学习/Actor-Critic 模型

我有一个基本的神经网络问题,我想要一个“火箭”将它的高度保持在给定的高度。(这是一个简单版本的问题,它会变得更复杂)。

我正在使用 encog 平台,不清楚如何使用它来实现强化学习。

我认为我想使用存在两个独立 NN 的 Actor-Critic 模型。其中之一根据当前状态分析应得的奖励。另一个 NN 计算它应该施加在火箭上的力。

我可以计算一个奖励模式(将火箭和目标高度之间的距离驱动到 0)。但我不知道如何让“演员”NN 学习。似乎我会从“Critic”NN 中获取错误,并使用与 Actor 的反向传播错误相同的错误。但我不知道如何在 Encog 中做到这一点。

非常感谢您的帮助!

0 投票
1 回答
2227 浏览

matlab - 强化学习

我想使用这个 q-learning(强化学习)代码。看起来代码是正确的,但我收到错误,我不知道为什么:


但我收到以下警告和错误:


此代码可在以下链接中找到:http: //people.revoledu.com/kardi/tutorial/ReinforcementLearning/Q-Learning-Matlab.htm

0 投票
0 回答
76 浏览

reinforcement-learning - 稀疏采样算法的参数化

我在论文中对 C、H 和 lambda 的参数化有疑问:A Sparse Sampling Algorithm for Near-Optimal Planning in Large Markov Decision Processes(或者对于任何对强化学习,尤其是 lambda 有一定了解的人),在第 5 页。

更准确地说,我没有看到任何迹象表明参数化 H、C 或 lambda 是否依赖于诸如奖励的稀疏性或距离等因素,因为环境可能在未来任意数量的步骤中都有奖励。

例如,假设有一个环境需要一串 7 个动作才能从平均起始状态获得奖励,而另一个环境需要 2 个动作。当用树进行规划时,很明显,给定状态空间的通常指数分支,C(样本大小)和 H(水平长度)应该取决于这些奖励与当前状态相距多远。例如,对于距离平均状态 2 步的人来说,H = 2 可能就足够了。类似地,C 应该依赖于奖励的稀疏性,也就是说,如果有 1000 个可能的状态并且其中只有一个有奖励,那么 C 应该高于如果每 5 个状态就会找到奖励(假设多个状态给出相同的奖励与面向目标的问题)。

所以问题是,我的假设是否正确,或者我在抽样方面遗漏了什么?链接pdf第 5 页上的那些定义没有提及对分支因子或奖励稀疏性的任何依赖。

感谢您的时间。

0 投票
1 回答
1681 浏览

netlogo - 在 NetLogo 中实现强化学习(多智能体模型中的学习)

我正在考虑在我的模型中为不同类型的代理实施学习策略。老实说,我仍然不知道我应该先问什么样的问题或从哪里开始。

我有两种类型的代理,我希望他们通过经验来学习,他们有一组动作,根据可能发生的特定情况,每个动作都有不同的奖励。我是强化学习方法的新手,因此欢迎任何关于我应该问自己什么样的问题的建议:)

以下是我将如何提出我的问题:

  1. 代理人有一生,他们会跟踪一些对他们来说很重要的事情,这些指标对于不同的代理人来说是不同的,例如,一个代理人想要增加 A 另一个想要 B 超过 A。
  2. 状态是代理人生命周期中的点,他们有多个选择(我对状态没有明确的定义,因为它们可能会发生几次或根本不发生,因为代理人四处走动,他们可能永远不会面临某种情况)
  3. 奖励是代理可以从特定状态下的动作中获得的指标的增加或减少,并且代理不知道如果他选择另一个动作会得到什么收益。
  4. 增益不是恒定的,状态没有很好的定义,也没有一种状态到另一种状态的正式转换,
  5. 例如,代理可以决定与其中一个位于同一地点的代理(操作 1)或与同一位置的所有代理(操作 2)共享 如果某些条件成立,则操作 A 将对该代理更有利,而在其他条件Action 2会有更高的reward;我的问题是我没有看到任何奖励未知的示例,因为在这种情况下共享还取决于其他代理的特征(这会影响奖励系统的条件),并且在不同的状态下会有所不同。

在我的模型中,动作和后续状态之间没有关系,这让我想知道在这种情况下考虑 RL 是否可以。

我希望在这里优化的是我的代理能够以更好的方式推理当前情况,而不仅仅是响应由其内部状态触发的需求。他们有一些性格可以定义他们的长期目标,并可以影响他们在不同情况下的决策,但我希望他们记住在某种情况下采取什么行动帮助他们增加了他们偏爱的长期目标。