Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 强化学习玩具计划_Machine Learning_Neural Network_Reinforcement Learning - Fatal编程技术网

Machine learning 强化学习玩具计划

Machine learning 强化学习玩具计划,machine-learning,neural-network,reinforcement-learning,Machine Learning,Neural Network,Reinforcement Learning,我要学习和应用强化学习的玩具项目是: -代理试图达到目标状态“安全”和“快速”… -但是有一些射弹和火箭在途中发射到代理身上。 -只有当火箭“靠近”时,代理才能确定火箭位置(带有一些噪音) -然后,代理必须学会避免撞上这些火箭。 -代理具有可随时间充电的燃料,该燃料在代理运动中消耗 -连续动作:加速向前-带角度转向 我需要一些适合这种情况的RL算法的提示和名称。 -我认为这是POMDP,但我可以将其建模为MDP而忽略噪音吗? -对于POMDP,建议采用什么方法来评估概率? -在这种情况下使用哪

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


我需要一些适合这种情况的RL算法的提示和名称。
-我认为这是POMDP,但我可以将其建模为MDP而忽略噪音吗?
-对于POMDP,建议采用什么方法来评估概率?
-在这种情况下使用哪个更好:值函数还是策略迭代?
-我可以使用NN来模拟环境动力学而不是使用显式方程吗?
-如果是,是否推荐NN的特定类型/型号?
-我认为行动必须谨慎,对吗?

我知道学习这样一个话题需要时间和精力,但我渴望……
如果您不能回答所有问题,您可以回答其中一些问题……

谢谢

如果这是你第一次尝试强化学习,我建议你从比这简单得多的东西开始。你可以从简单的事情开始,掌握窍门,然后转到像这样更复杂的项目。我在POMDP方面有问题,我已经在RL工作了很长一段时间了。现在我试着回答我能回答的问题

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

对。POMDP代表部分可观测马尔可夫决策过程。部分可观察部分指的是,代理无法完全了解其状态,但可以根据观察结果对其进行估计。在你的例子中,你可以观察到火箭的位置,这可能会有一些噪音,根据特工先前的知识,你可以更新他们对导弹位置的看法。这增加了很多复杂性。将导弹位置作为绝对位置使用会容易得多,而且不必处理不确定性。那么您就不必使用POMDP了

对于POMDP,建议采用什么方法来评估概率?

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

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

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


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

对不起,我不知道如何使用NN来建模环境

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

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


如果你只是在学习这些东西,我会推荐这篇文章。另外,如果您想看到一个简单的RL算法示例,我有一个非常简单的基类和一个使用它的示例(用Python编写)。抽象类是为了扩展rl任务,但非常简单。simple_rl.py是一个简单任务的示例(它是一个简单的网格,其中一个位置是目标,它使用QLearning作为算法),使用可以运行的base_rl,并将打印一些显示随时间变化的奖励的图形。两者都不是很复杂,但如果你刚刚开始,可能会有助于给你一些想法。我希望这有帮助。如果您有更多或更具体的问题,请告诉我。

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

是的,人们知道神经网络能够解决预测任务。然而,这取决于你如何定义你的任务:你是想让你的算法只在知道环境的动态时学习控制环境,还是想学习在未知环境中解决任务?后一种情况在RL中更常见

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


不,他们不一定是。例如,演员-评论家解决方案适用于连续动作。我还听说了基于高斯过程的RL。这两种解决方案的大量资料都可以通过谷歌轻松找到。

最好将其分为多个具体问题。这本书有一个在线版本。动作不必离散化,但连续的动作空间会让数学变得更加难懂,如果可以的话,可以离散化。