【问题标题】:State representation for grid world网格世界的状态表示
【发布时间】:2017-09-04 06:43:05
【问题描述】:

我是强化学习和 q-learning 的新手,我正在尝试理解概念并尝试实施它们。我发现的大多数材料都使用 CNN 层来处理图像输入。我想我宁愿从简单的东西开始,所以我使用网格世界。

这是我已经实现的。我通过遵循 MDP 实现了一个环境,并具有 5x5 网格,具有固定的代理位置 (A) 和目标位置 (T)。开始状态可能如下所示。

-----
---T-
-----
-----
A----

目前我将我的状态表示为长度为 25 (5x5) 的一维向量,其中 1 位于代理所在的位置,否则为 0,例如 上面的状态将被表示为向量

[1, 0, 0, ..., 0]

我已经成功实现了使用 Q 表和没有隐藏层的简单 NN 的解决方案。

现在,我想更进一步,通过使每集的目标位置随机化来使任务更加复杂。因为现在我当前的状态表示和动作之间没有关联,所以我的代理随机动作。为了解决我的问题,首先我需要调整我的状态表示以包含一些信息,例如到目标的距离、方向或两者。问题是,我现在不怎么代表我的状态。我想出了一些想法:

  1. [x, y, distance_T]
  2. [距离_T]
  3. 两个 5x5 向量,一个用于 Agent 的位置,一个用于 Target 的位置

    [1, 0, 0, ..., 0], [0, 0, ..., 1, 0, ..., 0]

我知道即使我能弄清楚状态表示,我实现的模型也无法解决问题,我需要向隐藏层移动、体验回放、冻结目标网络等,但我只想要验证模型失败。

最后,我想问一下如何将这种状态表示为神经网络的输入。如果有任何我错过的信息、文章、论文等来源,请随时发布。

提前谢谢你。

【问题讨论】:

    标签: neural-network reinforcement-learning q-learning


    【解决方案1】:

    在强化学习中没有正确的状态表示。但是有错误的状态表示。至少,也就是说 Q-learning 和其他 RL 技术对状态表示做了一定的假设。

    假设状态是马尔可夫决策过程 (MDP) 的状态。 MDP 是在当前状态下您需要知道“预测”(即使以概率方式)的所有内容。也就是说,代理一定不需要记忆过去的状态来做出决定。

    在现实生活中很少有马尔可夫决策过程。但是很多时候你有一些接近的东西,经验证明这对于 RL 算法来说已经足够了。

    作为“状态设计者”,您希望创建一个状态,使您的任务尽可能接近 MDP。在您的特定情况下,如果您将距离作为您的状态,则几乎没有信息可以预测下一个状态,那就是下一个距离。当前距离、上一个距离和上一个动作之类的东西是更好的状态,因为它可以让你有方向感。您也可以将状态设为目标所在的距离和方向。

    您对两个矩阵的最后建议是我最喜欢的一个。因为它描述了任务的整个状态,而没有透露任务的实际目标。它还可以很好地映射到卷积网络。

    距离方法可能收敛得更快,但我认为它有点像作弊,因为你实际上告诉代理它需要寻找什么。在更复杂的情况下,这几乎是不可能的。

    【讨论】:

      【解决方案2】:

      您的最后一个建议是将状态表示为函数逼近器的输入的最通用方法,尤其是对于神经网络。通过这种表示,您还可以添加更多代表不可访问块甚至其他代理的维度。因此,您可以概括表示并可能将其应用于其他 RL 领域。您还将有机会尝试将卷积神经网络用于更大的网格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-24
        • 1970-01-01
        • 1970-01-01
        • 2018-11-23
        相关资源
        最近更新 更多