具有由两个离散值组成的动作的强化学习

人工智能 强化学习 q学习 dqn 马尔可夫决策过程 环境
2021-10-27 04:32:04

我是强化学习的新手。我有一个问题,其中一个动作由订单(具有所需长度的杆)和仓库中的物品(具有一定长度的现有杆,将被切割成所需长度,其余部分放回仓库)组成)。

我把我的状态想象成两个定义大小的列表:订单和仓库,我的动作作为第一个列表的索引和第二个列表的索引。但是,我只使用了只能选择单个操作的环境,并且我不确定如何处理两个索引。我不确定 DQN 架构应该如何给我这样的操作。

任何人都可以验证我的总体想法并帮助我找到解决方案吗?或者也许只是指出一些描述类似问题的论文?

1个回答

你仍然会选择一个动作。你的行动空间现在A=O×I我选择的地方O成为您的问题的一组可能的顺序,并且I成为可能项的集合。

如果这两个集合都是有限的,那么您仍然应该能够使用 DQN 解决这个问题。从理论上讲,这应该很容易看出,因为任何元素A仍然是一个元素,只是碰巧这个元素现在是一个元组。

从编程的角度来看,让我们考虑一下 cartpole 的简单示例,其中可能的动作是左和右。你的Q-function 显然不会知道'left'和'right'的含义,你只需将它分配给向量的一个元素,即你的Q-function 将输出一个向量R2例如,第一个元素对应于“左”的分数,第二个元素对应于“右”的分数。在您的问题表述中仍然是这种情况,您将只有一个Q- 输出向量的函数Rd在哪里d=|A|- 你只需要确保你知道哪个元素对应哪个动作。

此外,这种方法可能会给您留下大维向量输出,我想这可能意味着您需要更多的模拟来正确探索动作空间。

希望这可以帮助。