The Image as Its Own Reward: Reinforcement Learning with Adversarial Reward for Image Generation

Paper: arXiv:2511.20256 Code: showlab/Adv-GRPO Code reference: main @ 4019a1b7 (2026-02-26)

1. Motivation(研究动机)

这篇论文要解决的不是“怎样再找一个更强的打分器”,而是文本到图像 RL 里更根本的奖励闭环问题:现有 Flow-GRPO、DanceGRPO 一类方法把扩散/flow matching 的去噪轨迹当作 MDP,然后用 PickScore、OCR、CLIP 相似度、aesthetic score 等外部 reward model 给最终图像打一个标量分数。只要这个标量和真实人类偏好存在系统偏差,生成器就会沿着偏差方向优化;训练曲线和自动指标可以继续上升,但图像质量、审美或语义自然度反而下降。这就是本文反复强调的 reward hacking:模型学会了骗奖励,而不是学会了生成更好的图像。

具体到 T2I 场景,这个问题比 LLM 后训练更尖锐。第一,图像 reward 往往把高维视觉质量压成一个标量,丢失了构图、局部纹理、对象关系、文字可读性和风格一致性之间的细粒度差别。第二,许多 reward model 本身是从偏好的代理数据训练出来的,例如 PickScore 更像“图文偏好/美学倾向”的混合代理,OCR reward 又强烈偏向文字识别准确率;当生成器被强行推向某个代理指标时,常见结果是 PickScore 提高但图像更假,或 OCR 准确率提高但美感下降。第三,传统 KL regularization 只是限制参数或策略离旧模型太远,它不能告诉生成器“什么样的视觉输出才更好”,因此只能缓解过度更新,不能修正 reward 的语义偏差。

论文的目标是构造一种更不容易被 hack 的 RL 奖励机制:奖励模型不能固定不动地被生成器反复 exploit,而要在训练中看到生成器的新样本,并用高质量参考图像作为正样本重新校准。这里的参考图像既可以来自强生成器 Qwen-Image 为同一 prompt 生成的参考,也可以来自目标风格域的数据集。这样做的价值在于把 RL 后训练从“追逐单个分数”变成“持续把生成分布拉向参考视觉分布”。一旦这个问题解决,T2I RL 就不只是在 PickScore/OCR 这样的任务指标上刷分,而可以用于更通用的视觉质量提升、风格分布迁移和小规模参考集驱动的定制化。

Figure 1 解读:论文把 Adv-GRPO 的贡献分成三条线:用对抗奖励缓解 PickScore/OCR reward hacking;用 DINO 这类视觉基础模型提供更密集的视觉信号;把 reference images 放进 RL 循环,实现 anime、sci-fi 等风格分布迁移。这个图的重点不是展示一个新 backbone,而是说明“奖励来自图像本身”后,同一个 GRPO 框架可以同时覆盖偏好奖励、基础视觉模型奖励和风格迁移。

2. Idea(核心思想)

核心洞察:如果 reward model 会被生成器 exploit,那么它不应是一个训练前固定的裁判,而应变成一个随生成器共同演化的 discriminator;如果标量偏好奖励会丢失视觉细节,那么可以直接把参考图像及其 foundation-model 表征作为 reward 的来源。Adv-GRPO 的本质差异在于把 GRPO 的外部奖励替换为“参考图像为正、生成图像为负”的对抗奖励,并在 DINO 等视觉特征空间中给生成器提供全局与局部 patch 级别的密集反馈。

与 Flow-GRPO 的差别可以这样理解:Flow-GRPO 给每组生成图像计算固定 reward,再做 group-relative advantage 和 clipped policy update;Adv-GRPO 仍保留这个可扩展的 GRPO 更新形式,但 reward model 本身会在训练中被更新。生成器每次试图提高奖励时,如果它已经让生成样本平均 reward 超过参考样本,系统就把这视为潜在 reward hacking 信号,转而训练 reward/discriminator 重新区分 reference 与 generated。于是生成器和 reward model 形成一个“追赶—校准”的闭环:生成器追赶参考分布,reward model 阻止生成器通过非人类可接受的捷径超过参考。

