OpenAI Gym: 理解 `action_space` 表示法 (spaces.Box)

38

我想在OpenAI的CarRacing-v0环境中设置一个强化学习智能体,但在此之前我想了解一下动作空间。在github上的代码中第119行写道:

self.action_space = spaces.Box( np.array([-1,0,0]), np.array([+1,+1,+1]))  # steer, gas, brake

我该如何阅读这一行?虽然我的问题与CarRacing-v0具体相关,但我想了解一般情况下spaces.Box()的表示方法。

1个回答

59

Box 意味着您正在处理实值数量。

第一个数组 np.array([-1, 0, 0]) 是最低可接受值,第二个 np.array([+1, +1, +1]) 是最高可接受值。在这种情况下(使用注释),我们有三个可用操作:

  1. 转向:取值范围为 [-1, 1]
  2. 加速:取值范围为 [0, 1]
  3. 制动:取值范围为 [0, 1]

self.action_space = spaces.Box( np.array([-1,0,0]), np.array([+1,+1,+1])) # steer, gas, brake 的形状是什么?self.action_space.shape == [2, 3] 是正确的吗? - Artod
1
我运行了一个测试,它给了我(3,)。所以本质上self.action_space.shape返回的是至少对于连续动作的动作数量,对吗? - Artod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接