【发布时间】: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 的解决方案。
现在,我想更进一步,通过使每集的目标位置随机化来使任务更加复杂。因为现在我当前的状态表示和动作之间没有关联,所以我的代理随机动作。为了解决我的问题,首先我需要调整我的状态表示以包含一些信息,例如到目标的距离、方向或两者。问题是,我现在不怎么代表我的状态。我想出了一些想法:
- [x, y, distance_T]
- [距离_T]
-
两个 5x5 向量,一个用于 Agent 的位置,一个用于 Target 的位置
[1, 0, 0, ..., 0], [0, 0, ..., 1, 0, ..., 0]
我知道即使我能弄清楚状态表示,我实现的模型也无法解决问题,我需要向隐藏层移动、体验回放、冻结目标网络等,但我只想要验证模型失败。
最后,我想问一下如何将这种状态表示为神经网络的输入。如果有任何我错过的信息、文章、论文等来源,请随时发布。
提前谢谢你。
【问题讨论】:
标签: neural-network reinforcement-learning q-learning