论文标题“the image as its own reward”并不是说完全不要 reward model,而是说奖励的监督信号应来自图像实例和视觉表征本身,而不只是一个静态人类偏好标量。对于 DINO reward,DINO backbone 提供视觉 token,训练的 reward head 同时看 CLS 全局特征和随机 patch 局部特征;reference images 的特征应被判为高分,generated images 的特征应被判为低分。这样 reward 不再只问“这张图的 PickScore 是多少”,而是问“这张图在视觉基础模型的全局语义和局部纹理上是否像高质量参考分布”。

3. Method(方法)

3.1 从 Flow-GRPO 出发:把扩散去噪看作策略轨迹

论文沿用 diffusion/flow matching RL 的基本设定:一个 prompt 下,生成器 通过多步去噪从噪声得到最终图像 。每个反向去噪步骤可视为策略 的 action,完整去噪路径是一次 rollout。对同一个 prompt 采样一组 张图,得到奖励 后,GRPO 不需要单独 value function,而是在组内归一化得到 advantage: 这一步很重要,因为 T2I 的 prompt 难度差异很大:有的 prompt 本来就容易生成高分图,有的 prompt 天然困难。组内归一化让更新更关注“同一个 prompt 下哪些样本更好”,而不是把不同 prompt 的绝对分数混在一起。论文中的 generator objective 仍是 clipped GRPO/PPO 风格:对每个样本、每个采样到的 timestep,用新旧策略 log-prob 的比值 乘 advantage,再和 clip 后的比值取最小,同时可加 KL 项限制策略漂移。Adv-GRPO 没有推翻这个 RL 优化器,而是在 reward 的来源和更新方式上做改造。

代码中这一点对应 scripts/train_sd3_fast_dino_patch.pyscripts/train_sd3_fast_pickscore.py:训练脚本用 DistributedKRepeatSampler 让同一个 prompt 重复生成多张图,config/grpo.py 的主要实验配置设置 sample.num_image_per_prompt=16sample.mini_num_image_per_prompt=8sample.num_steps=10sample.train_num_steps=2

主循环先收集 reward,再通过 PerPromptStatTracker 或 batch 统计得到 advantages,随后在 compute_log_prob 中重算所选 timestep 的 log probability,使用 ratio = exp(log_prob - old_log_prob)unclipped_lossclipped_losspolicy_loss 更新 SD3 LoRA 参数。

实际训练模型在配置中是 stabilityai/stable-diffusion-3.5-medium,LoRA 设置来自论文补充:rank 32、lora_alpha=64、Gaussian initialization,CFG scale 为 4.5,bfloat16 混合精度。

3.2 对抗奖励:reference 为正样本,generated 为负样本

Adv-GRPO 的第一层创新是把 reward model 变成 discriminator。给定 prompt ,生成器产生一组 ;同时从参考分布 取得高质量参考图像 。生成器仍最大化 GRPO objective: reward model 的对抗训练则像二分类:reference images 应为正,generated images 应为负。论文给出的形式是 触发逻辑也很直观:定义 。当生成图像的平均 reward 高于参考图像,即 ,论文认为这可能说明生成器正在 exploit reward,因此启动 reward model fine-tuning。代码对 PickScore 分支实现了同样的判断:scripts/train_sd3_fast_pickscore.py 中主循环在 reference_rewards_mean < rewards_meanconfig.train_d 为真时调用 train_pickscore(...),用 reference/generated 图像对更新 scorer。这个条件值得注意:它不是每一步都无条件训练 discriminator,而是用“生成样本已经超过参考样本”作为 reward hacking 的近似报警器。

