Conditional Sinkhorn Adversarial Augmentation
Implementation & benchmark of arXiv:2607.24983 — Generative Distributionally Robust Optimization
Source paper: Generative Distributionally Robust Optimization arXiv:2607.24983 ⓘ · analyzed Aug 31, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace unconstrained input perturbations or generic distribution shifts with a conditional adversarial generator whose samples remain on a prescribed generator manifold. For each context x, maximize downstream loss over generator parameters within a debiased Sinkhorn-divergence radius of the nominal conditional generator, then minimize predictor loss against the resulting worst-case samples.
Formulas
Mathematical statement
The paper's population problem is equation (1.1): w*_{rho,epsilon}(x) is a decision minimizing worst-case expected loss over adversarial generator parameters psi in Psi subject to S_epsilon(Q_psi(·|x), P_hatphi(·|x)) <= rho. Here x is the observed context, w is the neural-network decision or prediction, Y is the generated output, f(w,Y) is the downstream loss, P_hatphi(·|x) is the nominal conditional law generated by parameters hatphi, Q_psi(·|x) is the adversarial conditional law generated by parameters psi, Psi is the allowed adversarial-generator parameter set, rho >= 0 is the ambiguity radius, and S_epsilon is the debiased Sinkhorn divergence with entropic regularization epsilon. The constraint restricts the adversary to structurally admissible generator outputs while the transport divergence measures displacement using samples rather than likelihoods. For empirical sample sets A={a_i}_{i=1}^n and B={b_j}_{j=1}^m, estimate the regularized transport cost OT_epsilon and debias it as S_epsilon(A,B)=OT_epsilon(A,B)-0.5 OT_epsilon(A,A)-0.5 OT_epsilon(B,B). A differentiable penalty enforces the radius using lambda >= 0, followed by projected multiplier ascent.
Implementation notes
1. Integration point: use this as a robust-training wrapper around a predictor, policy, or conditional diffusion/GAN generator. Given a context minibatch x, keep a frozen nominal generator G_hatphi(x,z), and add an adversarial copy G_psi(x,z). The predictor receives samples from G_psi during the outer update. A lightweight residual adapter on the nominal generator is preferable to duplicating the entire model. 2. Pseudocode: sample x and noises z_i; compute y_i_adv=G_psi(x,z_i) and y_i_nom=G_hatphi(x,z'_i); compute L_task=mean_i f(w,y_i_adv); construct pairwise ground-cost matrices C_adv,nom, C_adv,adv, and C_nom,nom; run Sinkhorn iterations with entropic coefficient epsilon to obtain OT_epsilon for all three pairs; set S=OT_adv,nom-0.5*OT_adv,adv-0.5*OT_nom,nom; set L_adv=L_task-lambda*relu(S-rho); take K gradient-ascent steps on psi while detaching w; then take one gradient-descent step on w using the final adversarial samples while detaching psi; update lambda=max(0,lambda+eta_lambda*(S-rho)). 3. Compute from the paper: the conditional generator restriction, Sinkhorn-radius constraint, and min-max ordering. Estimate empirically: transport costs, radius violations, and rho. Warm-start psi and choose rho from a quantile of nominal-versus-perturbed Sinkhorn distances. 4. First experiment: train a small conditional trajectory predictor or CIFAR conditional classifier, comparing ordinary augmentation, unconstrained adversarial augmentation, and this method at equal generated samples and FLOPs. Measure clean accuracy, rare-context or corruption loss, Sinkhorn violation rate, and adversarial loss. Success means lower shifted-distribution loss with limited clean-accuracy degradation, S remaining near rho, and stable outer optimization.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: No measurable effect
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 8/10
Built a differentiable conditional-generator wrapper using a residual adversarial shift, debiased entropic Sinkhorn divergence, radius penalty, projected multiplier ascent, and outer predictor descent. The mechanism checks succeeded: S(delta) fit k*delta^2 with k=0.9858 and maximum relative error 0.276%, the rho=0.36 boundary was predicted at delta=0.6043 and observed at 0.6 (error 0.0043), S(A,A)=0, and lambda stayed zero below rho while increasing after violations. The tiny downstream regression comparison did not produce a win: Sinkhorn training retained clean MSE 0.1893 but had shifted MSE 0.4956 versus ordinary 0.4768; unconstrained augmentation traded clean MSE 0.4538 for shifted MSE 0.1956. Thus worked=true reflects confirmed mathematical mechanism, not an observed application-level improvement.
- Agent confidence
- 8/10
- Baseline
- ordinary: clean MSE 0.1882, shifted MSE 0.4768
- Idea
- conditional Sinkhorn: clean MSE 0.1893, shifted MSE 0.4956, final S 0.2552 versus rho 0.16, lambda 0.8381; math scaling fit k=0.9858, max relative error=0.00276, radius-boundary absolute error=0.00431
Limitations: This is a one-dimensional synthetic conditional-regression toy, not a CIFAR, trajectory, GAN, or diffusion experiment. The adversarial generator is only a scalar residual adapter, the Sinkhorn implementation uses small uniform empirical samples and fixed iterations, there is one seed, and the final multiplier still permits a modest radius violation; no FLOP or wall-clock comparison was performed.
How to run: python3 experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.24983)
Ahead of the baseline (−0.1%) but not statistically significant (p=0.0797, wins 6 / 8 paired seeds).
- Benchmark
- Sequence modeling
- Model
- transformer_tiny
- Paired seeds
- 8
- Baseline mean
- 0.433
- Idea mean
- 0.4327
- Effect (Δ)
- -0.0003 (−0.1%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0797 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.1%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Only the registered sequence track was tested, using 400 training samples, 200 test samples, 8 epochs, and a small three-setting idea sweep. No vision, dynamics, tabular, corruption-shift, wall-clock, or FLOP comparison was run; the adversarial residual basis was a lightweight two-mode manifold rather than a learned generator.
How to run: python3 bench_experiment.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
Implemented Conditional Sinkhorn Adversarial Augmentation in a local transformer_tiny sequence-training loop with debiased entropic Sinkhorn distance, a smooth residual trajectory generator, radius penalty, and projected multiplier update. On eight paired seeds, the idea had mean test MSE 0.4326547 versus 0.4329637 for the tuned baseline, but the paired improvement was not significant (delta=-0.0003090, p=0.0797), so the required benchmark win was not observed. The standalone translation-scaling math check passed, while the trained adversary was effectively inactive with mean Sinkhorn distance 9.94e-08 versus rho=0.035 and mean lambda 0.
- Baseline
- sequence/transformer_tiny: mean test MSE 0.4329636656, std 0.0464950719, 8 seeds
- Idea
- Conditional Sinkhorn: mean test MSE 0.4326546714, std 0.0466487336, paired delta -0.0003089942, 6/8 wins, permutation p=0.0797
Benchmark result
Ahead of the baseline (−0.1%) but not statistically significant (p=0.0797, wins 6 / 8 paired seeds).
- Benchmark
- Sequence modeling
- Model
- transformer_tiny
- Paired seeds
- 8
- Baseline mean
- 0.433
- Idea mean
- 0.4327
- Effect (Δ)
- -0.0003 (−0.1%; negative = idea better)
- Wins
- 6 / 8 paired seeds
- p-value
- 0.0797 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±0.1%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Only the registered sequence track was tested, using 400 training samples, 200 test samples, 8 epochs, and a small three-setting idea sweep. No vision, dynamics, tabular, corruption-shift, wall-clock, or FLOP comparison was run; the adversarial residual basis was a lightweight two-mode manifold rather than a learned generator.
How to run: python3 bench_experiment.py
Artifacts
- bench_experiment.py 6.9 KB View Raw
- bench_report.json 4.5 KB View Raw
- experiment.py 4.4 KB View Raw
- report.md 1.8 KB View
- report_bench_2026-08-31T172039.md 6.5 KB View
- results.json 1.9 KB View Raw