"deterministic = True"在盒式、多二进制或多离散环境中有意义吗?



使用稳定基线3:

假设deterministic=True总是以最高的概率返回动作,这对于动作空间为"0"的环境意味着什么;框"多二进制";或";多离散";代理应该在哪里同时选择多个操作?deterministic=True在这些环境中是如何工作的/它是否按照预期的方式工作?

这个问题部分是基于这个关于的问题

什么是";确定性=真";在稳定的基线3库意味着什么?

并且可能与我的另一个问题有关

强化学习确定性策略比非确定性策略差

确定性所做的只是返回一个分布模式,而不是一个样本

    def get_actions(self, deterministic: bool = False) -> th.Tensor:
        """
        Return actions according to the probability distribution.
        :param deterministic:
        :return:
        """
        if deterministic:
            return self.mode()
        return self.sample()

你使用什么动作空间并不重要。从数学的角度来看,RL中总是有一个动作。事实上,你的行动空间";外观;多维只是使实际动作空间呈指数级增大,仅此而已。因此,根据特定的代理,将发生的情况是,每个动作组通常都有独立的分布(例如,神经网络中的一个单独的头(,因此每个组都会得到其";最可能的动作";,或者,如果你有一个更先进的神经网络,可以用自回归模型等参数化全联合分布。

简言之,是的,它与在其他行动空间中的意义相同,问题更多地在于如何参数化政策,而通过天真的参数化,事情的表达能力较弱,但在实践中,它在许多代理中使用时没有任何问题。

相关内容

  • 没有找到相关文章

最新更新