对抗奖励为什么有效?直觉上,固定 reward model 的决策边界会逐渐暴露给生成器,生成器只要找到边界漏洞就能涨分;而参考图像参与训练后,reward model 的目标变成“持续把真实高质量参考放在生成样本之上”。这不等于 GAN,因为生成器不是直接通过 discriminator 的可微梯度更新像素,而是通过 GRPO 在扩散策略上做 policy optimization;但它借用了 GAN 的动态裁判思想,让 reward 不再静止。

# Pseudocode 1: Adv-GRPO adversarial loop, distilled from train_sd3_fast_* scripts
for prompt_group in dataloader:                         # same prompt repeated G=16 times
    samples = sd3_sde_pipeline(prompt_group, steps=10)   # collect images, latents, timesteps, log_probs
    generated = decode(samples)
    rewards = reward_fn(generated, prompt_group, metadata)
    reference_rewards = reward_fn(reference_images(prompt_group), prompt_group, metadata)
    advantages = group_normalize_by_prompt(rewards)
    if train_d and mean(rewards) > mean(reference_rewards):
        update_reward_model(reference_images, generated) # PickScore or DINO head branch
    for selected_timestep in sampled_train_timesteps:     # train_num_steps=2
        new_log_prob = compute_log_prob(sd3_lora, samples, selected_timestep)
        ratio = exp(new_log_prob - old_log_prob)
        policy_loss = mean(max(-A * ratio, -A * clip(ratio, 1-eps, 1+eps)))
        update_generator_lora(policy_loss)

3.3 PickScore/OCR 分支:在已有 reward 上缓解 hacking

论文先在 PickScore 与 OCR 两个容易暴露偏差的 reward 上验证对抗机制。PickScore 分支使用 PickScore prompt dataset;OCR 分支使用 OCR prompt set,并在实现中联合 OCR 与 CLIP similarity。代码的 config/grpo.py:pickscore_cotrain_sd3_fast 指向 dataset/pickscorereward_fn={"pickscore_cotrain": 1}eval_reward_fn={"pickscore": 1},并配置 reference image path;

scripts/grpo_pickscore.sh 用 accelerate/DeepSpeed 启动 scripts/train_sd3_fast_pickscore.py --config config/grpo.py:pickscore_cotrain_sd3_fasttrain_pickscore 函数里,scorer 的 processor 分别处理 prompt、reference image 和 generated image,然后调用 CLIPCriterion 计算一对 real/fake 图像的对比式损失并更新 optimizer。

论文正文说 PickScore 分支只 fine-tune vision branch 的最后两层,生成器学习率为 ,reward model 学习率为 ,训练 1000 iterations。

OCR 分支的意义在于证明 reward hacking 不只发生在审美偏好模型上,也发生在任务型 reward 上。OCR accuracy 上升可能鼓励模型生成更粗糙、更像标牌或更不自然的文字区域,从而牺牲整体 aesthetics。Adv-GRPO 用 reference images 约束 reward 后,目标不是简单让文字识别更容易,而是在文字可读性和图像自然度之间保持更接近参考分布的平衡。

# Pseudocode 2: PickScore reward-model update, distilled from train_pickscore
def update_pickscore_reward(prompts, reference_imgs, generated_imgs):
    text_inputs = pickscore_processor.tokenizer(prompts)
    pixels_ref = pickscore_processor(images=reference_imgs)
    pixels_gen = pickscore_processor(images=generated_imgs)
    batch = {"input_ids": text_inputs, "pixels_0_values": pixels_ref, "pixels_1_values": pixels_gen}
    loss = CLIPCriterion(model=pickscore_model, batch=batch)
    optimizer_D.zero_grad()
    loss.backward()
    optimizer_D.step()

3.4 DINO / 视觉基础模型作为 reward:从标量偏好到密集视觉表征

