2

我正在尝试将来自 stable baselines3 库https://stable-baselines3.readthedocs.io/en/master/的 PPO 算法应用到我制作的自定义环境中。

我不明白的一件事是以下行:

mean_reward, std_reward = evaluate_policy(model, env, n_eval_episodes=10, deterministic=True)

我应该总是让确定性等于真吗?当我保持确定性 =“真”时,我的自定义环境“以某种方式”总是得到解决(即,总是返回 1 +/- 0 标准的奖励)。

当我将其更改为“False”时,它开始以合理的方式表现(即,有时它成功(reward=1),有时它失败(reward=0)。

4

1 回答 1

2

该参数对应于"Whether to use deterministic or stochastic actions"。所以问题是当你根据给定的状态选择一个动作时,actor_network会给你一个概率分布。例如对于两个可能的动作a1a2 : [0.25, 0.75]。如果使用deterministic=True,结果将是动作a2,因为它具有更大的概率。在这种情况下deterministic=False,将以给定的概率选择结果动作[0.25, 0.75]

于 2021-05-22T23:39:48.440 回答