Do Less, Achieve More: Do We Need Every-Step Optimization for RL Fine-tuning of Diffusion Models?
Paper: arXiv:2605.15855v1 Code: 代码搜索未找到开源实现(arXiv 页面与 LaTeX 源无仓库链接;Web/GitHub REST 搜索
"Do Less, Achieve More" AdaScope、"Do We Need Every-Step Optimization"、"AdaScope" "diffusion" "RL"未找到匹配仓库)
1. Motivation(研究动机)
现有 Diffusion Model 虽然能生成高质量图像,但预训练/重建目标并不直接等价于 human preference;RL fine-tuning 通过外部 reward(Aesthetic Score、PickScore、ImageReward 等)补上偏好对齐信号。问题在于主流 DDPO/DPOK/D3PO/TDPO 类方法通常把最终图像 reward 回填到完整 denoising trajectory:这样能缓解 sparse reward,却把每个 step 都当成同等有价值的优化对象。
论文指出 full-trajectory RL 有三个具体瓶颈:第一,early denoising stage 中图像结构还不稳定,final reward 与早期 action 的因果相关性弱,reward backfilling 造成 action–reward mismatching 和高方差梯度;第二,late denoising stage 中语义/结构已经收敛,继续优化局部细节容易放大 reward hacking;第三,把 RL 算力花在 early chaotic stage 和 late saturation stage 同时伤害质量与效率,导致“doing more but achieving less”。
Figure 1 解读:论文把 CLIP、Reward Objective 和基于 Lemma 1 的 Uncertainty Score 对齐到 denoising steps。左侧 early stage 的结构混乱、uncertainty 高;右侧 late stage reward 收敛、边际收益低;红色区间是 AdaScope 选择的 moderate-uncertainty training scope,语义结构已形成且 reward 仍在增长。
这项工作要解决的不是“再设计一个更强 reward”,而是回答:RL fine-tuning 是否真的需要优化每一个 denoising step?如果能只训练高价值区间,就可以同时减少计算、降低 reward hacking、提升偏好对齐质量。
2. Idea(核心思想)
核心洞察:Diffusion denoising 的不同阶段对 RL 的价值不一样;有效 RL 区间应位于“结构已稳定但 reward 还未饱和”的中间阶段,而不是完整 trajectory。AdaScope 因此是一个 plug-in:用语义结构变化决定 ,用 preference gain 变化决定 ,只在 内做 RL update。与 DDPO/DPOK/D3PO/TDPO 这类全步优化不同,AdaScope 不假设所有 denoising states 都同等有效;
它把“什么时候开始 RL”和“什么时候停止 RL”作为动态决策。与随机/固定 step pruning 也不同,它的 start/end 来自 prompt-specific semantic-structure trend 与 reward-gain trend,而不是手工固定窗口。论文声称该策略带来罕见的 dual benefit:相比 state-of-the-art methods,性能提升 66%,同时计算成本削减 59%。这个结论来自对四个 RL baseline 的 plug-in 实验,以及 SDv14/SDv15/SDv21/SDXL、多 reward objectives、flow-matching/SDE model 的迁移验证。
3. Method(方法)
3.1 总体框架:从 full-trajectory RL 到 adaptive RL scope
Figure 2 解读:框架先沿 denoising trajectory 估计中间状态的 semantic maturity 和 reward gain,再筛出红色的 RL intervention window。早期 high-noise 状态被跳过,晚期 reward-converged 状态被提前终止,最终只对中间高收益区间进行 policy update。
给定 diffusion model 的 forward process: 其中 ,,。生成模型学习 reverse-time conditionals: 为了在中间 step 上估计当前图像语义,论文使用 noise-prediction function 重建 : 直觉上, 是“如果从当前 noisy latent 直接看最终图像会是什么”的估计,因此可以在完整 denoising 结束前测量 CLIP semantic alignment 或 reward 变化。
3.2 MDP formulation 与 reward backfilling 问题
论文把 text-to-image denoising 写成 MDP。prompt 为 ,state/action/policy/transition 定义为:
真实 sparse reward 只在最后一步可得:
RL fine-tuning 的目标是:
主流 compromise 是把最终 reward 回填到所有 denoising steps:

