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

machine-learning - 使用神经网络进行强化学习

  • 我正在与 RL & NN 合作一个项目
  • 我需要确定将馈送到神经网络的动作向量结构​​。

我有 3 个不同的动作(A & B & Nothing),每个都有不同的权力(例如 A100 A50 B100 B50) 我想知道将这些动作提供给 NN 以产生最佳结果的最佳方法是什么?

1-将A / B馈入输入1,而动作功率100/50 /无输入2

2-喂A100/A50/无输入1,而B100/B50/无输入2

3- 将A100/A50 输入1,而B100/B50 输入2,而Nothing 标志输入3

4-还要喂100和50或将它们标准化为2和1?

我需要选择一种方法的理由 推荐任何建议

谢谢

0 投票
2 回答
521 浏览

machine-learning - 强化学习和POMDP

  • 我正在尝试使用多层神经网络在部分可观察马尔可夫过程中实现概率函数..
  • 我认为 NN 的输入是:当前状态、选择的操作、结果状态;输出是 [0,1] 中的概率(概率。对当前状态执行选定操作将导致结果状态)
  • 在训练中,我将前面提到的输入输入到 NN 中,然后我教它输出 = 1.0 的每个已经发生的情况。

问题:
对于几乎所有测试用例,输出概率接近 0.95.. 没有输出低于 0.9!即使对于几乎不可能的结果,它也给出了很高的概率。

PS:我认为这是因为我只教它发生的情况,而不是未发生的情况。但是我不能在剧集中的每一步都教它输出= 0.0 为每个未发生的动作!

有什么建议可以解决这个问题吗?或者可能是使用 NN 或实现 prob 功能的另一种方式?

谢谢

0 投票
2 回答
1040 浏览

machine-learning - 强化学习玩具项目

我学习和应用强化学习的玩具项目是:
- 代理试图“安全”和“快速”地达到目标
状态...... - 但是有射弹和火箭在代理上发射。
- 代理可以确定火箭的位置 - 有一些噪音- 只有当它们“靠近”时
- 代理必须学会避免撞到这些火箭......
- 代理具有 - 可充电时间 -燃料在代理运动中消耗
-连续动作:向前加速 - 带角度转弯


我需要一些适合这种情况的 RL 算法的提示和名称..
- 我认为它是 POMDP ,但我可以将它建模为 MDP 并忽略噪声吗?
- 如果是 POMDP,评估概率的推荐方法是什么?
- 在这种情况下使用哪个更好:价值函数或策略迭代?
- 我可以使用 NN 来模拟环境动力学而不是使用显式方程吗?
- 如果是,是否推荐特定类型/型号的神经网络?
- 我认为动作必须离散化,对吧?

我知道学习这样一个主题需要时间和精力,但我很想......
如果你不能回答所有问题,你可以回答一些问题......
谢谢

0 投票
1 回答
288 浏览

machine-learning - 时差更新规则

更新规则 TD(0) Q-Learning:

Q(t-1) = (1-alpha) * Q(t-1) + (alpha) * (Reward(t-1) + gamma* Max( Q(t) ) )
然后采取当前最佳行动(优化)或随机行动(探索者)

其中 MaxNextQ 是在下一个状态下可以获得的最大 Q...


但在 TD(1) 中,我认为更新规则将是:

Q(t-2) = (1-alpha) * Q(t-2) + (alpha) * (Reward(t-2) + gamma * Reward(t-1) + gamma * gamma * Max( Q(t) ) )

我的问题:
这个词的gamma * Reward(t-1)意思是我将永远采取我最好的行动t-1......我认为这会阻止探索......
有人可以给我一个提示吗?

谢谢

0 投票
3 回答
647 浏览

artificial-intelligence - 学习分层强化任务的结构

我一直在研究分层强化学习问题,虽然很多论文提出了学习策略的有趣方法,但他们似乎都假设他们事先知道描述领域中动作的图结构。例如, Dietterich的 MAXQ Method for Hierarchial Reinforcement Learning描述了一个简单出租车领域的复杂动作和子任务图,但没有描述这个图是如何被发现的。您将如何学习此图的层次结构,而不仅仅是策略?

0 投票
1 回答
273 浏览

algorithm - 实现 HexQ 算法

有谁知道是否有HexQ 算法的开源实现(任何语言),用于强化学习中的层次结构发现,或类似的东西?我想在不同的领域对其进行评估,但我无法从论文的描述中理解如何实现它。

0 投票
1 回答
689 浏览

artificial-intelligence - 有没有积极的强化学习竞赛?

我喜欢在强化学习方面做兼职研究。近年来(截至 2009 年),在rl-competition.org举办了一场强化学习竞赛,出现了一些非常有趣的问题,但似乎已经停止。我很想提高我的技能和知识,并与该领域的其他爱好者进行比较——周围还有这样的比赛吗?