论文第二层创新是用 DINOv2 这样的 visual foundation model 构造 reward。DINO backbone 提取全局 CLS token 和局部 patch tokens,训练一个 reward head 区分 reference 与 generated。对全局特征,hinge loss 为: 局部 patch loss 对随机采样的 patch tokens 做同样的正负间隔约束;总 reward loss 是 补充材料给出 DINO reward 中 global/local batch loss 与 reward 的权重为 7:3;代码默认的 patch 更新函数 train_dino(..., n_patches=64, patch_loss_weight=0.3) 与这个思想一致:scorer.eval() 固定 DINO backbone,head.train() 只训练 reward head;它对 reference/generated 图像分别取 forward_features,拆出 CLS 与 patch features,计算 real 为正、fake 为负的 hinge loss,最后 d_loss = image_loss + patch_loss_weight * patch_loss。在 reward 计算侧,adv_grpo/rewards.py:dino_patch_cotrain_score 会归一化 sampled patches,用 head 分别输出 cls_scorepatch_scores,再做 hybrid_score = cls_weight * cls_score + (1 - cls_weight) * patch_score_mean,这就是生成器接收到的密集视觉 reward。

DINO reward 的关键优势在于它不需要把审美、质量、对齐全部压进一个人工偏好标量。CLS 分数偏向全局语义与整体视觉一致性,patch 分数偏向局部纹理、对象细节和局部伪影;两者结合后,reward 能捕捉“看起来是否像高质量参考图像”这个更丰富的判断。论文还在补充中测试 SigLIP,说明这个框架不是 DINO 特例,而是可以替换不同 visual foundation model。

Figure 3 解读:pipeline 中左侧是 SD3 生成器通过 GRPO 接收 reward 更新,右侧是 discriminator/reward model 用 reference images 和 generated samples 做二分类更新。图中 reference 被视为 positive,generated 被视为 negative;这正对应 Eq. 6 和代码里的 train_pickscore / train_dino 更新。和普通 RLHF 式 T2I fine-tuning 相比,这里最重要的是 reward model 在闭环中不断被重新校准。

# Pseudocode 3: DINO global-local adversarial reward, distilled from train_dino and dino_patch_cotrain_score
def update_dino_head(reference_imgs, generated_imgs):
    with no_grad():
        feat_ref = frozen_dino.forward_features(reference_imgs)
        feat_gen = frozen_dino.forward_features(generated_imgs)
    cls_ref, patches_ref = feat_ref[:, 0], sample_patches(feat_ref[:, 1:], n=64)
    cls_gen, patches_gen = feat_gen[:, 0], sample_patches(feat_gen[:, 1:], n=64)
    loss_global = hinge_positive(head(cls_ref)) + hinge_negative(head(cls_gen))
    loss_local = hinge_positive(head(patches_ref)) + hinge_negative(head(patches_gen))
    loss = loss_global + 0.3 * loss_local
    optimizer_D.step(loss)
 
def dino_reward(generated_imgs):
    feat = frozen_dino.forward_features(generated_imgs)
    cls_score = head(feat[:, 0])
    patch_score = mean(head(sample_patches(feat[:, 1:])))
    return 0.7 * cls_score + 0.3 * patch_score

3.5 分布迁移与风格定制

当 reference images 不再是同 prompt 的高质量样本,而是某个目标视觉域的小数据集时,Adv-GRPO 就变成了 RL-based distribution transfer。论文构建 anime-style 和 sci-fi themed reference datasets,并用 DINO reward 引导 SD3 向这些参考域迁移。这里没有要求 reference 必须带 prompt,也不需要人工写出“anime style reward”的规则;视觉基础模型表征和对抗 head 会把目标域的视觉统计转化为 reward。这个应用说明本文的方法不是只能修复 PickScore/OCR,而是提供了一种“用图像集合定义奖励”的接口。

Figure 11 解读:style customization 图展示了 anime 与 sci-fi 两个目标域。Adv-GRPO 的迁移不是简单 prompt engineering,也不是只做 SFT;它通过 reference-domain reward 在 RL 更新中改变生成分布,同时保留 prompt 对语义结构的约束。实际可用性取决于 reference set 的覆盖度和 DINO/SigLIP 表征是否足以表达目标风格。