Figure 3 解读:final image 生成前 reward 不可计算,因此 dashed curve 对应 sparse feedback;reward backfilling 把 terminal reward 分配给所有中间步骤,能让 RL 可训练,但也把早期未成形结构的 action 与最终 reward 强行绑定。
关键直觉:reward backfilling 是“可训练性”和“因果归因”的折中。AdaScope 保留其可训练性,但删除最容易产生归因错误的 early steps 和最容易 reward hacking 的 late steps。
3.3 Adjoint Pearson Correlation:为什么 late stage 不值得继续训
论文先给出 Forward–Reverse Consistency:若 diffusion model 完美训练且 reverse generation 遵循 score-based SDE,则 forward process 与 reverse process 在对应 timestep 的 marginal 和 joint distribution 一致: 因此可以用 forward process 中相邻 latent 的相关性刻画 reverse denoising 中的不确定性。Theorem 2 给出 component-wise correlation: Lemma 1 进一步指出,对 typical diffusion schedules, 在生成过程中递减。含义是:越靠后,相邻 latent 越相关,不确定性越低,继续对偏好 reward 做 RL 的边际收益越小,反而更容易过拟合细节或 reward model loopholes。
3.4 Start selection:Semantic-Structure Trend Perception
AdaScope 的 start 目标是跳过 high-noise/structure-underdeveloped 的 early stage。先把相邻 steps 、 重建为 、,用 CLIP Score 衡量 prompt-image 语义结构形成速度: 当 的变化趋于稳定: 定义 RL intervention start: $ t_{\text{start}}
\min \left{ t ;\middle|; \left| \left( \lim_{\Delta t \to 0} \frac{\Delta S_{t+\Delta t} - \Delta S_t}{\Delta t} \right) \right| \to 0 \right}. $ 也就是说,直到 CLIP semantic-structure gain 不再剧烈波动,模型才开始 RL fine-tuning;这减少了把 final reward 归因到“还没形成语义结构”的 action 上。
3.5 End selection:Reward-Gain Trend Perception
AdaScope 的 end 目标是避免 late-stage low-return updates。定义 preference score function: 当 preference gain 稳定: 终止 step 定义为: $ t_{\text{end}}
\min \left{ t ;\middle|; \left| \left( \lim_{\Delta t \to 0} \frac{\Delta P_{t+\Delta t} - \Delta P_t}{\Delta t} \right) \right| \to 0 \right}. [t_{\text{start}},,t_{\text{end}}]$。这个区间确保训练只发生在 semantic structure 已形成、reward gain 仍显著的高价值区域。
3.6 论文级伪代码(无开源代码)
以下伪代码根据论文公式与方法段落整理;由于代码搜索未找到开源实现,不能声称与某个 released implementation 完全一致。
import torch
import torch.nn.functional as F
def reconstruct_x0(x_t, t, eps_theta, alpha_bar):
eps = eps_theta(x_t, t)
a_bar = alpha_bar[t].view(-1, 1, 1, 1)
x0_hat = (x_t - torch.sqrt(1.0 - a_bar) * eps) / torch.sqrt(a_bar)
return x0_hat@torch.no_grad()
def semantic_structure_gains(latents, prompts, eps_theta, alpha_bar, clip_score):
scores = []
for t, x_t in enumerate(latents):
x0_hat = reconstruct_x0(x_t, t, eps_theta, alpha_bar)
scores.append(clip_score(x0_hat, prompts))
scores = torch.stack(scores) # [T, batch]
delta_s = scores[:-1] - scores[1:]
return delta_sdef find_stable_start(delta_s, threshold, window=3):
trend = delta_s[1:] - delta_s[:-1]
for t in range(window, trend.shape[0]):
recent = trend[t - window:t].abs().mean()
if recent < threshold:
return t
return 0@torch.no_grad()
def preference_gains(latents, prompts, eps_theta, alpha_bar, reward_fn):
rewards = []
for t, x_t in enumerate(latents):
x0_hat = reconstruct_x0(x_t, t, eps_theta, alpha_bar)
rewards.append(reward_fn(x0_hat, prompts))
rewards = torch.stack(rewards)
delta_p = rewards[:-1] - rewards[1:]
return delta_pdef find_saturated_end(delta_p, threshold, window=3):
trend = delta_p[1:] - delta_p[:-1]
for t in range(window, trend.shape[0]):
recent = trend[t - window:t].abs().mean()
if recent < threshold:
return t
return delta_p.shape[0]def adascope_rl_update(policy, rollout, reward_fn, clip_score, optimizer, alpha_bar,
start_threshold, end_threshold):
delta_s = semantic_structure_gains(
rollout.latents, rollout.prompts, policy.eps_theta, alpha_bar, clip_score
)
t_start = find_stable_start(delta_s, start_threshold)
delta_p = preference_gains(
rollout.latents, rollout.prompts, policy.eps_theta, alpha_bar, reward_fn
)
t_end = find_saturated_end(delta_p, end_threshold)
selected_steps = rollout.steps[(rollout.steps >= t_start) & (rollout.steps <= t_end)]
loss = policy.rl_loss(rollout, reward_fn, selected_steps=selected_steps)
optimizer.zero_grad(set_to_none=True)
loss.backward()
optimizer.step()
return {"loss": loss.detach(), "t_start": t_start, "t_end": t_end}3.7 开源代码状态与复现风险
代码搜索未找到开源实现。论文 arXiv 页面、LaTeX 源、abstract metadata 中均无 project/GitHub 链接;Web 搜索与 GitHub REST repository search 对 "Do Less, Achieve More" AdaScope、"Do We Need Every-Step Optimization"、"AdaScope" "diffusion" "RL" 无匹配仓库。因此本笔记不设置 github_ref,也不提供 source-file mapping table。
复现时最关键的不确定项是 trend stabilization 的离散实现:论文用 描述 / 的稳定条件,但未给出实际 threshold、moving window、batch aggregation、CLIP/reward model 调用频率等 engineering details。训练 config 也只报告 eight NVIDIA Tesla H20 GPUs;learning rate、batch size、training steps、KL/clip 参数等未在论文中详细说明。
4. Experimental Setup(实验设置)
Datasets:论文使用三个 fine-tuning prompt/data sources:HPSv2-photo、Pick-a-Pic validation subset(500 prompts,abstract/surreal 风格)、simple animals prompt set。Simple animals 用来对齐 DDPO/DPOK/D3PO 等前作协议。Rewards 与 metrics:训练 reward 包括 Aesthetic Score (AES)、PickScore (PS)、JPEG compressibility、JPEG incompressibility,以及 AES+PS combined objective。
评估使用 AES、PS、ImageReward (IR)、CLIP Score、Inception Score (IS)、LPIPS;补充实验扩展到 13 个指标:AES、PS、IR、HPSv2、FID、CLIP、iFS、LPIPS、IS、TCE、BRISQUE (BRI)、NIQE、Spectral Entropy (SE)。Baselines 与 backbones:主比较包含 DDPO、DPOK、D3PO、TDPO;补充表还比较 SDv15、Diff-DPO、Diff-KTO、SPO。
主 test bed 是 Stable Diffusion v1.5,迁移实验覆盖 SDv1.4、SDv2.1-turbo、SDXL,补充中还用 SD3.5 做 Flow-Matching Model 对比。Training config:所有实验运行在 eight NVIDIA Tesla H20 GPUs。论文未详细说明 learning rate、batch size、optimizer、训练步数、gradient accumulation、threshold/window 等实现超参;由于代码搜索未找到开源实现,本笔记不从默认配置或 README 推断这些数值。
5. Experimental Results(实验结果)
5.1 计算效率与 sample efficiency
Figure 4 解读:在 Pick-a-Pic 和 HPSv2 prompt set、PickScore/Aesthetic Score reward 下,AdaScope 用更少 optimized denoising steps 取得更高 reward-learning sample efficiency。图中的关键结论是:删除 early/late low-value samples 后,不只是省算力,还能提升 reward learning 的稳定性。
Tab. 1 中 AdaScope 作为 plug-in 显著减少 per-batch time 与达到目标 reward 的时间:
- DDPO:Time-PB ;PickScore=22 时间 小时;Aesthetic=7 时间 小时;Top-1 。
- DPOK:Time-PB ;PickScore=22 时间 小时;Aesthetic=7 时间 小时。
- D3PO:Time-PB ;PickScore=22 时间 小时;Aesthetic=7 时间 小时。
- TDPO:Time-PB ;PickScore=22 时间 小时;Aesthetic=7 时间 小时。
这些结果支持论文摘要中的 claim:相比 SOTA methods,AdaScope improves performance by 66% while cutting computational cost by 59%。
5.2 跨 backbone 与跨 reward objective
Figure 5 解读:AdaScope 被插入不同 SD backbones 后仍能带来收益。论文特别指出 SDXL 上提升不如小模型明显,可能是大参数 backbone 本身更稳健;但 AdaScope 仍能更有效利用 samples 和 denoising states。
Figure 6 解读:在 JPEG compressibility、incompressibility、AES+PS combined reward 等目标上,AdaScope 仍优于 baseline,说明它选择“高价值训练区间”的机制并不绑定到单一 reward model。
补充实验还比较 flow-matching-native RL baselines:Flow-GRPO-Fast 的 SDE–ODE switching 依赖随机插入 short SDE segments,且更贴近 flow-matching formulation;AdaScope 的区间选择由 structural transitions 与 reward evolution 驱动,因此在 flow-matching 与 SDE-based diffusion 上都更 model-agnostic。
Figure 11 解读:左侧是 Flow-Matching Model 结果,右侧是 SDE Model 结果。论文用该图说明 AdaScope 在 SD3.5/PickScore/OCR reward 以及经典 SDE-based 设置下都保持稳定提升,而不是只适用于某个 baseline 的训练技巧。
5.3 Ablation:动态 scope 优于固定窗口

