IndependentNormal¶
- 类 torchrl.modules.IndependentNormal(loc: Tensor, scale: Tensor, upscale: float = 5.0, tanh_loc: bool = False, event_dim: int = 1, **kwargs)[源]¶
实现一个带有位置缩放的 Normal 分布。
位置缩放可以防止位置“离 0 太远”,这最终会导致数值采样不稳定和梯度计算不良(例如梯度爆炸)。
实际上,位置是根据以下公式计算的:\[loc = tanh(loc / upscale) * upscale.\]可以通过关闭 tanh_loc 参数(见下文)来禁用此行为。
- 参数:
loc (torch.Tensor) – Normal 分布的位置参数
scale (torch.Tensor) – Normal 分布的 sigma 参数(方差的平方根)
upscale (torch.Tensor 或 数字, 可选) –
公式中的“a”缩放因子
实际上,位置是根据以下公式计算的:\[loc = tanh(loc / upscale) * upscale.\]默认为 5.0
tanh_loc (bool, 可选) – 如果为
False
,则位置缩放使用上述公式;否则保留原始值。默认为False
;
- 属性 mode¶
返回分布的众数。