3.6 代码映射与实现锚点

Code reference: main @ 4019a1b7 (2026-02-26)

Paper ConceptSource FileKey Class/Function
GRPO 采样、组内 advantage、clipped policy lossscripts/train_sd3_fast_dino_patch.py; scripts/train_sd3_fast_pickscore.pyDistributedKRepeatSampler; compute_log_prob; main
PickScore 对抗奖励更新scripts/train_sd3_fast_pickscore.py; adv_grpo/pick_score_training.pytrain_pickscore; CLIPCriterion
DINO global-local reward headscripts/train_sd3_fast_dino_patch.py; adv_grpo/rewards.pytrain_dino; DINOHead; dino_patch_cotrain_score
实验配置与启动入口config/grpo.py; scripts/grpo_dino.sh; scripts/grpo_pickscore.shdino_cotrain_sd3_patch_fast; pickscore_cotrain_sd3_fast
SD3 轨迹 log-prob 支持adv_grpo/diffusers_patch/sd3_sde_with_logprob.py; sd3_pipeline_with_logprob_fast.pySDE sampling with logprob helpers

实现上有一个需要读者注意的细节:论文正文把 DINO reward 描述为 visual foundation model reward,而代码配置 dino_cotrain_sd3_patch_fast 里仍出现 discriminator="pickscore" 这样的字段名;真正决定 DINO reward 的是 reward_fn={"dino_cotrain": 1}、DINO train script 和 DINOHead 分支。因此复现实验时不应只看配置字段名,而要沿着 launch script 到训练脚本、reward function 的调用链确认实际执行路径。

4. Experimental Setup(实验设置)

基础模型与训练:论文采用 Stable Diffusion 3 / 代码中 stabilityai/stable-diffusion-3.5-medium 作为 base generator,通过 LoRA fine-tuning 更新生成器。训练时每个 prompt 形成 16 个 samples 的 group;采样使用 10 inference steps,训练时随机从 50–100% noise schedule 中取 2 个 timesteps 做 policy update。DINO reward 实验中训练 DINO classification/reward head,学习率 ;PickScore 分支中生成器学习率 、reward model 学习率 ,训练 1000 iterations。所有主实验使用 8 张 NVIDIA H100 GPU。补充材料给出 LoRA rank 32、lora_alpha=64、CFG scale 4.5、bfloat16 mixed precision、DINO discriminator:generator update ratio 为 10:1。

数据与参考图像:PickScore reward 使用 PickScore prompt dataset;OCR reward 使用 OCR prompt set;DINO reward 在 PickScore、OCR、GenEval prompts 上验证。论文说明每个 prompt 使用 8 张由 Qwen-Image 生成的 reference images;消融还测试 reference set size 为 200、500、1000 的情形。风格迁移任务中,reference datasets 分别是 anime-style 和 sci-fi themed 图像集合,用来定义目标视觉域。

基线:主要比较对象包括原始 SD3 / Base Model、Flow-GRPO、SFT、带 KL regularization 的 Flow-GRPO、多 reward 组合优化,以及在 DINO 相似度上直接优化的 Flow-GRPO 变体。这个基线设计覆盖了三个问题:固定 reward RL 是否会 hack;对抗 reward 是否比 KL 约束更有效;视觉基础模型 reward 是否比标量偏好 reward 更全面。

评价指标:自动指标包括 PickScore、OCR Accuracy、GenEval 和 DINO Similarity。PickScore 衡量图文偏好代理分数;OCR Accuracy 衡量图像中文字是否被正确识别;GenEval 用于组合/属性/关系等文本到图像语义一致性;DINO Similarity 衡量生成图像与参考图像在 DINO 特征空间的相似度。论文还做 human evaluation,分别比较 aesthetics、text alignment 和 image quality;这部分对 reward hacking 尤其关键,因为自动指标本身可能正是被 hack 的对象。