Figure 7 解读:ablation 比较固定 start/end 与动态 AdaScope。即使固定窗口覆盖了相近的平均范围,也不能达到 AdaScope 的效果,说明最优 RL interval 与具体 prompt/trajectory 状态相关。
Table 2 exact settings:V1 使用固定 Srt=5、End=32、Time=2.45;V2 使用 Srt=、End=35、Time=2.27–3.18;V3 使用 Srt=5、End=、Time=2.27–3.18;Ours 的平均 Srt=5.3、End=31.8、Time=2.62。结果说明,单纯扩大固定搜索范围不能替代 prompt-adaptive scope selection。
5.4 分布、多样性与 reward hacking
Figure 8 解读:作者用 DINOv2 features + t-SNE 可视化生成分布,并用 1-D 映射辅助观察。DDPO 的点更集中,Silhouette Coefficient 更高,表示生成分布坍缩到较少 dense clusters;AdaScope 保持更宽的分布,缓解 RL reward hacking 导致的 diversity loss。
补充 Table 3 在 SDv15 + Pick-a-pic + PickScore 设置下给出 13 个指标:Ours 的 PS=23.01、AES=6.071、IR=0.542、HPS=0.278、FID=85.37、CLIP=0.243、iFS=0.846、LPIPS=0.652、IS=23.73、TCE=39.37、BRI=12.20、NIQE=4.019、SE=11.91,#Top2=12。与 TDPO 的 PS=22.94/AES=5.991、DPOK 的 IR=0.582、SPO 的 FID=78.76 相比,AdaScope 不是所有单项都第一,但综合 Top2 数量最高。
Figure 13 解读:多 seed 视觉结果显示 AdaScope 在相同 prompt 下保留更丰富的艺术风格、姿态、位置和背景变化;这与 Table 3 的 LPIPS=0.652、IS=23.73、SE=11.91 等 diversity/richness 结果一致。
5.5 语义对齐、复杂 prompt 与主观评估
Figure 9 解读:语义对齐实验覆盖 Composition、Count、Color、Location。AdaScope 在 “Five Birds in…”、“A rabbit near…”、“Four butterflies…”、“A red colored…”、“Three tulips…” 等 prompt 上更好保留对象数量、颜色与空间关系。
Figure 10 解读:复杂 unseen prompt 实验包含 “A little girl painting…”、“A cat surfing…”、“A white bear cub…”、“A boy superhero…” 等长 prompt。AdaScope 相比 DDPO/DPOK/D3PO 更能同时维持 aesthetics 与 prompt responsiveness。
Figure 12 解读:主观评估由 human evaluators 与 ChatGPT/VLM 分别打分,维度包括 Structural Faithfulness (SF)、Aesthetic Appeal (AA)、Fine-grained Detail (FD)、Semantic Alignment (SA)、Prompt Responsiveness (PR)。结果支持 AdaScope 的主观生成质量优于 baseline。
5.6 局限与读法
论文的主要局限不是概念层面,而是 implementation transparency:没有公开代码,也没有给出 discrete trend threshold/window、reward/CLIP 计算频率、每个 baseline 的完整训练超参。读这篇论文时应把 AdaScope 理解为“基于 denoising dynamics 的 RL step mask / scheduling plug-in”,而不是一个完全闭环可复现的训练 recipe。