当一个代理可以在一个步骤中执行多个子动作时,如何定义一个动作空间?

人工智能 强化学习 人工智能设计 开放式 健身房
2021-10-29 07:23:15

我正在尝试在 OpenAI 的健身房中设计一个动作空间并遇到以下障碍。我看过这篇密切相关但略有不同的帖子。

我正在编写的环境需要允许代理在1n每个步骤的子动作。让代理决定它想要采取多少子行动。因此,代理可以在其中指定 (sub-action-category, sub-action-id, action)1n这样的元组。

Box如果不指定我在这里需要的形状边界,似乎不可能定义空间。我试图避免定义一个动作空间,其中每个子动作都由环境显式枚举,例如 (action) 元组,每个子动作都有 n 个条目。

还有其他空间可以用来动态缩放空间吗?

1个回答

处理任意大序列的一种方法是在序列中添加一个 STOP 信号作为可能的标记,就像 LSTM 一样。

所以你可以轮流划分你的游戏:

  • 你现在所说的单个动作(由多个子动作组成)将变成一个回合。
  • 现在,您可以在一个回合内进行任意数量的操作。
  • 每个动作只是在环境中累积的一个列表,但还不会评估游戏。
  • 当玩家对自己的动作感到满意时,他们可以将动作称为:“结束回合”。
  • 当回合结束时,您可以连接每个子动作,评估游戏并照常进行。