我正在尝试将稳定的baselines3库https://stable-baselines3.readthedocs.io/en/master/中的PPO算法应用到我创建的自定义环境中。
有一件事我不明白,那就是下面这行:
mean_reward, std_reward = evaluate_policy(model, env, n_eval_episodes=10, deterministic=True)我应该总是让确定性等于True吗?当我保持deterministic=为“True”时,我的自定义环境总是“以某种方式”得到解决(即总是返回1 +/- 0标准的奖励)。
当我将其更改为"False“时,它开始以合理的方式运行(即,有时成功(reward=1),有时失败(reward=0)。
发布于 2021-05-23 07:39:48
该参数对应"Whether to use deterministic or stochastic actions"。所以问题是,当你根据给定的状态选择动作时,actor_network会给出一个概率分布。例如,对于两个可能的操作:a1和a2:[0.25, 0.75]。如果你使用deterministic=True,结果将是a2,因为它有更多的概率。在deterministic=False的情况下,将以给定的概率[0.25, 0.75]选择结果操作。
https://stackoverflow.com/questions/66455636
复制相似问题