AI Gym的动作与状态数据是否已完成归一化处理?
Gym Pendulum环境DDPG适配相关问题解答
观测(状态)的归一化说明
env.step()返回的观测值未完成全维度归一化,三个观测维度的原生取值范围如下:
- 摆角余弦值:为角度的余弦计算结果,天然取值在[-1, 1]区间,无需额外归一化
- 摆角正弦值:为角度的正弦计算结果,天然取值在[-1, 1]区间,无需额外归一化
- 摆角速度:原生取值范围为[-8, 8],未做缩放处理
训练DDPG时建议手动将摆角速度维度除以8,映射到[-1, 1]区间,避免不同输入维度尺度差异过大拖慢神经网络收敛、甚至导致训练不稳定。
动作输入的取值要求
Pendulum环境定义的合法动作空间为连续区间[-2, 2],环境不会对传入的动作值做自动裁剪,传入超出该区间的数值会直接导致仿真逻辑异常、甚至触发运行报错。
DDPG的策略网络输出层通常采用tanh激活,原生输出范围为[-1, 1],你只需要将网络输出值线性乘以2,映射到[-2, 2]区间后再传入env.step()即可,不需要额外做其他归一化操作。
内容的提问来源于stack exchange,提问作者gfbio
相关产品推荐
相关产品推荐

