网格世界的状态表示

时间:2017-09-04 06:43:06

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

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

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

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

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

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

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

现在,我希望通过让每个剧集随机定位目标位置,使任务变得更加复杂。因为现在我的状态和行动表示之间没有相关性,我的代理人随机行动。为了解决我的问题,首先我需要调整我的状态表示以包含一些信息,例如到目标的距离,方向或两者。问题是,我现在不知道如何代表我的国家。我想出了一些想法:

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

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

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

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

    提前谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

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

作为“州设计师”,您希望创建一个使您的任务尽可能接近MDP的状态。在您的具体情况下,如果您的状态距离,那么预测下一个状态的信息非常少,那就是下一个距离。有些事情,比如当前距离,前一个距离和前一个动作是一个更好的状态,因为它给你一个方向感。你也可以使你的状态成为距离和目标的方向。

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

距离逼近可能会更快收敛,但我认为这有点像作弊,因为你实际上告诉代理人需要寻找什么。在更复杂的情况下,这很难实现。

答案 1 :(得分:0)

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