fix(coef_train): align native-surrogate default lr to the M10 corrected barrier - #106
Merged
Merged
Conversation
…ed barrier train_native() hardcoded the surrogate refinement lr at 2e-4 — the pre-M10 value — which OVERRODE the C++ coef_trainer's own default when dispatching to the native backend. The M10 barrier fix (#61) made the IPC barrier steeper (b'' gains +1/d^2), so 2e-4 now overshoots and DEGRADES the trained policy: on the city scene (seed 0), trained reach falls 71% -> 26%. Retuned to 5e-5, matching libcvc's coef_train.h default (1e-4..1e-5 all recover; 5e-5 is mid-band). The bicycle path keeps its own 1e-5. The torch imitation trainer (lr=1e-3) and scripts/train_on_geometry.py (lr=3e-4) are different regimes not covered by the surrogate sweep and are left unchanged pending their own validation. See the training guide's corrected-barrier section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The M10 barrier fix (#61) made the IPC barrier steeper (b'' gains +1/d²).
train_native()hardcoded the surrogate refinement lr at 2e-4 — the pre-M10 value — which overrode the C++ coef_trainer's default when dispatching to the native backend. At 2e-4 the corrected (steeper) barrier now overshoots and degrades the trained policy: on the city scene (seed 0), trained reach falls 71% → 26%.Retuned to 5e-5 (mid-band of libcvc
coef_train.h's 1e-4..1e-5 recovery range; the bicycle path keeps its own 1e-5). The torch imitation trainer (1e-3) andscripts/train_on_geometry.py(3e-4) are different regimes, left unchanged pending their own validation.The M10 barrier follow-up flagged during the Workstream-D Phase-0 audit (the nav half of "both nav + comm"): the barrier gradient itself is already landed (#61); this lands the paired lr retune so the corrected barrier trains cleanly. One file,
grl_snam/tools/coef_train.py(+5/−1).