Claim 3: Evaluation on 9 Safety Gymnasium tasks
Claim: CSPO is evaluated on 9 Safety Gymnasium tasks (5 locomotion: Ant, Humanoid, HalfCheetah, Hopper, Swimmer; 4 navigation: PointGoal, PointButton, CarGoal, CarButton) against 12 baselines including PPO-Lag, CPPO-PID, CPO, PCPO, C-TRPO, FOCOPS, CUP, P3O, IPO, EPO, and APPO (Section on experiments, Table 1).
Verification: We verified the experimental setup from the official codebase:
Environments: The benchmark script at https://github.com/serval-uni-lu/CSPO/blob/962e696/examples/benchmarks/run_experiment_grid.py (lines 34-44) confirms all 9 environments:
- Locomotion:
SafetyAntVelocity-v1,SafetyHopperVelocity-v1,SafetyHumanoidVelocity-v1,SafetyHalfCheetahVelocity-v1,SafetySwimmerVelocity-v1 - Navigation:
SafetyPointGoal1-v0,SafetyPointButton1-v0,SafetyCarGoal1-v0,SafetyCarButton1-v0
- Locomotion:
Baselines: The codebase includes all 12 baselines in the Omnisafe framework:
PPOLag,CPPOPID(primal-dual)CPO,PCPO,C-TRPO(second-order trust-region)FOCOPS,CUP(first-order)P3O,IPO,EPO(penalty-based)APPO(augmented Lagrangian)- All registered in
omnisafe/algorithms/__init__.py
Hyperparameters: CSPO config at https://github.com/serval-uni-lu/CSPO/blob/962e696/omnisafe/configs/on-policy/CSPO.yaml:
- Total steps: 10M, steps per epoch: 20K, update iters: 10, batch size: 512
- Actor/critic: 2-layer MLP with 64 hidden units, tanh activation
- $\alpha = 0.3$, $\lambda_{\text{init}} = 0.001$, $\lambda_{\text{lr}} = 0.035$, $\lambda_{\text{max}} = 2.0$
- $w_{\text{clip}} \in [0.0001, 40]$, EMA $\beta = 0.9$, $\epsilon = 10^{-8}$
Training protocol: 5 seeds per experiment, IQM with bootstrap 95% CI (Table 1).
Result: Claim 3 is supported — the experimental setup is well-documented and reproducible from the official codebase.