Figure 4 解读:PickScore 和 OCR reward 的人评图说明,仅看自动指标不足以判断模型是否真的更好。Adv-GRPO 在和 Flow-GRPO 比较时改善人类感知质量;但和原始 SD3 比较时仍能看到某些 reward 的固有偏差,例如 PickScore 可能在质量维度留下 trade-off,OCR 可能在 aesthetic 上留下 trade-off。这支持论文的判断:对抗训练能缓解 reward hacking,但不能完全消除原 reward 的偏置。

5. Experimental Results(实验结果)

5.1 Reward hacking mitigation:自动指标不降,人评更可靠

表 1 显示,在对应 reward 的自动指标上,Adv-GRPO 与 Flow-GRPO 基本持平:PickScore 任务中 SD3 为 21.70、Flow-GRPO 为 22.82、Adv-GRPO 为 22.78;OCR 任务中 SD3 为 0.58、Flow-GRPO 与 Adv-GRPO 均为 0.91。这说明 Adv-GRPO 并不是通过牺牲任务指标来换取视觉质量,而是在保持目标指标的同时减少 reward hacking。人评结果进一步支持这一点:论文文本说明,在 PickScore reward 下 Adv-GRPO 的 image quality win rate 达到 70%,在 OCR reward 下 aesthetics win rate 达到 85.3%。

Figure 5 解读:可视化中,Flow-GRPO 在 PickScore/OCR reward 下会产生更明显的视觉退化或局部异常,而 Adv-GRPO 保持了更好的整体观感。这个图和表 1 要一起读:如果只看 PickScore/OCR 自动分数,两种方法差距不大;但从图像质量看,reference-supervised adversarial reward 明显减少了“高分低质”的现象。

5.2 DINO reward:视觉基础模型带来跨指标提升

DINO reward 的主结果更能体现“image as reward”的价值。表 2 比较 SD3 与 Adv-GRPO(DINO):PickScore 从 21.70 提升到 21.90,OCR Accuracy 从 0.59 提升到 0.69,GenEval 从 0.61 提升到 0.69。这个结果说明 DINO reward 并没有只优化 DINO 相似度本身,而是同时改善图文偏好代理、文字任务指标和组合语义指标。人评上,论文报告 Adv-GRPO(DINO) 相对 SD3 在 aesthetics、alignment、quality 均有更高 win rate,其中 aesthetics 为 72.4%;相对使用 DINO similarity reward 的 Flow-GRPO,质量 win rate 为 66.3%、aesthetics win rate 为 75.2%;相对 PickScore reward 的 Flow-GRPO,质量 win rate 达到 93.5%。

Figure 6 解读:DINO reward 的人评结果说明,直接使用视觉基础模型相似度并不等于充分利用视觉基础模型。Flow-GRPO(DINO similarity) 仍是固定 reward 优化,容易把特征相似度推向表面匹配;Adv-GRPO 则把 DINO head 放进对抗循环,让 reference/generated 的相对关系持续更新,因此人类更偏好其质量和审美。

Figure 7 解读:DINO 可视化展示的是整体视觉质量、纹理和结构的改善,而不是某一个可量化任务的孤立提升。它补充了表 2 的结论:DINO 的 dense visual signal 对“看起来是否自然和高质量”更敏感,因此能弥补 PickScore/OCR 等标量 reward 的盲点。

5.3 消融:reference 数量少也有效,KL/SFT/multi-reward 不等价

表 3 测试 reference samples 数量:SD3 的 DINO Similarity 为 0.592;使用 200、500、1000 个 reference samples 时分别为 0.621、0.618、0.619;完整 Adv-GRPO 为 0.621。这个结果说明方法对 reference set size 有一定数据效率,200 张参考图像已经接近完整设置。对实际应用很重要,因为很多风格或质量域不一定能收集大规模人工标注偏好数据,但可以收集少量高质量图像。

