Repository navigation
E57: on a clean environment, faults the curve checks miss leave policies as good as fault-free ones; every wrecked policy was already caught - #124
Merged
Conversation
…ated on a clean environment, is a policy trained through a boundary fault worse, and are the faults both curve checks miss? Every E54 and E56 final policy (834) plays 50 deterministic episodes in a fresh gymnasium env, seeds 10000-10049. Harmed = clean return more than 3 s.d. below the fault-free band (seeds 10-19). Predictions: few false alarms (P1), no measurable harm at one value (P2), Pendulum reward:zero harmed behind a perfect-looking log (P3). evaluate.py, run.sh, summarise.py and verdicts.py are committed here, before any registered run.
…s that both curve checks miss are as good as fault-free ones; every policy the faults wrecked, the curve checks had already caught 834 of 834 evaluations; V1, V2, P1-P3 hold. Harmed while silent on the curve: 5 of 255 runs on Pendulum (below all 13 fault-free runs), 0 on HalfCheetah and Hopper. Exploratory: silent runs sit 0.03-0.65 band s.d. above the band. Pendulum reward:zero logs 0 (best possible) while its policies score -1196 to -1639. One amendment: a parsing fix in summarise.py for the loud faults' blank cells, made before any output.
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.
Stacked on #123 (E56): it reads E56's
runs.csv.The question
Reviewers of the workshop draft asked whether the boundary faults matter at all. E54–E56 judged each run by what the trainer saw. This experiment judges the run's outcome instead: the policy it produced, evaluated on a clean environment. Is a policy trained through a fault worse, in particular one whose fault both curve checks miss?
The answer
No, in these tasks. Each of the 834 final policies from E54 and E56 played 50 deterministic episodes in a fresh gymnasium env.
reward:zerologged 0, the best possible return, while its policies scored -1196 to -1639.Every check and prediction holds (
results/verdicts.txt). There is one amendment.summarise.pycould not parse the blank cells of the loud faults, which the protocol excludes. It was fixed before any output was seen, and no count changed.What this means for the paper: a silent fault is silent on a clean evaluation too. What it changes is the run itself (its weights and its logs), not the policy's quality. Only a check of the boundary itself, the step ledger or the episode record, tells such a run apart.