[Feature] Normalize DreamerV3 REINFORCE return scale - #4067
Conversation
[ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/4067
Note: Links to docs will display an error until the docs builds have been completed. ❌ 2 New Failures, 3 Unrelated FailuresAs of commit 194e534 with merge base 2a77e48 ( NEW FAILURES - The following jobs have failed:
FLAKY - The following job failed but was likely due to flakiness present on trunk:
BROKEN TRUNK - The following jobs failed but was present on the merge base:👉 Rebase onto the `viable/strict` branch to avoid these failures
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
|
Reviewed published head The EMA percentile-span normalization is applied only to detached REINFORCE advantages, its buffers are checkpointed, validation covers rates/quantiles/minimum scale, and the reparameterization path remains unscaled. I found no additional code defect in this layer. Both new focused tests (normalization behavior and checkpoint restoration) pass, and Residual risk: the published head has not been tested against current main because of the conflict, and |
Stack from ghstack (oldest at bottom):
Summary:
Rationale:
DreamerV3 normalizes the scale of REINFORCE advantages so reward magnitude does not directly determine actor-gradient magnitude. Persisting the EMA state keeps resumed training numerically continuous while evaluation remains read-only.
Test plan: