Tay*_*ain 3 reinforcement-learning deep-learning openai-gym
因此,我尝试使用gym 在自定义环境中执行一些强化学习,但是我对spaces.box 的工作原理感到非常困惑。每个参数的含义是什么?例如,如果我有一个涉及大量信息的游戏状态,例如角色的生命值、他们的统计数据和能力,我不确定这样的东西是否会在 Box 中表示为观察状态。另外,在一款具有多种能力的游戏中,最好对它们进行一次性编码,还是将它们保留为常规增量 Id,因为我想使用神经网络来查找预期的 Q 值。
spaces.Box意味着您正在处理实际价值的数量。
例如:
action_space = spaces.Box(np.array([-1,0,1]), np.array([1,1,2]))
这里的动作是 3 维的。此外,[-1,0,1]是最低接受值,[1,1,2]是最高接受值。
在本质上,a=[a1,a2,a3],
a1位于范围 [-1,1] 内、a2位于范围 [0,1] 内、a3位于范围 [1,2] 内。
如果有很多种类繁多的“能力”,那么如果使用 one-hot 编码,状态向量可能会变得相当大。因此,建议使用常规增量 ID。但将它们归一化到范围 [0,1] 以便神经网络激活不会饱和。
| 归档时间: |
|
| 查看次数: |
4079 次 |
| 最近记录: |