3

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


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

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

4

2 回答 2

7

如果这是您的第一次强化学习实验,我建议您从比这更简单的东西开始。您可以从简单的事情开始,然后转向像这样的更复杂的项目。我在使用 POMDP 时遇到了麻烦,我已经在 RL 中工作了很长一段时间。现在我会尽量回答我能回答的问题。

我认为它是 POMDP ,但我可以将其建模为 MDP 并忽略噪音吗?

是的。POMDP 代表部分可观察马尔可夫决策过程。部分可观察部分是指智能体不能完全知道自己的状态,但可以根据观察进行估计。在您的情况下,您会将火箭的位置作为可能产生一些噪音的观测值,并且根据特工先前的知识,您可以更新它对导弹位置的信念。这增加了很多复杂性。将导弹位置用作绝对位置会容易得多,而不必处理不确定性。那么您就不必使用 POMDP。

如果是 POMDP,评估概率的推荐方法是什么?

我不明白你的问题。您将使用某种形式的贝叶斯规则。也就是说,您将拥有某种分布,即您的信念状态(处于任何给定状态的概率),这将是您的先验分布,并且根据观察,您将对其进行调整并获得后验分布。如果您需要更多信息,请查看贝叶斯规则。

在这种情况下使用哪个更好:价值函数或策略迭代?

我的大部分经验都是使用价值函数,并且发现它们相对容易使用/理解。但我不知道还能告诉你什么。我认为这可能是您的选择,我将不得不花时间在项目上做出更好的选择。

我可以使用 NN 来模拟环境动力学而不是使用显式方程吗?如果是,是否有特定类型/型号的 NN 可以推荐?

抱歉,我对使用 NN 建模环境一无所知。

我认为动作必须离散化,对吗?

是的。你必须有一个离散的动作列表和一个离散的状态列表。通常,该算法将为任何给定状态选择最佳动作,而对于最简单的算法(例如 QLearning),您只需跟踪每个给定状态-动作对的值。

如果您只是学习所有这些东西,我会推荐Sutton 和 Barto文本。此外,如果您想查看 RL 算法的简单示例,我有一个非常简单的基类和一个在github上使用它的示例(用 Python 编写)。abstract_rl 类旨在针对 RL 任务进行扩展,但非常简单。simple_rl.py 是一个简单任务的示例(它是一个简单的网格,以一个位置为目标,它使用 QLearning 作为算法)使用 base_rl 可以运行并打印一些显示随时间推移的奖励的图表。两者都不是很复杂,但如果你刚刚开始,可能有助于给你一些想法。我希望这会有所帮助。如果您有任何更多或更具体的问题,请告诉我。

于 2010-05-20T01:44:25.093 回答
0

我可以使用 NN 来模拟环境动力学而不是使用显式方程吗?如果是,是否有特定类型/型号的 NN 可以推荐?

是的,众所周知,神经网络能够解决预测任务。但是,这取决于您如何定义您的任务:您是希望您的算法仅在知道环境是动态的时学习控制环境,还是您想学习在未知环境中解决任务?后一种情况在 RL 中更为常见。

我认为动作必须离散化,对吗?

不,他们不必是。例如,Actor-Critic 解决方案适用于连续动作。我还听说过基于高斯过程的强化学习。通过谷歌很容易找到这两种解决方案的大量材料。

于 2013-08-01T14:30:43.623 回答