使用稳定基线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中总是有一个动作。事实上,你的行动空间";外观;多维只是使实际动作空间呈指数级增大,仅此而已。因此,根据特定的代理,将发生的情况是,每个动作组通常都有独立的分布(例如,神经网络中的一个单独的头(,因此每个组都会得到其";最可能的动作";,或者,如果你有一个更先进的神经网络,可以用自回归模型等参数化全联合分布。
简言之,是的,它与在其他行动空间中的意义相同,问题更多地在于如何参数化政策,而通过天真的参数化,事情的表达能力较弱,但在实践中,它在许多代理中使用时没有任何问题。