我实现了一个dqn代理,经过几个小时的学习,奖励稳定在20-21。
当我想看代理玩的时候,我可以看到同样的走法被一次又一次地玩。重置时的环境总是朝相同的方向投球,我的代理学会了准确的移动,并且从不松动。
这是健身房乒乓球环境的行为吗?如何使env重置更具随机性?我正在使用NoopResetEnv包装器,它没有任何帮助!
发布于 2021-02-16 22:30:55
可以从两个原因来跟踪代理的行为:模型本身和pong环境。
对于该模型,如果您正在训练DQN模型,那么普通的DQN模型实际上是一个确定性模型,这意味着它将基于相同的情况给出相同的操作。你可以尝试的是为模型设置一个小的“随机性”,比如使用0.1概率来随机获得动作。例如,在stable baselines中,您可以通过将' deterministic‘设置为True来选择以确定性行为进行预测。
从环境的角度来看,我没有亲自尝试过,但是在openai gym env中有一个种子参数,您可以为openai gym env (env.seed(your_seed))设置种子。有关更多信息,请查看here和github。
https://stackoverflow.com/questions/58264156
复制相似问题