代码之家  ›  专栏  ›  技术社区  ›  Adam Dohnal

电网世界的状态表示

  •  2
  • Adam Dohnal  · 技术社区  · 7 年前

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

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

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

    上述状态将表示为矢量

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

    现在,我想再深入一点,通过在每集中随机设置目标位置,使任务更加复杂。因为现在我当前的状态表示和动作之间没有相关性,所以我的代理行为是随机的。为了解决我的问题,首先我需要调整我的状态表示,以包含一些信息,如到目标的距离、方向或两者。问题是,我现在不知道如何代表我的国家。我提出了一些想法:

    1. [x,y,distance\u T]
    2. 两个5x5向量,一个用于代理位置,一个用于目标位置

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

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

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

    2 回复  |  直到 7 年前
        1
  •  0
  •   Guilherme de Lazari    7 年前

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

    假设这些状态是 马尔可夫决策过程 . MDP是一种在当前状态下“预测”(即使是以概率方式)所需知道的一切都可用的程序。也就是说,代理必须不需要记忆过去的状态来做出决定。

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

    “状态设计器” 您希望创建一个状态,使您的任务尽可能接近MDP。在您的具体情况下,如果您有 距离作为你的状态,几乎没有信息可以预测下一个状态

    因为它描述了任务的整个状态,而没有透露任务的实际目标。它也很好地映射到卷积网络。

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

        2
  •  0
  •   Farabi Ahmed Tarhan    7 年前

    最后一个建议是将状态表示为函数近似器(尤其是神经网络)的输入的最通用方法。通过该表示法,还可以添加更多尺寸,表示不可访问的块,甚至 其他代理人 . 因此,您可以推广表示,并将其应用于其他RL域。您还将有机会尝试更大网格的卷积神经网络。