Free Everywhere, Exact on Trees: PPO's Dropped Correction Buys Sample Efficiency Under Aggressive Reuse
Organizations: Juna.ai, Kastanienallee 32, 10435 Berlin, Germany
Abstract
Common policy improvement methods, including TRPO, PPO, and GRPO, estimate policy improvement under the behavioral policy's state-visitation distribution rather than the improved policy's own. The substitution makes the objective estimable from the behavioral policy's rollouts but adds a bias growing with policy divergence, hence the trust region or clip, and hence no reuse of a batch far off-policy. We show that under history-injective dynamics, where each state is reached by exactly one history, the dropped state-visitation ratio equals the product of per-step policy ratios along the sampled prefix, on every trajectory and not only in expectation. The ratio is therefore restored exactly, from log-probabilities PPO already computes. Autoregressive generation and canonical-order constructive optimization are both history-injective. The exact correction pays importance-sampling variance that grows with the horizon, so we generalize it to a one-parameter family with PPO () and the full correction () as endpoints: a single bias--variance knob. A gradient-level analysis of the unclipped surrogate identifies two channels the correction acts through and three conditions under which it carries signal; an enumerable testbed confirms the conditions' predictions. On hard credit-assignment scheduling tasks, a short corrected warmup with aggressive early sample reuse learns faster than PPO and than the same reuse uncorrected; the marginal gain grows with task difficulty ( to learning-curve AUC), and the early win over PPO tracks the prefix bias that reuse incurs. A correction held throughout, or applied where clipping already contains the reuse bias, is null to harmful.
Figures & tables
| Variant | |
|---|---|
| PPO | (biased; no added variance) |
| Full | (unbiased; full IS variance) |
| Tempered | , |
| Truncated | |
| Clipped |
| Method | ESS | ||
|---|---|---|---|
| PPO ( ) | |||
| Tempered | |||
| Tempered | |||
| Tempered | |||
| Tempered | |||
| Full ( ) |
| Tabular | Transformer | ||
|---|---|---|---|
| Method | N-SGD | N-SGD | Adam |
| Tempered | |||
| Tempered | |||
| Tempered | |||
| Clipped | |||
| Clipped | |||
| Two-branch | Late-only | |||
|---|---|---|---|---|
| Method | (pp) | seeds | (pp) | seeds |
| Tempered | ||||
| Tempered | ||||
| Tempered | ||||
| Clipped | ||||
| Full ( ) | ||||
Appendix figures & tables32 assets
Supplementary material from the paper’s appendix.
Appendix
| Condition | Plain statement | Quantity to check | If it fails |
|---|---|---|---|
| C1: late-decided reward | reward still action-dependent after prefix mismatch has accumulated | at advantage-carrying positions ( ) | channels are inert; only variance remains |
| C2: prefix-dependent reward | upweighted and downweighted prefixes differ in value | contributions cancel across prefixes | |
| C3: sampling trap | an early mistake starves batches of rewarded trajectories | frequency of zero-reward batches | speed gain at most; same endpoint |
| Method | ( SEM) | Normalized ESS | ||
|---|---|---|---|---|
| PPO ( ) | ||||
| Tempered | ||||
| Tempered | ||||
| Tempered | ||||
| Tempered | ||||
| Full ( ) |
| Method | Break-through iter. | at iter. | Iter. to |
|---|---|---|---|
| Tempered | – | ||
| Clipped | – | ||
| Tempered | |||
| Tempered | – | ||
| Tempered | – | ||
| PPO | – |
| Method | Success rate ( ) | Final (mean SEM) |
|---|---|---|
| Tempered | ||
| Tempered | ||
| Clipped | ||
| Clipped | ||
| Tempered | ||
| PPO |
| Method | Success rate | Final (mean SEM) |
|---|---|---|
| Clipped | ||
| Tempered | ||
| Clipped | ||
| PPO | ||
| Tempered | ||
| Full |
| Method | Success rate | Final (mean SEM) |
|---|---|---|
| Tempered | ||
| PPO | ||
| Tempered | ||
| Tempered | ||
| Clipped | ||
| Clipped |
| Method | iter 2 | iter 3 | iter 4 | iter 5 | iter 10 | iter 20 |
|---|---|---|---|---|---|---|
| PPO | ||||||
| Tempered | ||||||
| (T P) pp |
| Method | (paired seeds) | vs. PPO (pp) | seeds positive | CI (pp) |
|---|---|---|---|---|
| Tempered | ||||
| Tempered | ||||
| Tempered | ||||
| Clipped | ||||
| Full ( ) |
| iter | 1 | 2 | 3 | 4 | 5 | 7 | 10 | 15 | 20 |
|---|---|---|---|---|---|---|---|---|---|
| mean | 0.778 | 0.649 | 0.454 | 0.333 | 0.229 | 0.096 | 0.014 | 0.001 | 0.000 |
| max | 0.996 | 0.996 | 0.988 | 0.957 | 0.973 | 0.668 | 0.180 | 0.008 | 0.004 |
| min | 0.312 | 0.141 | 0.035 | 0.012 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
| Method | iter 2 | iter 3 | iter 4 | iter 5 | iter 10 | iter 20 |
|---|---|---|---|---|---|---|
| PPO | ||||||
| Tempered | ||||||
| (T P) pp |
| Setting | Endpoint | (corr. PPO) | Seed wins | |
|---|---|---|---|---|
| HGNN dispatcher, FJSP , ; correction held for the whole run | ||||
| Published regime ( ), two deadlines | final on-time | , pp | ||
| Drift dial, hard deadline (reward floor) | final on-time | pp | ||
| pp | ||||
| pp | ||||
| Drift dial, fair deadline (saturated) | final on-time | pp | ||
| env (learner/optimizer fixed) | size | PPO AUC | corr. AUC | sign test |
|---|---|---|---|---|
| free (chosen terminal) | , | |||
| emergent (whole-traj. terminal) | , | |||
| emergent, longer horizon | , | |||
| coupled (busy ) | , | |||
| coupled, strong (busy ) | , |
| PPO | Corrected vs. PPO | Reuse only vs. PPO | Correction’s marginal: corrected reuse only | ||||||||
| Task / deadline | final | AUC | seeds | AUC | seeds | AUC | seeds | ||||
| Single-bottleneck flow shop, (easy); for the first iterations, then standard | |||||||||||
| Seven-machine flow shop, , three bottlenecks (hard); same warmup | |||||||||||
| PPO | Corrected vs. PPO | ||||
|---|---|---|---|---|---|
| Warmup length | final | AUC | seeds | ||
| held, whole run | |||||
| PPO | Lead over PPO | Marginal | (dose, win) | |||||
| Configuration | final | first half | second half | AUC | Dose | early | late | |
| Multi-bottleneck flow shop, horizon sweep at fixed | ||||||||