NoisyLinear¶
- class torchrl.modules.NoisyLinear(in_features: int, out_features: int, bias: bool = True, device: Optional[Union[device, str, int]] = None, dtype: Optional[dtype] = None, std_init: float = 0.1)[source]¶
噪声线性层。
在 “Noisy Networks for Exploration” 中提出,https://arxiv.org/abs/1706.10295v3
噪声线性层是权重中添加了参数噪声的线性层。这种诱导的随机性可用于 RL 网络中,以帮助代理策略进行有效的探索。噪声的参数与任何其他剩余网络权重一起通过梯度下降学习。分解高斯噪声是通常采用的噪声类型。
- 参数:
in_features (int) – 输入特征维度
out_features (int) – 输出特征维度
bias (bool, optional) – 如果
True
,则会将偏置项添加到矩阵乘法:Ax + b。默认为True
device (DEVICE_TYPING, optional) – 层的设备。默认为
"cpu"
dtype (torch.dtype, optional) – 参数的数据类型。默认为
None
(默认 pytorch 数据类型)std_init (scalar, optional) – 优化前高斯标准差的初始值。默认为
0.1