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¶
返回分佈的眾數。