TruncatedNormal¶
- class torchrl.modules.TruncatedNormal(loc: Tensor, scale: Tensor, upscale: Union[Tensor, float] = 5.0, low: Union[Tensor, float] = - 1.0, high: Union[Tensor, float] = 1.0, tanh_loc: bool = False)[原始碼]¶
實作具有位置縮放的截斷常態分佈。
位置縮放可防止位置「太遠」離 0,這最終會導致數值不穩定的樣本和不良的梯度計算(例如,梯度爆炸)。實際上,位置是根據以下公式計算的
\[loc = tanh(loc / upscale) * upscale.\]可以透過關閉 tanh_loc 參數來停用此行為(請參閱下文)。
- 參數:
loc (torch.Tensor) – 常態分佈位置參數
scale (torch.Tensor) – 常態分佈 sigma 參數(變異數的平方根)
upscale (torch.Tensor 或 數字, 選填) –
公式中的 'a' 比例因子
\[loc = tanh(loc / upscale) * upscale.\]預設值為 5.0
min (torch.Tensor 或 數字, 選填) – 分佈的最小值。預設值 = -1.0;
max (torch.Tensor 或 數字, 選填) – 分佈的最大值。預設值 = 1.0;
tanh_loc (布林值, 選填) – 如果
True
,則上述公式用於位置縮放,否則保留原始值。預設值為False
;
- property mode¶
傳回分佈的眾數。