File size: 1,997 Bytes
2e739de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
## 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:

1. **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`

2. **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`

3. **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}$

4. **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.

**Repo**: https://github.com/serval-uni-lu/CSPO/tree/962e696