Perturb, Repair, Verify: Self-Play Vision-Language Verifiers for Compositional Understanding
Organizations: University of Southern California · VisLab, University of Amsterdam
Abstract
Vision-language verifiers judge whether an image faithfully matches a textual description, yet existing training pipelines typically rely on static supervision from stronger external judges or curated hard-negative data. Such supervision requires external generation or annotation, is teacher-bounded, and is difficult to adapt as model failures evolve. We introduce PROVE (Perturb-and-Repair Optimization for Vision-Language Evaluation), a self-play framework that trains verifiers through a closed perturb-verify-repair-verify loop. Starting from a known-correct image-caption pair, a Mutator introduces a typed perturbation over objects, attributes, counts, or relations. The verifier then judges the perturbed caption and provides textual feedback, which a Repairer uses to recover a faithful caption for re-verification. These two verification rounds produce structured rewards for informative mismatches and visually grounded repairs. Since perturbation, verification, and repair are role-conditioned behaviors of the same evolving multimodal backbone, updating the shared parameters also improves the verifier itself. Experiments show that PROVE improves fine-grained compositional verification across model scales and families and strengthens visual-detail robustness on the reference backbone, with limited, benchmark-dependent changes on broader multimodal tasks.
Figures & tables
| Model | ARO | VL-CheckList | ColorSwap | FG-OVD | Overall | |||||
| Rel | Attr | Avg | Attr | Obj | Rel | Avg | ITT | Avg | Avg | |
| Contextual comparison: discriminative VLMs | ||||||||||
| CLIP [ 32 ] | 59.00 | 62.00 | 60.50 | 67.93 | 82.83 | 64.19 | 71.65 | 35.67 | 47.33 | 53.79 |
| NegCLIP [ 44 ] | 81.00 | 71.00 | 76.00 | 72.24 | 87.00 | 71.39 | 76.87 | 35.67 | 41.69 | 57.56 |
| GNM [ 33 ] | 65.00 | 65.00 | 65.00 | 70.15 | 85.91 | 64.10 | 73.38 | 13.00 | 38.79 | 47.54 |
| PANeg [ 2 ] | 65.07 | 67.94 | 66.51 | 76.51 | 88.13 | 69.90 | 78.17 | 17.67 | 44.98 | 51.83 |
| Model | Wino GS | MMVP Pair | MMBench | Avg |
| Discriminative VLMs | ||||
| CLIP [ 32 ] | 8.00 | 15.55 | – | – |
| NegCLIP [ 44 ] | 8.00 | 26.67 | – | – |
| PANeg [ 2 ] | 6.75 | 21.48 | – | – |
| DAC-SAM [ 7 ] | 6.25 | 23.70 | – | – |
| DAC-LLM [ 7 ] | 3.25 | 28.14 | – | – |
| Method / variant | Comp. Avg. | Broader Avg. |
| Qwen3.5-2B | 83.22 | 58.77 |
| Fixed typed negatives | 85.02 | 59.68 |
| External-judge distillation | 86.29 | 60.72 |
| Verifier self-training | 85.66 | 60.21 |
| No Repairer or second verification | 84.24 | 59.31 |
| Repairer without verifier feedback | 85.17 | 59.84 |
| Comp. Avg. | Broader Avg. | |||
| Backbone | Base | PROVE | Base | PROVE |
| Qwen3.5-2B | 83.22 | 86.85 | 58.77 | 61.03 |
| Qwen3.5-4B | 85.15 | 88.71 | 60.92 | 63.26 |
| InternVL3-2B | 82.19 | 85.34 | 58.16 | 60.99 |
Appendix figures & tables16 assets
Supplementary material from the paper’s appendix.
Appendix
| Hyperparameter | Value |
| Backbone | Qwen3.5-2B |
| Training data | 48k image-caption pairs |
| Validation data | 5k image-caption pairs |
| max prompt length / response length | 4096 / 1024 |
| rollout batch size | 48 |
| rollout size | 3 |
| Benchmark | Base | PROVE @450 | PROVE @600 | PROVE @750 |
| Winoground (2-AFC) | 69.50 | 74.50 | 74.75 | 75.62 |
| ARO macro | 73.57 | 78.01 | 78.27 | 78.66 |
| SugarCrepe micro | 93.76 | 94.24 | 94.28 | 94.17 |
| VL-CheckList 2-axis avg | 79.80 | 83.58 | 83.87 | 84.20 |
| POPE F1 | 89.57 | 89.52 | 89.58 | 89.66 |
| MMVP Pair Acc. | 56.00 | 59.33 | 57.33 | 60.00 |
| Metric | Base | PROVE @450 | PROVE @600 | PROVE @750 |
| Attribute axis | 76.75 | 80.72 | 81.13 | 81.46 |
| Object axis | 91.20 | – | – | 94.14 |
| Relation axis | 82.85 | 86.45 | 86.60 | 86.95 |
| 3-axis average | 83.60 | – | – | 87.52 |
| Role | Component | Purpose |
| Mutator | Expose verifier blind spots | |
| Mutator | Prefer perturbations that remain challenging after repair | |
| Mutator | Penalize overly wide edits | |
| Mutator | invalid-action penalty | Fixed penalty when the editor rejects the action |
| Repairer | Reward repaired captions accepted by the verifier | |
| Repairer | Reward a change in the verifier judgment |
| Method | Supervision generation | Target training | Total GPU-hours | Generated tokens/source |
| Fixed typed negatives | 4.8 | 43.2 | 48.0 | 46 |
| External-judge distillation | 27.6 | 45.3 | 72.9 | 214 |
| PROVE | Online | 88.0 | 88.0 | 1,126 |
| Training variant | Comp. Avg. | Broader Avg. |
| Qwen3.5-2B | 83.22 | 58.77 |
| Fixed typed negatives | 85.02 | 59.68 |
| No Repairer or second verification | 84.24 | 59.31 |
| Repairer without verifier feedback | 85.17 | 59.84 |
| GRPO instead of DrGRPO | 86.42 | 60.71 |
| Without Mutator reward | 85.03 | 59.76 |
| Role configuration | Comp. Avg. | Broader Avg. |
| Shared backbone, role prompts | 86.85 | 61.03 |
| Shared backbone, role-specific adapters | 86.41 | 60.78 |
| Frozen internal Verifier | 85.12 | 59.81 |
| Frozen external Verifier | 86.07 | 60.54 |
| External audit | Base | PROVE |
| Fixed-set verifier accuracy | 75.8 | 83.6 |
| Valid localized perturbations | 82.4 | 92.1 |
| Correct verifier judgments | 71.5 | 84.7 |
| Faithful minimal repairs | 55.2 | 73.4 |
| Fully valid trajectories | 40.8 | 64.2 |
| Checkpoint | Self-play pass rate | Comp. Avg. | Broader Avg. |
| Base | 36.0 | 83.22 | 58.77 |
| Step 150 | 39.3 | 84.08 | 59.18 |
| Step 300 | 43.2 | 85.14 | 59.73 |
| Step 450 | 46.3 | 85.97 | 60.41 |
| Step 600 | 56.6 | 86.48 | 60.16 |
| Step 750 | 63.3 | 86.85 | 61.03 |
| Benchmark | Base | PROVE (mean std) | Change |
| ViVerBench | 55.16 | ||
| MMMU | 40.78 | ||
| MathVista | 73.80 | ||
| MMBench | 71.31 | ||
| POPE | 89.57 | ||
| Core compositional average | 83.22 |
| Held-out type | Base | Leave-one-out PROVE | Full PROVE | Retained gain |
| Object | 86.1 | 87.2 | 88.2 | 52.4% |
| Attribute | 78.1 | 81.1 | 84.1 | 50.0% |
| Relation | 76.3 | 79.0 | 81.9 | 48.2% |
| Curriculum | Comp. Avg. | Broader Avg. | Repair success |
| One edit | 86.85 | 61.03 | 62.7 |
| Mixture of one/two edits | 86.06 | 61.18 | 57.4 |
| Two edits | 85.72 | 60.31 | 48.6 |
| Caption quality | Fraction |
| Fully faithful | 90.1% |
| Minor unsupported detail or ambiguity | 8.2% |
| Material image-caption mismatch | 1.7% |
| Training pool | Comp. Avg. | Broader Avg. |
| Original 48k | 86.85 | 61.03 |
| Filtered positives | 87.08 | 61.15 |
| Weight | Value | Term |
| 1.0 | Perturbation not rejected by the first verification | |
| 0.5 | Repaired caption still judged unfaithful | |
| 0.3 | Mutator edit cost | |
| 0.8 | Repair accepted by the second verification | |
| 0.7 | Judgment flip between the two verifications | |
| 0.3 | Repairer rewriting cost |