### 强化学习玩具项目

我的学习和应用强化学习的玩具项目是:

  • 一个智能体尝试“安全”且“快速”地到达目标状态……
  • 但在途中会有投射物和火箭向智能体发射……
  • 智能体只能在火箭“靠近”时确定其位置,且带有一些噪声……
  • 然后智能体必须学会避免撞击这些火箭……
  • 智能体拥有随时间可充电的燃料,这些燃料在智能体移动时消耗……
  • 连续动作:向前加速 – 以角度转向

我需要一些提示和适合这种情况的强化学习算法的名称……

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

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

– 在这种情况下,使用价值函数还是策略迭代更好?

– 我可以使用神经网络来建模环境动态而不是使用显式方程吗?

– 如果可以,有没有推荐的特定类型/模型的神经网络?

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


回答:

如果这是你第一次尝试强化学习,我建议从比这简单得多的项目开始。你可以从简单的开始,掌握要领,然后再转向像这样的更复杂的项目。我在强化学习领域工作了很长时间,对POMDP仍然感到困惑。现在我会尽力回答我能回答的问题。

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

是的。POMDP代表部分可观察马尔可夫决策过程。部分可观察部分指的是智能体无法完美地知道其状态,但可以基于观察进行估计。在你的案例中,你会将火箭的位置作为带有噪声的观察,基于智能体之前的知识,你可以更新它对导弹位置的信念。这增加了很多复杂性。使用火箭位置作为绝对值而不处理不确定性会更容易。这样你就不需要使用POMDP了。

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

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

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

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

我可以使用神经网络来建模环境动态而不是使用显式方程吗?如果可以,有没有推荐的特定类型/模型的神经网络?

我对使用神经网络建模环境一无所知,很抱歉。

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

是的。你需要有一组离散的动作和一组离散的状态。通常,算法会为任何给定状态选择最佳动作,对于最简单的算法(如QLearning),你只需跟踪每个给定状态-动作对的值即可。

如果你正在学习这些内容,我推荐Sutton和Barto的文本。如果你想看到一个简单的强化学习算法示例,我在github上有一个非常简单的基类和使用它的示例(用Python编写)。abstract_rl类旨在为强化学习任务扩展,但非常简单。simple_rl.py是一个简单任务的示例(它是一个简单的网格,其中一个位置是目标,并使用QLearning作为算法),使用base_rl运行并将打印一些显示随时间变化的奖励图表的图表。两者都不太复杂,但如果你刚开始,可能会给你一些想法。我希望这对你有帮助。如果你有更多或更具体的问题,请告诉我。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注