【问题标题】:RL PPO action space clipping in openai's spinningupopenai 旋转中的 RL PPO 动作空间裁剪
【发布时间】:2021-07-08 06:30:04
【问题描述】:

我目前正在使用 openai 制作的“spinningup”。 在 spinup 中,实现了 PPO 和其他 RL 算法。但是,只有 DDPG、SAC 和 TD3 具有名为“action_limit”的变量。

我现在正在使用 PPO,我还需要剪辑(给出下限和上限)动作,因为我的机器人只在 [0, 200.0] 范围内工作。 是因为 PPO 算法不需要与 DDPG、SAC、TD3 不同的 action_limit 吗? 要么 他们没有在 PPO 上设置 action_limit 是 spinup 的错误吗?

或者还有其他聪明的方法可以在这里做一些限制吗?

【问题讨论】:

    标签: reinforcement-learning openai-gym openai


    【解决方案1】:

    我也认为在使用“spaces.Box”创建环境时应该考虑这一点,但是在运行策略时,它的值也会高于我输入的框。

    如果您查看Continuous_MountainCarEnv,它会在 self.step() 中使用以下代码来使用操作(第 74 行):

    force = min(max(action[0], self.min_action), self.max_action)
    

    因此,它限制了步骤中的力输入,尽管它已经创建了具有相同限制的 action_space(第 51 行):

    self.action_space = spaces.Box(
            low=self.min_action,
            high=self.max_action,
            shape=(1,),
            dtype=np.float32
    

    因此,在创建 action_space 和使用操作本身时考虑限制可能很有用。如果您不使用此限制,则经过训练的策略可能会导致高于您的限制的操作,尽管它们可能会接近该限制。

    干杯!!

    【讨论】:

      猜你喜欢
      • 2013-04-21
      • 1970-01-01
      • 2015-05-28
      • 1970-01-01
      • 2016-10-15
      • 2012-12-13
      • 2014-06-05
      • 1970-01-01
      • 2013-05-10
      相关资源
      最近更新 更多