问题标签 [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 回答
311 浏览

reinforcement-learning - 在 Q Learning 中,你如何才能真正获得 Q 值?Q(s,a) 不会永远持续下去吗?

我一直在研究强化学习,但我不明白的是如何计算 Q 值。如果你使用贝尔曼方程Q(s,a) = r + γ*max(Q(s',a')),它不会永远持续下去吗?因为Q(s',a')将需要进一步的一个时间步长的 Q 值,而这将一直持续下去。结局如何?

0 投票
0 回答
469 浏览

reinforcement-learning - Q-学习算法

下午好,我使用 q-learning 对以下问题进行建模:一组代理可以访问 2 个接入点 (AP) 状态以上传数据。S={1,2} 表示与 AP1 或 2 的连接的状态集。A={remain, change}。我们假设在整个模拟期间,代理可以访问 2 个 AP。目标是在模拟过程中上传最大的数据。奖励是一个依赖于时间的函数,定义如下:R(t)= alpha*T+b,其中 T 是时间间隔的长度,b 随时间变化。

在这种情况下,将终止条件定义为 q-tables 收敛到预定义值是否正确?如何表达开发阶段(因为没有定义为最终目标的步骤)?

预先感谢您的帮助。

0 投票
1 回答
533 浏览

machine-learning - 随机梯度下降和 Q-Learning 中的 Minibatching

背景(可以跳过):

在训练神经网络时,通常使用随机梯度下降(SGD):而不是计算网络对训练集的所有成员的误差并通过梯度下降来更新权重(这意味着在每次权重更新之前等待很长时间),而是使用每个对一个 minbatch 成员进行计时,并将由此产生的误差视为对真实误差的无偏估计。

在强化学习中,有时 Q 学习是使用神经网络实现的(如在深度 Q 学习中),并使用经验回放:不是通过代理的先前(状态、动作、奖励)更新权重,而是使用更新一小批旧的随机样本(状态、动作、奖励),因此后续更新之间没有相关性。

问题:

以下断言是否正确?:当 SGD 中的 minibatching 时,每整个 minibatch 执行一次权重更新,而当 Q-learning 中的 minibatching 时,minibatch 中的每个成员执行一次权重更新?

还有一件事:

我认为这个问题更适合Cross Validated,因为它是一个关于机器学习的概念性问题,与编程无关,但是通过查看 Stackoverflow 上标记为强化学习的问题,我得出结论认为问这个问题是规范的在这里,我可以获得的响应数量更大。

0 投票
1 回答
670 浏览

reinforcement-learning - Q-learning中的探索和开发

在 Q 学习算法中,动作的选择取决于当前状态和 Q 矩阵的值。我想知道这些 Q 值是仅在探索步骤期间更新还是在开发步骤中也发生变化。

0 投票
1 回答
756 浏览

machine-learning - 快速 Q 学习

我读过维基百科 https://en.wikipedia.org/wiki/Q-learning

Q 学习可能会受到收敛速度较慢的影响,尤其是当折扣因子 {\displaystyle \gamma } \gamma 接近 1 时。 [16] Speedy Q-learning 是 Q-learning 算法的一种新变体,它处理了这个问题,并实现了比值迭代等基于模型的方法略好的收敛速度

所以我想尝试快速 q-learning,看看它有多好。

我可以在互联网上找到的唯一来源是: https ://papers.nips.cc/paper/4251-speedy-q-learning.pdf

这就是他们建议的算法。

在此处输入图像描述

现在,我不明白。TkQk 到底是什么,我应该有另一个 q 值列表吗?还有比这更清楚的解释吗?

这是我当前的 QLearning 算法,我想将其替换为快速 Q-learning。

0 投票
1 回答
134 浏览

algorithm - 最高分的顺序?

假设我有 n 状态 S={s1,s2,s3, ... ....ETC。

我应该使用什么算法或程序来选择从 state-x (s_x) 开始的得分最高的序列/路径。

两个问题:

  1. 选择最好的下一个状态,以便在无限长的路径中我平均选择尽可能好的状态?
  2. 给定路径长度 L ,选择将产生最高分数的状态序列?

我目前正在研究强化学习,但这似乎有点矫枉过正,因为我既没有行动,也没有政策。可能我可以使用类似价值函数的东西,不知道。

你会用什么?

PS>在某些场景中,T-matrix 可能会随着时间而改变。


http://mnemstudio.org/path-finding-q-learning-tutorial.htm

看来 Q-learning 是一个不错的选择。我看到的唯一区别是,如果我要随着时间的推移存储 Q 值,我必须想办法适应变化的 T 矩阵。

而第二个更难的是没有最终目标,只有改变中间分数。可能我不需要改变算法,它只会收敛到改变分数,我认为这没关系。

我最初的想法是在每个时间步上做 L 步最佳路径(即每次从头开始重新计算 Q),但如果可以的话,我更愿意根据传入的数据保持一个不断变化的 Q 表。

0 投票
0 回答
275 浏览

tensorflow - 调试深度 Q 学习 CNN

我对 TF 很陌生。我编写了一个 Deep Q-Learning CNN 来控制一个简单的驾驶模拟器。我已经设法在 TensorBoard 上绘制了我的全连接层的权重、偏差和输出,但是我不确定我在寻找什么。我看过一个 youtube 视频,其中提到一组正态分布的权重很好。我想知道是否有人有任何其他调试技巧。另外,我使用 Relu 作为我的激活函数,但是我的许多“奖励”以及 CNN 输出的“质量”都是负面的,我应该使用类似 Sigmoid 的东西吗?我会截取一些我的 TensorBoard 的屏幕截图并发布它们。

模拟人生

巴兹尔是什么意思?

0 投票
1 回答
655 浏览

machine-learning - ε-贪婪策略,探索率降低

我想在 Q-learning 中实现 ϵ-greedy policy action-selection policy。在这里,许多人使用以下方程来降低探索率,

ɛ = e^(-En)

n = 代理人的年龄

E = 开发参数

但我不清楚这个“n”是什么意思?是对特定状态-动作对的访问次数还是迭代次数?

非常感谢

0 投票
0 回答
23 浏览

r - R中的Q-Learning:使用嵌套循环根据另一个矩阵中两个单元格的邻接更新矩阵

我关于 Stack Overflow 的第一个问题。

我正在尝试更新代表 5x5 网格中状态的 25x25 矩阵。行代表当前状态,列代表下一个状态。我正在使用下面给出的公式通过坐标来评估给定状态与另一个给定状态的邻接性。目标是然后使用这些坐标将 25x25 状态矩阵更新为 1,其中从 5x5 网格中的一个编号状态移动到其相邻状态是可能的。

|x1−x2|≤1 和 |y1−y2|≤1

没有错误,只有 T[25,25] 元素正在更新。任何想法为什么这不能正常工作?

0 投票
1 回答
737 浏览

reinforcement-learning - Q表表示

据我了解 Q 学习,Q 值是衡量特定状态-动作对“有多好”的指标。这通常以下列方式之一在表格中表示(见图):

在此处输入图像描述

  1. 两种表述都有效吗?
  2. 如果 Q 表作为状态到状态转换表给出(如图中顶部的 q 表所示),您如何确定最佳操作,特别是如果状态转换不是确定性的(即从state 可以让你在不同的时间进入不同的州吗?)