BatchRenorm1d¶
- class torchrl.modules.BatchRenorm1d(num_features: int, *, momentum: float = 0.01, eps: float = 1e-05, max_r: float = 3.0, max_d: float = 5.0, warmup_steps: int = 10000, smooth: bool = False)[source]¶
BatchRenorm 模块 (https://arxiv.org/abs/1702.03275)。
代码改编自 https://github.com/google-research/corenet
BatchRenorm 是标准 BatchNorm 的增强版本。与 BatchNorm 不同,它在初始预热阶段后利用运行统计量来归一化批次。这种方法减少了在长时间训练期间可能发生的“异常值”批次的影响,使 BatchRenorm 对于长期训练运行更稳健。
在预热阶段,BatchRenorm 的功能与 BatchNorm 层完全相同。
- 参数:
num_features (int) – 输入张量中的特征数量。
- 关键字参数:
momentum (float, 可选) – 用于计算运行均值和方差的动量因子。默认为
0.01
。eps (float, 可选) – 添加到方差中的小值,以避免除以零。默认为
1e-5
。max_r (float, 可选) – 缩放因子 r 的最大值。默认为
3.0
。max_d (float, 可选) – 偏差因子 d 的最大值。默认为
5.0
。warmup_steps (int, 可选) – 运行均值和方差的预热步数。默认为
10000
。smooth (bool, 可选) – 如果为
True
,则行为从常规批归一化(当iter=0
时)平滑过渡到批量重归一化(当iter=warmup_steps
时)。否则,行为将在iter=warmup_steps
时从批归一化过渡到批量重归一化。默认为False
。