Self-Verifier Capture in Unified Visual Generators: Diagnosing and Repairing Closed-Loop Self-Reward
Organizations: University of Science and Technology of China
Abstract
Image-space reward requires decoding and a separate judge; unified visual generators can instead reuse their understanding pathway for decode-free, self-supplied reward. Optimizing against this verifier closes the self-reward loop; shared trainable weights let one update move generation and scoring even with the reward gradient stopped. We call the resulting failure self-verifier capture: self-reward rises while independently measured quality falls. Matched semantic/denoising by shared/frozen cells on Scale-RAE isolate two routes: the policy exploits on-manifold blind spots of a frozen semantic judge, while shared updates additionally rewrite the judge. A frozen judge also becomes stale, and repeated self-refresh yields progressively weaker recoveries. The diagnosis yields a two-part repair: locking the warmed reward read blocks rewriting, while sparse, parameter-disjoint external anchors counter residual exploitation. Unanchored rollouts retain semantic reward across multiple latent noise levels, providing dense latent reward that terminal image-space judging cannot supply, while a drift-triggered controller allocates anchors to high-drift rollouts and propagates their calibration within each group. At matched budgets, the controller improves on fixed-dose anchoring, increasingly so as coverage tightens. Both the unanchored failure and the repair transfer to the higher-performing, architecturally distinct Show-o2. Across both bases, the complete method significantly outperforms a construct-matched every-rollout judge on GenEval and DPG-Bench while externally scoring only 1/16 of rollouts. At 1/32 coverage, it scores higher in all four comparisons and remains jointly non-inferior.
Figures & tables
| Scale-RAE | Show-o2 | Scale-RAE audit | ||||||
| Reward supply | GenEval | DPG | GenEval | DPG | External panel | s/step | ||
| Pretrained (no RL) | — | — | 0.495 | 76.9 | 0.730 | 85.0 | — | |
| Terminal-only warmed lock | 0.449 | 74.5 | 0.694 | 82.1 | 2.51 | |||
| External panel | 0.515 | 77.8 | 0.743 | 85.2 | 7.43 | |||
| Grounding steelman | 0.560 | 79.0 | 0.768 | 85.9 | 10.38 | |||
| Terminal anchor | 0.544 | 78.3 | 0.755 | 85.5 | 2.64 | |||
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Question | Prespecified readout |
|---|---|
| Self-verifier capture | Self-reward rises while the parameter-disjoint external panel falls, with within-group diversity retained as the disambiguator against collapse. |
| Exploiting a fixed judge | Official GenEval decline in the frozen-semantic cell, supported by retained diversity and frozen-reference typicality. |
| Judge rewriting | Seed-level separation between shared and frozen self–external divergence values at matched rank, with fixed-probe AUC corruption as the functional confirmation. |
| Staleness | Spearman correlation of the frozen read with the external panel on current-policy samples, read against the offline drift axis. |
| Refresh behavior | Single-refresh and iterated self-refresh horizons, tracking roundwise recovery peaks and within-round decay. |
| Seed | Semantic shared | Semantic frozen |
|---|---|---|
| 1 | 6.24 | 2.99 |
| 2 | 6.51 | 2.31 |
| 3 | 6.03 | 1.93 |
| 4 | 6.48 | 2.31 |
| 5 | 4.85 | 2.54 |
| Range | – | – |
| Cell | Typicality ( ) | Diversity ( ) |
|---|---|---|
| Semantic shared | ||
| Semantic frozen | ||
| Denoising shared | ||
| Denoising frozen |
| Arm | GenEval | DPG | SE (GE / DPG) | |
|---|---|---|---|---|
| Pretrained | 0.495 | 76.9 | — | |
| Terminal-only warmed lock | 0.449 | 74.5 | ||
| External panel | 0.515 | 77.8 | ||
| Grounding steelman | 0.560 | 79.0 | ||
| Terminal anchored | 0.531 | 78.0 | ||
| Terminal anchored | 0.544 | 78.3 |
| Arm | GenEval | DPG |
|---|---|---|
| Pretrained | 0.730 | 85.0 |
| Terminal-only warmed lock | 0.694 | 82.1 |
| External panel | 0.743 | 85.2 |
| Grounding steelman | 0.768 | 85.9 |
| Terminal anchored | 0.746 | 85.3 |
| Terminal anchored | 0.755 | 85.5 |
| Base / metric | active | Threshold | ||
|---|---|---|---|---|
| Scale-RAE GenEval | 5.55 | 2.70 | 5.55 | 50.45 |
| Scale-RAE DPG | 2.25 | 1.16 | 2.25 | 76.75 |
| Show-o2 GenEval | 3.70 | 2.30 | 3.70 | 73.10 |
| Show-o2 DPG | 1.90 | 0.96 | 1.90 | 84.00 |
| Arm | (GE / DPG) | SE (GE / DPG) | 95% lower (GE / DPG) | Joint decision |
|---|---|---|---|---|
| Terminal anchored | pass | |||
| Terminal anchored | pass | |||
| Dense fixed-dose | pass (both ) | |||
| Dense fixed-dose | pass | |||
| Dense fixed-dose | fail (both) | |||
| Dense controller | pass (both ) |
| Arm | (GE / DPG) | SE (GE / DPG) | 95% lower (GE / DPG) | Joint decision |
|---|---|---|---|---|
| Terminal anchored | pass | |||
| Terminal anchored | pass | |||
| Dense fixed-dose | pass | |||
| Dense fixed-dose | pass | |||
| Dense fixed-dose | fail (both) | |||
| Dense controller | pass (both ) |
| Reward read | Divergence gap | Probe-AUC loss | Panel change | Diversity |
|---|---|---|---|---|
| Shared | 0.18 | 0.83 | ||
| EMA ( ) | 0.12 | 0.89 | ||
| Warmed-then-locked ( ) | 0.056 | 0.87 | ||
| Frozen | 0 | 0.90 |
| Locked | Shared | |
|---|---|---|
| self | Panel change | Learn | Ext | Both | |
|---|---|---|---|---|---|
| 5/5 | 0/5 | 0/5 | |||
| 5/5 | 0/5 | 0/5 | |||
| 5/5 | 0/5 | 0/5 | |||
| 2/5 | 0/5 | 0/5 | |||
| 0/5 | 0/5 | 0/5 | |||
| 0/5 | 3/5 | 0/5 |
| Coverage | GenEval | DPG |
|---|---|---|
| 0.449 | 74.5 | |
| 0.544 | 78.3 | |
| 0.531 | 78.0 | |
| (external panel) | 0.515 | 77.8 |
| Controller | Fixed-dose | Gap | CI on both | |
| (GE / DPG) | (GE / DPG) | (GE / DPG) | ||
| Scale-RAE | ||||
| no | ||||
| yes | ||||
| yes | ||||
| yes | ||||
| Paired contrast | (GE / DPG) | CI on both |
|---|---|---|
| Active vs. random selection | yes | |
| Residual propagation vs. gate-and-replace | yes | |
| Drift triggering vs. fixed scheduling | yes | |
| Full controller vs. fixed-dose backbone | yes |
| Arm | Panel | s / step | ||
|---|---|---|---|---|
| Terminal-only warmed lock | 2.51 | |||
| External panel | 7.43 | |||
| Grounding steelman | 10.38 | |||
| Terminal anchored | 2.64 | |||
| Dense fixed-dose | 2.88 | |||
| Dense fixed-dose | 2.70 |
| Item | Configuration |
|---|---|
| Primary base (Scale-RAE) | Qwen2.5-1.5B language model with a B DiT in a -dimensional SigLIP-2 latent space; B core-model parameters. |
| Second base (Show-o2) | B unified model, shared Qwen backbone, 3D causal-VAE latent space, flow matching; used for cross-architecture validation of unanchored capture and method transfer. |
| Decoder | Each base’s frozen decoder (RAE for Scale-RAE and 3D-VAE for Show-o2), invoked only for external scoring or evaluation, never by a latent self-verifier. |
| Trainable adapters | Capacity-matched language-model and DiT trunk adapters ; all primary diagnostic cells use matched rank . |
| Frozen, out of optimizer | Understanding-side projector (no adapter); trunk base weights . |
| Seeds | training seeds per reported arm; for the iterated-refresh diagnostic. |
| Item | Configuration |
|---|---|
| Optimizer | AdamW; learning rate ; constant schedule with no learning-rate warm-up. |
| AdamW and clipping | Weight decay ; betas ; optimizer epsilon ; maximum gradient norm . |
| Effective batch | One prompt group of rollouts per optimizer step; gradient accumulation and one PPO epoch. |
| TVE–Gibbs policy | Trajectory energy summed over all Euler solver steps; Gibbs temperature . |
| PPO and proximity | Symmetric clip ; in the primary diagnostic and repaired arms, with nonzero used only in the explicit KL sweep. |
| Prompt-pool audit | Count |
|---|---|
| One-caption-per-image pool | |
| Normalized unique captions | |
| Exact matches (GenEval / DPG-Bench) | |
| Near-verbatim removals (GenEval / DPG-Bench) | |
| Final frozen pool |
| Block | CI | Majority | |||
| Q1: prompt faithfulness | |||||
| P1 ( ) | 0.679 | 0.52 | |||
| P2 ( ) | 0.741 | 0.58 | |||
| P3 (controller) | 0.611 | 0.44 | |||
| Q2: visual quality | |||||
| P1 ( ) | 0.540 | — | — | 0.28 | |
| P1 (frozen) | P2 (shared) | |||
|---|---|---|---|---|
| Tag | Share | Share | ||
| Action or pose | 68 | 0.407 | 83 | 0.439 |
| Spatial relation | 55 | 0.329 | 68 | 0.360 |
| Scene or context | 48 | 0.287 | 59 | 0.312 |
| Color or attribute | 32 | 0.192 | 40 | 0.212 |
| Count | 23 | 0.138 | 28 | 0.148 |
| Response | P1 (frozen) | P2 (shared) |
|---|---|---|
| Neither image | 262 | 251 |
| only | 14 | 15 |
| Post-RL only | 19 | 27 |
| Both | 5 | 7 |
| Neither rate | 0.873 | 0.837 |
| flag rate | 0.063 | 0.073 |
| Instrument | P1 | P2 | P3 | Pooled |
|---|---|---|---|---|
| External panel | 0.777 | 0.823 | 0.674 | 0.759 |
| decided prompts | 94 | 96 | 92 | 282 |
| Spearman (panel) | 0.52 | 0.57 | 0.38 | 0.49 |
| GenEval | 0.710 | 0.758 | 0.621 | 0.699 |
| DPG-Bench | 0.766 | 0.813 | 0.652 | 0.745 |
Reward Hacking
Reward hacking studies how AI systems exploit imperfect objectives and how to detect, measure, and prevent behavior that scores well but misses intent.
See all 182 papers