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, optional) – 用於計算運行平均值和變異數的動量因子。預設為
0.01
。eps (float, optional) – 加到變異數的小數值,避免除以零。預設值為
1e-5
。max_r (float, optional) – 縮放因子 r 的最大值。預設值為
3.0
。max_d (float, optional) – 偏差因子 d 的最大值。預設值為
5.0
。warmup_steps (int, optional) – 用於 running mean 和 variance 的 warm-up 步驟數。預設值為
10000
。smooth (bool, optional) – 如果
True
,行為會從常規的 batch-norm (當iter=0
時) 平滑轉換到 batch-renorm (當iter=warmup_steps
時)。 否則,行為將在iter=warmup_steps
時從 batch-norm 轉換為 batch-renorm。預設值為False
。