表 4 比较 SFT、Flow-GRPO(w/ KL)、Multi-Reward 与 Adv-GRPO:PickScore 分别为 21.60、21.84、21.60、22.78;OCR Accuracy 分别为 0.68、0.80、0.91、0.91。可以看到 KL regularization 对 reward hacking 的缓解有限,多 reward 组合在 OCR 上能达到 0.91 但 PickScore 只有 21.60,而 Adv-GRPO 同时保持 PickScore 22.78 和 OCR 0.91。论文的解释是,多 reward 组合需要手调不同 reward 权重,且不同 reward 的尺度和敏感性不一致;对抗参考奖励则直接把目标分布作为校准信号。

Figure 9/10 解读:消融图把少量 reference、SFT、KL、多 reward 和 Adv-GRPO 放在一起。SFT 可以模仿参考图像但缺少在线探索;KL 可以约束策略但不能修正 reward 偏差;multi-reward 可以部分抵消偏置但引入权重平衡问题;Adv-GRPO 的优势是把 reward model 本身纳入训练闭环。

5.4 风格迁移与泛化

风格定制实验显示,给定 anime 与 sci-fi reference datasets,Adv-GRPO 可以把 SD3 迁移到对应视觉域,同时保留 prompt 语义结构。这一点是论文最有启发性的应用:它把“奖励函数设计”转化为“选择参考图像集合”。对于生产场景,这意味着不必为每种风格手写 reward,也不必收集成对偏好,只要目标域图像足够代表性,就能通过 visual foundation model reward 做 RL 后训练。

论文也给出 SigLIP reward 的补充可视化,说明框架可替换 foundation model;但这同时暴露了一个边界:方法的效果依赖 foundation model 表征是否覆盖目标视觉属性。如果目标是非常细粒度的排版、专业医学图像或复杂安全约束,DINO/SigLIP 的通用视觉特征未必足够,需要更专门的 reference set、reward head 或多模态判别器。

5.5 局限与读者应注意的问题

作者没有给出严格的收敛理论,adversarial reward 与 generator 的交替优化可能存在振荡、过度校准或 reference overfitting。DINO 分支用 10:1 discriminator/generator update ratio,说明 reward head 更新频率本身是重要超参数;但论文主要通过实证说明稳定,并没有系统分析不同 update ratio、reference quality、reference diversity 对训练稳定性的影响。

第二,reference images 的来源会决定 reward 的方向。论文主实验中每个 prompt 有 8 张 Qwen-Image 参考图,这相当于把另一个强生成器的分布引入训练;如果参考图本身有偏见、风格过窄或包含伪影,Adv-GRPO 可能把这些特性也学进去。第三,虽然对抗奖励能缓解 PickScore/OCR 的 hacking,但论文也承认某些原 reward 的固有偏置仍会残留,例如 PickScore 和 OCR 与 SD3 比较时在部分人评维度上有 trade-off。因此,Adv-GRPO 更适合被理解为“更可靠的 reward 校准框架”,而不是一次性解决所有 reward design 问题。

总体结论:这篇论文把 T2I RL 的关键从“找一个更准的固定标量奖励”推进到“用参考图像和视觉基础模型动态定义奖励”。它保留 GRPO 的高效组内归一化和扩散轨迹 policy update,同时通过 adversarial reward model 阻止生成器长期 exploit 静态裁判。实验上,它在 PickScore/OCR 自动指标不降的情况下显著改善人类感知,在 DINO reward 下同时提升 PickScore、OCR、GenEval 和人评,并展示少量参考图像即可驱动风格迁移。对于后续工作,最值得继续研究的是 reference 数据选择、foundation model reward 的可解释性、对抗更新稳定性,以及将同一思想扩展到视频、3D 或多模态生成的长期一致性奖励。