IndependentNormal¶
- class torchrl.modules.IndependentNormal(loc: Tensor, scale: Tensor, upscale: float = 5.0, tanh_loc: bool = False, event_dim: int = 1, **kwargs)[源代码]¶
实现带位置缩放的正态分布。
位置缩放可以防止位置“离 0”太远,这最终会导致不稳定的样本和糟糕的梯度计算(例如梯度爆炸)。实际上,位置根据以下公式计算:
\[loc = tanh(loc / upscale) * upscale.\]通过关闭 tanh_loc 参数(如下所示)可以禁用此行为。
- 参数:
loc (torch.Tensor) – 正态分布位置参数
scale (torch.Tensor) – 正态分布 sigma 参数(方差的平方根)
upscale (torch.Tensor 或 number, optional) –
公式中的“a”缩放因子
\[loc = tanh(loc / upscale) * upscale.\]默认为 5.0
tanh_loc (bool, optional) – 如果为
False
,则上述公式用于位置缩放,否则保留原始值。默认为False
;
- property mode¶
返回分布的众数。