0 投票
2 回答
198 浏览

optimization - 寻找想法/参考/关键字:搜索算法的自适应参数控制(在线学习)

我正在寻找关于组合优化中搜索算法参数(在线学习)的自适应参数控制的想法/经验/参考/关键字。

更详细一点:

我有一个框架,负责优化硬组合优化问题。这是在一些以迭代方式使用的“小型启发式”的帮助下完成的(大型邻域搜索;破坏和重建方法)。这些“小启发式”的每个算法都采用一些外部参数,这些参数在某种程度上控制着启发式逻辑(目前:只是随机值;某种噪声;使搜索多样化)。

现在我希望有一个控制框架,用于以改进收敛的方式选择这些参数,尽可能通用,以便以后在不更改参数控制的情况下添加新的启发式方法。

至少有两个一般性的决定需要做出:

  • A:选择在下一次迭代中使用的算法对(一个销毁算法和一个重建算法)。
  • B:选择算法的随机参数。

唯一的反馈是新发现的解决方案的评估功能。这让我想到了强化学习这个话题。这是正确的方向吗?

不是真正的学习行为,但目前的简单想法是:

  • A:根据迭代期间收集的一些性能值进行轮盘赌选择(接近过去的比旧的更有价值)。因此,如果启发式 1 确实找到了所有新的全局最佳解决方案 -> 选择这个的可能性很高。
  • B:还不知道。也许可以在 (0,1) 范围内使用一些不均匀的随机值,我正在收集一些变化的动量。因此,如果启发式 1 上次使用 alpha = 0.3 并且没有找到新的最佳解决方案,则使用 0.6 并找到新的最佳解决方案 -> 有朝向 1 的动量 -> 下一个随机值可能大于 0.3。可能的问题:振荡

需要注意的事项: - 一种特定算法的良好收敛所需的参数可能会发生巨大变化 -> 开始时可能需要更多的多样化操作,最后需要更多的强化操作。- 在一对特定的破坏/重建算法(有时称为:耦合邻域)中可能会产生良好的协同效应。怎么会认出这样的东西?那还在强化学习领域吗?- 不同的算法由不同数量的参数控制(有些取 1,有些取 3)。

有什么想法、经验、参考资料(论文)、关键字(ml-topics)吗?
如果有关于以离线学习方式决定(b)的想法。毫不犹豫地提到这一点。

感谢您的输入。

萨沙

0 投票
3 回答
1294 浏览

artificial-intelligence - Delphi/Pascal 中的 TD(λ)(时间差分学习)

我有一个可以玩井字游戏的人工神经网络——但它还不完整。


我还没有:

  • 奖励数组“R[t]”,每个时间步或移动“t”的整数值(1=玩家 A 获胜,0=平局,-1=玩家 B 获胜)
  • 输入值通过网络正确传播。
  • 调整权重的公式:

在此处输入图像描述


什么不见​​了:

  • TD 学习:我仍然需要一个使用 TD(λ) 算法“反向传播”网络错误的程序。

但我真的不明白这个算法。


到目前为止我的方法...

轨迹衰减参数 λ 应为“0.1”,因为远端状态不应获得那么多奖励。

两个层(输入层和隐藏层)的学习率都是“0.5”。

这是一个延迟奖励的情况:奖励保持“0”直到游戏结束。然后奖励变为“1”表示第一个玩家获胜,“-1”表示第二个玩家获胜,或“0”表示平局。


我的问题:

  • 您如何以及何时计算网络误差(TD 误差)?
  • 如何实现错误的“反向传播”?
  • 如何使用 TD(λ) 调整权重?

提前非常感谢你:)

0 投票
3 回答
789 浏览

artificial-intelligence - 减少强化学习中马尔可夫状态的数量

我已经开始玩强化学习(使用 Sutton 的书)。我无法完全理解必须减少马尔可夫状态空间而另一方面又不对重要和不重要的假设之间的悖论。

背景

例如。以跳棋为例,Sutton 表示不应将奖励分配给游戏中的某些动作,例如击败对手的棋子。他声称这可能会优化 AI 以获取棋子而不是赢得比赛。因此,奖励应该只给予您想要达到的结果(例如赢得比赛)。

问题 1

假设一个(德州扑克)扑克 AI 的马尔可夫状态只有玩家的手和桌上的牌。这大约有 52*51*50*49*48*47*46/1*2*3*4*5*6*7 状态。现在假设我们希望 AI 将玩家的资金池 + 他们的赌注考虑在内。如果我们假设 8 个玩家每人拥有 1-200.000 美元,这将使马尔可夫状态空间接近“无限数量的组合”。

问题2

一种减少状态的策略可能是将玩家现金分为穷人中等人或富人。这严重减少了我们的状态空间,但是,我怎么知道 a) 3 个组就足够了?b) 每组的区别限制是什么?

干杯,