The Certification Exponent: Instance-Optimal Sequential Certification of Policy Improvement from History Dependent Logs
Organizations: Microsoft Vancouver, BC, Canada
Abstract
Before a new policy replaces a deployed one, we often want a certificate, computed from logged episodes, that it is better. We ask how many episodes such a certificate needs when the logging policy is known but history-dependent, and the error probability must stay below in every environment consistent with the logs. The answer is an exponent : the smallest KL divergence from the logged law to a law with the same logged action probabilities under which the target does not improve. No sound certifier stops in fewer than expected episodes, at any , and whenever a plug-in Kelly certifier attains this rate to first order as . Coverage, computed by one backward induction, decides whether certification is impossible (), possible at a finite rate, or possible in a constant number of episodes (). By convex duality, the optimal certificate bets on the importance-weighted advantage and also places fair bets on the logged actions, so doubly robust control variates act as hedges rather than estimators. As a consequence, no choice of off-policy estimator changes , a coverage ceiling explains the curse of memory, and structural assumptions can be priced in exponent units. A cushion certifier extends the approach to trees too large to enumerate. In experiments the plug-in's median stopping time is 1.13-1.43x the lower bound on memory tasks, 1.13-1.51x on Tiger () and 1.17-1.64x on random trees. The best scalar betting baselines need up to 2.65x (memory) and 4.1x (Tiger) the plug-in's episodes; only on a few shallow random trees is a doubly robust bet faster, by at most 18%.
Figures & tables
| instance | CV-Kelly | hedged | scalar Kelly | mixture (MC) | |
|---|---|---|---|---|---|
| cue , | 1.16 [1.08, 1.21] | 1.13 [1.03, 1.18] | 1.72 [1.55, 1.85] | 1.39 [1.28, 1.51] | 1.57 |
| cue , | 1.10 [1.00, 1.19] | 1.21 [1.08, 1.31] | 2.39 [2.17, 2.68] | 21.8 [9.4, ] | 2.47 |
| random, depth 2 | 1.10 [0.98, 1.25] | 1.08 [0.93, 1.20] | 3.19 [2.84, 3.46] | — | 2.70 |
| Tiger , | 1.17 [1.05, 1.29] | 1.02 [0.92, 1.12] | 4.22 [3.74, 4.64] | — | 4.05 |
| instance | CV-Kelly | hedged | scalar | WSR-PDIS | WSR-DR | mixture | DR fit | DR orc | LS | EB | HCOPE | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cue | 25 | 31 | 37 | 52 | 57.5 | 114.5 | 47.5 | 72.5 | 83 | 1024 | 512 | 1024 (.91) |
| cue | 34 | 49 | 49 | 51.5 | 73 | 1337 (.98) | 99.5 (.90) | 582.5 | 862 | 1024 | 2048 | |
| cue | 60 | 75.5 | 86 | 182 | 182.5 | 252.5 | 703.5 (.63) | 159 | 179 | 1024 | 2048 | 2048 (.87) |
| cue | 70 | 79.5 | 103.5 | 210.5 | 222 | 2168 | 347 (.79) | 772 | 1726 | 2048 | 4096 | |
| cue | 151 | 200 | 194.5 | 441.5 | 391.5 | 545.5 | 387 | 377 | 2048 | 4096 | 4096 | |
| cue | 178 | 239 | 242.5 | 507.5 | 550 | 2852 | 908.5 | 3429 | 2048 | 4096 |
| median lower bound | median CV-Kelly | |||||||
| certifier | min | median | max | min | median | max | faster | finite |
| CV-Kelly | 1.17 | 1.38 | 1.64 | — | — | — | — | 24 |
| scalar Kelly | 1.52 | 2.80 | 4.46 | 1.16 | 1.89 | 3.82 | 0 | 24 |
| WSR-PDIS | 1.64 | 3.07 | 5.03 | 1.25 | 2.20 | 4.30 | 0 | 24 |
| WSR-DR | 1.47 | 9.91 | 0.93 | 6.96 | 1 | 23 | ||
| DR fit | 1.53 | 7.39 | 0.96 | 5.21 | 1 | 23 | ||
| certifier | runs | pooled | worst | runs | pooled | worst |
|---|---|---|---|---|---|---|
| CV-Kelly | 300 | 0.025 [0.021, 0.029] | 0.040 [0.021, 0.069] | 300 | 0/6300 [0, 5.9e-4] | 0 |
| CV-Kelly (raw plug-in) | 300 | 0.030 [0.025, 0.034] | 0.043 [0.023, 0.073] | 300 | 2/6300 [3.8e-5, 1.1e-3] | 0.003 |
| hedged | 300 | 0.033 [0.029, 0.038] | 0.050 [0.028, 0.081] | 300 | 1/6300 [4.0e-6, 8.8e-4] | 0.003 |
| mixture (MC) | 300 | 0.032 [0.028, 0.037] | 0.047 [0.026, 0.077] | 300 | 1/6300 [4.0e-6, 8.8e-4] | 0.003 |
| scalar Kelly | 1000 | 0.018 [0.016, 0.020] | 0.031 [0.021, 0.044] | 2000 | 12/42000 [1.5e-4, 5.0e-4] | 0.001 |
| leaves | ( ) | ( ) | |
|---|---|---|---|
| 3 | 32 | 0.0289 | 0.0363 |
| 4 | 68 | 0.0266 | 0.0312 |
| 5 | 140 | 0.0087 | 0.0144 |
| 6 | 284 | 0.0080 | 0.0132 |
| 7 | 572 | 0.0058 | 0.0112 |
| 8 | 1148 | 0.0055 | 0.0109 |
| cushion0 | linear | gru | average | scalar Kelly | EB | LS | HCOPE | ||
|---|---|---|---|---|---|---|---|---|---|
| 5 | 0.02 | 14858 | 56080 (.60) | (.20) | 18053 | 33977 (.83) | 65536 (.67) | (0) | (0) |
| 5 | 0.05 | 2462 | 7046 | 28608 (.93) | 2552 | 5715 | 16384 (.70) | (.03) | (.23) |
| 10 | 0.02 | 19502 (.93) | (.37) | (.03) | 22694 (.93) | 41110 (.87) | 65536 (.53) | (0) | (0) |
| 10 | 0.05 | 3510 | 6682 | 46493 (.83) | 3470 | 6384 | 16384 (.77) | (.13) | (.37) |
| 20 | 0.02 | 26996 (.87) | (.20) | (.17) | 27440 (.83) | 48838 (.70) | (.03) | (0) | (0) |
| 20 | 0.05 | 6286 | 11804 | 8814 (.77) | 5433 | 7648 | (.40) | (.13) | (.23) |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Result | Proof |
|---|---|
| Theorem 4.1 (lower bound) | Appendix B |
| Theorem 4.3 (duality) | Appendix C |
| Proposition 4.9 (coverage trichotomy) | Appendix D |
| Proposition 4.10 (positivity under partial coverage) | Appendix D |
| Theorem 4.11 (local expansion) | Appendix E |
| Proposition 4.12 (explicit local sandwich) | Appendix E |
| Symbol | Meaning |
|---|---|
| Trees, policies and laws | |
| , , | Episode, history (node), set of leaves (complete episodes) |
| , , | Child of by action or outcome ; node lies on the path to leaf |
| , | Logger (known, ) and target policy |
| Total reward of an episode | |
| , | and |
| under (alternative) | under (violates ) | |||||
|---|---|---|---|---|---|---|
| gain | universal | restricted | restricted | |||
| 1 | 0.1155 | 0.2763 | 2.39 | 82.5 [70, 95] | 35 [32, 38] | 61.5 [54, 68], 100% false ( ) |
| 2 | 0.0458 | 0.2763 | 6.03 | 203 [184, 229] | 35 [33, 37] | 40.5 [36, 44], 100% false ( ) |
| 3 | 0.0207 | 0.2763 | 13.35 | 417.5 [374, 486] | 35.5 [34, 38] | 39 [35, 42], 100% false ( ) |
| instance | CV-Kelly | hedged | scalar | mixture | DR fit | DR orc | grid |
|---|---|---|---|---|---|---|---|
| cue | 0.91 (18) | 1.34 | 0.23 | 0.25 | 0.37 | 0.49 | 0.004 |
| cue | 0.92 (20.5) | 1.58 | 0.44 | 0.33 | 0.52 | 0.30 | 0.005 |
| cue | 1.62 (24.5) | 2.09 | 0.12 | 0.37 | 0.71 | 0.66 | 0.005 |
| cue | 1.67 (25) | 1.77 | 0.09 | 0.36 | 0.55 | 0.22 | 0.006 |
| cue | 2.30 (32) | 2.67 | 0.10 | 0.59 | 0.40 | 0.48 | 0.006 |
| cue | 2.26 (32.5) | 2.99 | 0.12 | 0.59 | 0.40 | 0.20 | 0.007 |
| tree | leaves | refit | MiB | |||
|---|---|---|---|---|---|---|
| cue | 48 | 22 | 0.026 | 0.0 | 0.010 | 0.015 |
| cue | 192 | 94 | 0.10 | 0.6 | 0.052 | 0.11 |
| cue | 768 | 382 | 6.9 | 9.1 | 3.3 | 7.4 |
| random, depth 4 | 512 | 170 | 1.6 | 2.9 | 1.1 | – |
| DelayedCue , | 128 | 52 | 0.017 | 0.2 | 0.022 | 0.090 |
| DelayedCue , | 512 | 212 | 1.9 | 3.9 | 0.32 | 2.6 |
| exponent ratios | online factor | median lower bound | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| leaves | bound | cushion0 | linear | cushion0 | linear | cushion0 | CV-Kelly | scalar | ||
| 32 | 542 | 1.000 | 1.36 | 1.32 | 1.26 | 3.07 | 1.71 | 1.56 | 6.08 | |
| 128 | 552 | 1.000 | 1.33 | 1.25 | 1.63 | 3.20 | 2.17 | 1.83 | 4.99 | |
| 512 | 562 | 1.000 | 1.36 | 1.24 | 1.54 | 3.20 | 2.09 | 3.17 | 5.26 | |
| 512 | 1138 | 1.000 | 1.48 | 1.42 | 1.51 | 2.93 | 2.24 | 1.93 | 5.34 | |
| family | leaves | ceiling | ||||||
| Jajoo | 3 | 18 | 0.2222 | 0.5556 | 0.02414 | 0.1086 | 0.09010 | 0.1221 |
| Jajoo | 4 | 54 | 0.1481 | 0.5370 | 0.01724 | 0.1164 | 0.06007 | 0.0814 |
| Jajoo | 5 | 162 | 0.0988 | 0.5247 | 0.01198 | 0.1213 | 0.04005 | 0.0543 |
| Jajoo | 6 | 486 | 0.0658 | 0.5165 | 0.00820 | 0.1245 | 0.02670 | 0.0362 |
| Jajoo | 7 | 1458 | 0.0439 | 0.5110 | 0.00556 | 0.1267 | 0.01780 | 0.0241 |
| Jajoo | 8 | 4374 | 0.0293 | 0.5073 | 0.00375 | 0.1280 | 0.01187 | 0.0161 |
Sequential Hypothesis Testing
Sequential hypothesis testing makes decisions as evidence arrives, controlling errors while adapting how much data to collect and when to stop.
See all 60 papers