问题标签 [q-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 投票
1 回答
480 浏览

javascript - 使用 JavaScript、Arduino 和 Q-Learning 的线跟随机器人

我希望创建一个使用 Q-Learning 的跟随机器人。我的意图是使用/构建基于 Arduino 部件的机器人,同时使用 JavaScript 进行编程。

在撰写本文时,我一直在谷歌搜索,并认为这是一个可行的项目。然而,这将是我第一次尝试编写 JavaScript 和构建 Arduino 机器人,所以我会很感激你们可能有的任何指点。

我不是要你解决问题,而是要强调我可能遇到的任何阻碍。我以前没有 JavaScript 或 Arduino 经验!

谢谢你的时间,

标记

0 投票
1 回答
779 浏览

algorithm - Q-Learning 算法的实现是递归的吗?

我正在尝试实施 Q-Learning。这里的一般算法如下

在此处输入图像描述

在声明中

在此处输入图像描述

我只是不明白我是否应该为当前状态/动作可以引导我们到达的所有下一个状态递归地实现原始伪代码的上述语句,并且每次都将其最大化

或者只是从 Action-State Q-Value 表中选择具有当前操作的下一个状态的最大值?

提前致谢。

0 投票
1 回答
1057 浏览

machine-learning - 关于使用神经网络的 Q-Learning 的问题

我已经实施了 Q-Learning,如中所述,

http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf

为了大约。Q(S,A) 我使用如下的神经网络结构,

  • 激活乙状结肠
  • 输入,输入数量 + 1 用于动作神经元(所有输入缩放 0-1)
  • 输出,单输出。Q值
  • N 个 M 隐藏层。
  • 探索方法 random 0 < rand() < propExplore

在使用以下公式的每次学习迭代中,

在此处输入图像描述

我计算一个 Q-Target 值,然后使用计算错误,

并通过神经网络反向传播误差。

Q1,我在正确的轨道上吗?我看过一些论文,它们实现了一个神经网络,每个动作都有一个输出神经元。

Q2,我的reward function返回一个-1到1之间的数字,激活函数是sigmoid(0 1)的时候返回一个-1到1之间的数字可以吗

Q3,根据我对这种方法的理解,给定足够的训练实例,是否应该隔离它以找到最佳策略?在进行 XOR 训练时,有时它会在 2k 次迭代后学习,有时甚至在 40k 50k 次迭代后也不会学习。

0 投票
1 回答
2763 浏览

machine-learning - 在使用函数逼近的 Q-learning 中,是否可以避免手工制作特征?

我对机器学习的背景知识很少,所以如果我的问题看起来很愚蠢,请原谅我。

根据我所读到的,迄今为止最好的无模型强化学习算法是 Q-Learning,其中代理世界中的每个状态、动作对都被赋予一个 q 值,并且在每个状态下具有最高的动作选择 q 值。然后 q 值更新如下:

Q(s,a) = (1-α)Q(s,a) + α(R(s,a,s') + (max_a' * Q(s',a'))) 其中 α 是学习速度。

显然,对于高维问题,状态的数量变得非常大,使得 q 值表存储不可行。

因此,Q-Learning 的实际实现需要通过状态泛化(即特征)来使用 Q 值近似。例如,如果代理是 Pacman,那么功能将是:

  • 到最近点的距离
  • 到最近鬼的距离
  • 吃豆子在隧道里吗?

然后,您只需要为每个单个特征提供 q 值,而不是每个状态的 q 值。

所以我的问题是:

强化学习代理是否可以创建或生成附加特征?

我做过的一些研究:

这篇文章提到了 Geramifard 的 iFDD 方法

这是“发现特征依赖关系”的一种方式,但我不确定这是否是特征生成,因为本文假设您从一组二进制特征开始。

我发现的另一篇论文是用深度强化学习玩 Atari,它“使用一系列神经网络架构提取高级特征”。

我已经阅读了这篇论文,但仍然需要充实/完全理解他们的算法。这就是我要找的吗?

谢谢

0 投票
4 回答
1126 浏览

algorithm - Q学习:改变环境后的再学习

我在一个大小为 (nxn) 的网格上实现了 Q 学习,中间的单个奖励​​为 100。代理通过以下代理学习 1000 个 epoch 以达到目标:他以 0.8 的概率选择具有最高 state-action-value 的移动,并选择 0.2 的随机移动。在移动之后,状态-动作值由 Q 学习规则更新。

现在我做了以下实验:除了底部的邻居之外,目标旁边的所有字段都获得了 -100 的奖励。在学习了 1000 个 epoch 之后,智能体显然避免了走上坡路,并且最频繁地从下坡到达目标。

学习后,将底部邻居的奖励设置为 -100,将顶部邻居的奖励设置回 0,并在坚持状态动作值图的同时再次开始学习 1000 个 epoch。这真的很可怕!代理需要很长时间才能找到目标(在 9x9 网格上最多 3 分钟)。检查路径后,我发现代理花费大量时间在 (0,0)->(1,0)->(0,0)->(1,0) 等两个状态之间来回切换......

我很难想象这种行为是否有意义。有人遇到过这样的情况吗?

0 投票
2 回答
3531 浏览

machine-learning - 井字游戏的 Q 学习算法

我不明白如何更新井字游戏的 Q 值。我阅读了所有相关内容,但我无法想象如何做到这一点。我读到Q值是在游戏结束时更新的,但我不明白是否每个动作都有Q值?

0 投票
1 回答
85 浏览

simulation - QLearning 在重复模拟中的使用

我在模拟中使用Q-Learning算法。该模拟的迭代次数有限(600 到 700 次)。该模拟的多次运行(100 次运行)激活了学习过程。我是强化学习的新手,我在这里有一个关于如何在这种模拟上使用探索/利用的问题(我正在使用电子贪婪探索)。我正在使用递减探索,我想知道是否应该在整个模拟运行中使用递减探索,或者在每次模拟运行时减少它(每次模拟运行将 epsilon 启动到 0.9,然后减少它)。谢谢

0 投票
3 回答
22636 浏览

machine-learning - Q-learning 和 Value Iteration 有什么区别?

Q-learning 与强化学习中的值迭代有何不同?

我知道 Q-learning 是无模型的,训练样本是 transitions (s, a, s', r)。但是由于我们知道 Q-learning 中每个转换的转换和奖励,它与基于模型的学习不同吗?基于模型的学习我们知道状态和动作对的奖励,以及状态的每个动作的转换(是它是随机的还是确定的)?我不明白其中的区别。

0 投票
1 回答
1428 浏览

reinforcement-learning - Q-learning 实施

我正在尝试在 R(奖励)是随机时间相关变量的环境中实现 Q 学习,并且它们在 const 时间间隔 deltaT 之后实时到达。状态 S(标量)也在 const 时间间隔 deltaT 之后到达。代理的任务是在获得 (S(n deltaT),R(n deltaT)) 后给出最优动作。

我的问题是我对 RL 很陌生,我不明白应该如何实现这个算法,大多数描述 Q-learning 算法的论文都是用“科学英语”写的,这对我没有帮助。

OnTimer() 在固定间隔后执行:

问题:

这是在线 Q 学习的正确实施吗,因为它似乎不起作用?为什么当 n*deltaT -> inf 时这不是最佳工作,请帮助它非常重要。

0 投票
2 回答
738 浏览

machine-learning - Q学习网格世界场景

我正在从 Q-learning Perspective研究GridWorld 。我对以下问题有疑问: