Note: This post was written with the help of AI.
At a glance
- There are two horizons in a diffusion policy: environment time \(t\) and denoising time \(k=K\dots0\). When comparing these methods, I mainly look at where they define the action, where they compute likelihood, and how they assign advantage to each denoising step.
- DDPO / DPOK treat the denoising process as one MDP. Each \(\pi_\theta(x_{k-1}\mid x_k,c)\) is Gaussian, so we can compute its log probability directly. Reward only appears at \(x_0\), and every step gets the same terminal reward.
- DPPO puts the denoising MDP inside the environment MDP, then flattens \((t,k)\) into one long chain. Reward appears at \(k=0\), after we have a clean action. The critic is \(V(s_t)\), and GAE runs at the environment level. All denoising steps for one environment decision use the same \(A_t\), multiplied by \(\gamma_{\text{denoise}}^k\). Here we use the destination index for each transition.
- The PPO ratio and clipping are evaluated separately at each \((t,k)\). The gradient passes through the current \(\mu_\theta(a^{k+1},s_t,k)\), not backward through the sampled denoising chain. This score-function estimator differs from the pathwise gradients in DRaFT / AlignProp.
- For a deterministic flow / ODE sampler, the conditional transition is a Dirac distribution. We cannot plug it into a Gaussian PPO ratio. The final output can still be random because the initial noise is random. Flow-GRPO and DanceGRPO deal with this by constructing an SDE; ReinFlow and πRL Flow-Noise add learned noise. DDIM with \(\eta=0\) has the same problem at each transition.
- There are also methods that do not use chain log probabilities: DSRL / Noise PPO learn over initial noise, FPO builds a surrogate ratio from flow-matching loss differences, and DiffusionNFT regresses positive and negative implicit policies.
0How to read the diagrams
The diagrams below all use the same format. Columns are environment decisions: one condition \(c\) for image generation, or three robot decisions \(t,t+1,t+2\). Rows go from initial noise \(x_K\), through denoising \(x_k\to x_{k-1}\), to the output \(x_0\) / action \(a_t\), an optional residual, and finally the environment or reward model. I only draw five denoising rows, even for a 50-step sampler. The colors, stars, arrows, and weights mean the same thing across diagrams.
- Gray: frozen computation, or a timestep excluded from the loss.
- Solid accent: the output is an RL action; evaluate \(\log\pi\) and a likelihood ratio here.
- Accent outline: trainable computation without a local RL action, such as regression or a pathwise gradient.
- White: data or the environment: samples, actions, simulator, reward model.
- Dashed: reuse an earlier result instead of recomputing this column, as in chunked replanning.
- Star: where reward enters.
- Cell text: the assigned advantage weight. \(\hat A\) means the same broadcast value; \(\gamma^k\hat A\) means step weighting. Lighter fill indicates lower weight.
- Red reverse arrow: pathwise backpropagation from a differentiable reward or \(\nabla_aQ\).
- Stacked dashed boxes ×G: a group of sibling samples compared for relative advantages.
- Teal pill: the critic location, such as \(V(s_t)\) or \(Q(s,a)\).
- Teal arrows below the environment: backward recursion of GAE / discounted return across environment time.
- Right bracket: an operation spanning rows, such as transition KL, a moving window, or a joint-chain ratio.
- 1Initial noise \(x_K\sim\mathcal N(0,I)\) is a white data cell here. A solid cell at this location (Noise PPO, DSRL) makes noise the RL action.
- 2Gray: an early frozen denoising prefix, as in DPPO finetuning only the last \(K^{\prime}\) steps.
- 3Outline: trainable parameters without a local log-probability term, updated through regression or pathwise gradients.
- 4Solid: RL action with ratio \(\rho\). Labels \(\gamma\hat A\) and \(\hat A\) give its advantage weight; lighter fill means a smaller weight.
- 5The final action \(a_t\) or sample \(x_0\).
- 6An optional residual row. A solid cell makes the residual the RL action.
- 7Environment / reward model. A star marks reward injection.
- 8Critic attachment point.
- 9Red arrow: how far the pathwise gradient is propagated backward.
- 10Stacked ×G boxes: sibling samples under one condition.
Below each grid are the three parts of a training iteration: rollout, reward calculation, and the update.
1Method genealogy
I group the methods by where RL acts: noise space, inside the chain with likelihood ratios, likelihood-free / regression, and after the output. Each edge describes what changes between two methods. It does not necessarily mean one paper builds on the other. Click a method to jump to its section.
2Two-level MDP derivation: two horizons
Environment time is \(t=0,1,\dots\); denoising time is \(k=K,\dots,1,0\), from pure noise to clean sample/action. Terminal-reward image generation has one denoising horizon conditioned on prompt \(c\). In robotics, the condition is observation \(s_t\), and each environment decision generates an entire chain to obtain \(a_t^0\).
2.1A single denoising MDP: DDPO / DPOK
DDPO (Black et al., 2023) and DPOK (Fan et al., 2023) view one generation as a \(K\)-step episode:
The MDP transition is deterministic: the next state contains the \(x_{k-1}\) we just sampled. The randomness comes from the policy. Since each policy is diagonal Gaussian, we can compute its log probability:
Intermediate rewards are zero, and the inner discount is one. Every transition therefore has return \(r(x_0,c)\). DDPO has two estimators:
For \(\hat A\), we can normalize rewards using a running mean and standard deviation for each prompt. This gives us a baseline without training a critic. The idea is related to GRPO, although GRPO computes its statistics from samples in the same batch. DPOK adds a KL term to the same MDP. If the initial-noise distribution is unchanged, the chain-rule bound lets us replace the terminal KL with a sum of expected Gaussian transition KLs:
DPOK also considers a learned baseline \(V(x_k,c)\approx\mathbb E[r(x_0,c)\mid x_k]\) in its appendix: a critic over denoising states. Compare this with the environment-only critic in DPPO.
We need positive variance for the Gaussian ratio. The log density requires \(\sigma_k>0\). For DDIM, the noise is controlled by \(\eta\), with \(\sigma_k(\eta)=\eta\sqrt{\tfrac{1-\bar\alpha_{k-1}}{1-\bar\alpha_k}}\sqrt{1-\tfrac{\bar\alpha_k}{\bar\alpha_{k-1}}}\). We need positive \(\eta\) where this coefficient is nonzero, and may still need to handle the endpoints separately or add a variance floor. With \(\eta=0\), each DDIM transition is deterministic, so this local density ratio does not apply.
2.2The DPPO two-level MDP
DPPO (Ren et al., 2024) considers robots. At decision \(t\), start at \(a_t^K\sim\mathcal N(0,I)\), denoise to \(a_t^0\), execute the action (often a chunk), and transition to \(s_{t+1}\). Flatten the two levels using \(\bar t(t,k)=tK+(K-k-1)\). In this subsection, \(k=K-1,\dots,0\) indexes the destination of \(a^{k+1}\to a^k\):
The policy is still Gaussian: \(\pi_\theta(a_t^k\mid s_t,a_t^{k+1})=\mathcal N(a_t^k;\mu_\theta(a_t^{k+1},s_t,k),\sigma_{k+1}^2I)\). We can compute the log probability. The remaining question is how to turn the environment reward at \(k=0\) into an advantage for each \((t,k)\).
Computing and distributing advantage. DPPO uses two levels:
- The critic depends on \(s_t\), not the intermediate noisy action \(a_t^{k+1}\). The paper reports instability in an ablation that also conditions the value function on the noisy action.
- We compute advantage once per environment decision. All \(k\) use the same \(A_t\), with a weight \(\gamma_{\text{denoise}}^k\) (0.99 in the configurations discussed here). In the code, this is
advantages *= gamma_denoising ** (ft_denoising_steps - i - 1). The index \(i\) increases through the trainable steps, so the last step has weight one. - My understanding is the following. If the critic only sees \(s_t\) and the inner discount is one, the inner TD error is \(0+V(s_t)-V(s_t)=0\). We can then pass the environment advantage to the denoising steps. The extra \(\gamma_{\text{denoise}}\) downweights early, noisy steps; it does not discount physical time. This is an intuition, though. It does not prove that running GAE on an arbitrarily flattened chain gives the same estimator as the environment-level implementation.
PPO ratios and clipping. Each \((t,k)\) contributes a separate PPO sample:
- We save \(a_t^{k+1}\) and \(a_t^k\) during rollout and treat them as constants when updating. The gradient \(\nabla_\theta\log\pi_\theta\) only goes through the current \(\mu_\theta(a_t^{k+1},s_t,k)\). It does not backpropagate through the sampled denoising chain. If we batch the updates by step, we do not need to keep the whole chain’s activations in memory. We still have to store the rollout, and both storage and total computation grow with \(K\).
- The implementation supports timestep-dependent clipping: \(\epsilon_k=\epsilon_{\text{base}}+(\epsilon-\epsilon_{\text{base}})\frac{e^{\beta\tau_k}-1}{e^{\beta}-1}\), with \(\tau_k\in[0,1]\) increasing along denoising. Later transitions can have a wider clipping interval. The cited Robomimic configuration goes from
clip_ploss_coef_base=0.001toclip_ploss_coef=0.01; Gym uses 0.01 for both, giving no schedule.
Exploration and numerical stability. Small posterior \(\sigma_k\) near the clean end gives weak exploration and makes log probability highly sensitive to small mean changes. DPPO distinguishes a sampling floor \(\sigma^{\text{exp}}_{\min}\) (0.01–0.1 across cited tasks) from a log-probability floor \(\sigma^{\text{prob}}_{\min}=0.1\). Both are 0.1 in the cited Gym / Robomimic configurations.
Only finetune the last few steps. Make a copy \(\theta_{\text{ft}}\). Use frozen \(\theta\) for the first \(K-K^{\prime}\) transitions, then the trainable copy for the last \(K^{\prime}\), which enter the PPO loss. The configurations discussed here use \(K=20,K^{\prime}=10\). Another option is roughly five stochastic DDIM steps with \(\eta=1\) during training and \(\eta=0\) for evaluation. Execute \(T_a\) primitive actions from a chunk, then replan.
2.3Other factorizations
(a) Treat the whole chain as one action. Add the transition log probabilities to get the joint log probability; multiply the ratios to get the joint ratio:
The clean-action marginal ratio \(\pi_\theta(a^0)/\pi_{\mathrm{old}}(a^0)\) is generally intractable, but \(\rho^{\mathrm{chain}}\) is a valid weight on the extended trajectory space. At the on-policy point, the score gradients have the same form \(\mathbb E[A\sum_k\nabla\log\pi_k]\). Clipping their product and clipping individual ratios are different surrogates: many small local changes can accumulate as roughly \((1\pm\epsilon)^K\), while joint clipping can activate frequently on long chains. PPO clipping is not a hard constraint on either ratio or KL. OGPO uses the joint product.
(b) Outcome-only group comparison. Sample \(G\) chains for condition \(c\), compute \(\hat A_i=(r_i-\bar r)/(\operatorname{std}(r)+\varepsilon)\), and broadcast it through each chain before per-step ratio clipping (Flow-GRPO, DanceGRPO). No critic is needed, but the signal remains terminal rather than denoising-step-specific. SDE construction, sample grouping, fewer steps, and shared initial noise make practical differences.
(c) RL only in noise / latent space. Freeze \(f_\theta\), absorb it into the environment, and learn \(\pi_\psi(w\mid s)\) with output \(a=f_\theta(s,w)\), often using deterministic DDIM. The density belongs to the noise policy, not the denoising chain. DSRL uses off-policy SAC; Noise PPO uses a one-decision PPO formulation.
(d) Avoid chain likelihoods altogether. One family builds surrogate ratios from ELBO / flow-matching losses (FPO). Another learns through regression, including DiffusionNFT’s positive and negative implicit policies. A simpler related baseline is advantage-weighted regression:
These losses do not require the reverse chain’s likelihood, so we can use ODE or higher-order samplers. The training objectives are still different: NFT uses positive/negative implicit policies, while FPO uses a surrogate ratio. We also need to check whether each method works with classifier-free guidance.
2.4ODE → SDE: why flow policies use it
Flow matching / rectified flow samples with the ODE \(\mathrm dx_\tau=v_\theta(x_\tau,\tau)\,\mathrm d\tau\). Given the current state, the next step is deterministic. Its Dirac transition cannot give us the ordinary stochastic density needed for local PPO. This says nothing about whether the final output has a density. Let \(\tau=1\) denote noise and \(\tau=0\) denote data, so generation runs with \(\mathrm d\tau<0\). With an ideal velocity field / score in continuous time, we can construct a reverse SDE with the same marginals:
For rectified flow, \(x_t=(1-t)x_0+t\varepsilon\), and the score is \(\nabla\log p_t(x)=-[x+(1-t)v_\theta(x,t)]/t\). Substitution and Euler–Maruyama discretization give the Flow-GRPO transition below. Here \(t\) is the flow interpolation variable, not environment time:
Each discrete transition is isotropic Gaussian. With the same diffusion coefficient, its KL is \(\mathrm{KL}=\frac{|\Delta t|}{2}\big(\frac{\sigma_t(1-t)}{2t}+\frac1{\sigma_t}\big)^2\lVert v_\theta-v_{\mathrm{ref}}\rVert^2\). The hyperparameter \(a\) controls exploration. Generation has \(\Delta t<0\); covariance and KL use \(|\Delta t|\). Finite-step solvers need not exactly preserve continuous-time marginals, and endpoints require appropriate treatment.
ReinFlow instead adds a learned noise network directly to each flow step:
This gives us a discrete Markov chain, whose joint likelihood is a product of Gaussian transitions. RL learns the noise scale within upper and lower bounds, and the models discussed here use only 1–4 steps. The price is that we no longer have a guarantee of preserving the pretrained marginals. πRL tries both approaches: Flow-Noise uses learned noise and a single-level formulation; Flow-SDE uses an SDE and a DPPO-like two-level MDP.
2.5Where does the gradient go?
| Gradient path | Requirements | Examples | Properties |
|---|---|---|---|
| Score function; local transition | Per-step \(\log\pi\); stochastic sampler | DDPO、DPOK、DPPO、Flow-GRPO、DanceGRPO、ReinFlow | Black-box rewards allowed; potentially high variance; no cross-step activation graph with stepwise updates |
| Pathwise; backpropagate through the chain | Differentiable reward and sampling path | ReFL、DRaFT、AlignProp | Often lower variance; memory grows with the backpropagated graph; reward hacking remains possible; ordinary black-box simulation supplies no reward gradient |
| Pathwise chain + Gaussian output head | Store the entire noise sequence | NCDPO | Condition on noise to obtain deterministic \(f_\theta(s,a^K,z_{1:K})\), attach a Gaussian output policy, and differentiate the PPO objective through generation |
| Noise-space policy | Black-box access to \(f_\theta\) | DSRL、Noise PPO | Freeze \(\theta\); reachable behavior depends on the frozen mapping and permitted latent region |
| Surrogate likelihood / weighted regression | Flow-matching loss | FPO, DiffusionNFT, AWR-style methods | Decoupled from transition likelihood; surrogate bias and/or estimation variance |
2.6General on-policy estimators
PPO + GAE
Schulman et al. 2017 · 1707.06347;GAE 2015 · 1506.02438Train \(V_\phi\) using a value loss, often with value clipping. Policy clipping is a surrogate that discourages large updates, not a hard KL bound. Several epochs reuse one rollout batch. Common implementation choices include normalized advantages and target-KL early stopping.
GRPO
Shao et al. 2024(DeepSeekMath)· 2402.03300GRPO uses the mean of \(G\) samples under the same condition as its baseline, so there is no learned critic. Each sample’s tokens or denoising steps share one outcome advantage. The k3 expression above estimates \(D_{\mathrm{KL}}(\pi_\theta\Vert\pi_{\mathrm{ref}})\) on samples from \(\pi_\theta\). If we reuse old-policy samples, we need to account for that change in distribution. In the original GRPO objective, this KL penalty goes directly into the loss.
RLOO / REINFORCE++
Ahmadian et al. 2024 · 2402.14740;Hu et al. 2025 · 2501.03262RLOO uses \(\hat A_i=r_i-\frac1{G-1}\sum_{j\ne i}r_j\), without dividing by a standard deviation. With independent sibling samples, the leave-one-out baseline does not bias the score-function estimator. REINFORCE++ uses a critic-free, globally normalized batch advantage rather than group normalization, and puts KL into token-level rewards. These estimator choices can be considered separately from the diffusion policy parameterization.
Practical difficulties for diffusion policies
- Which likelihood is tractable? Deterministic ODE / DDIM steps do not supply ordinary local stochastic densities; Gaussian stochastic transitions do. The marginal \(\pi(a^0\mid s)\) still generally requires integrating out the chain. Flow policies can use SDEs, injected noise, or alternative objectives (FPO / NFT). GenPO uses a specialized invertible construction with augmented dummy actions to obtain tractable likelihoods.
- Credit within denoising. Reward arrives only at \(x_0\). Common choices share that signal (DPPO adds \(\gamma_{\text{denoise}}^k\); GRPO broadcasts), or learn a denoising-state critic, such as DPOK’s optional \(V(x_k,c)\). Step-aware preference/reward methods require additional models or sampling.
- Variance. There are \(K\) terms in the score sum. Its variance depends on each term and on their covariances, so it does not simply grow with \(K\). Still, long chains can be hard to optimize. DPPO only trains the last few steps, DanceGRPO samples a subset (about 60% in the setup discussed here), and MixGRPO trains a moving window.
- Compute. Each environment decision requires \(K\) model evaluations, and every trained transition adds another forward/backward evaluation. Examples include 10 training steps versus 40 inference steps in Flow-GRPO, five-step DDIM, and 1–4-step shortcut / ReFlow policies in ReinFlow.
- Exploration noise. Tiny late-step variance weakens exploration and can make likelihood ratios numerically unstable. Solutions include DPPO variance floors, Flow-GRPO’s noise multiplier \(a\), and ReinFlow’s learned noise. Larger perturbations can also reduce sample quality and move samples away from familiar behavior.
- KL to the pretrained model. When the initial-noise distribution is the same, the sum of expected transition KLs upper-bounds the terminal KL. For Gaussians with equal covariance, we can calculate it in closed form. DanceGRPO reports little benefit from KL in its experiments. I would not take that as a reason to drop regularization everywhere: learned rewards can be exploited, so KL, BC, and independent evaluation may still be needed.
3Inside the chain: likelihood ratios on denoising transitions
These methods treat some denoising transitions as RL actions. Those are the solid cells, where we compute log probabilities and ratios. The differences are which steps get updated, how we compute their advantages, and where we put the critic. We use condition \(c\) or \(s_t\), latent \(x_k\), old policy \(\theta_{\mathrm{old}}\), reference \(\theta_{\mathrm{ref}}\), advantage \(\hat A\), and ratio \(\rho\) throughout.
DDPO
Black, Janner, Du, Kostrikov, Levine · 2023 · 2305.13301Inside chain- Idea
- The policy is each \(\pi_\theta(x_{k-1}\mid x_k,c)\); the action is \(x_{k-1}\). The terminal reward \(r(x_0,c)\) may be a black-box compressibility, aesthetic, or VLM-alignment score.
- Computation grid
- One update
c ~ prompts; x_K ~ N(0,I) for k = K..1: # cited ddpo-pytorch: DDIM 50, η=1, CFG=5 x_{k-1} ~ N(μ_θold(x_k,k,c), σ_k² I) store x_k, x_{k-1}, logp_old[k] r = R(x_0,c) Â = clip((r - mean_c) / std_c, -5, 5) # running prompt statistics; no critic for epoch, minibatch, k in all K steps: ρ_k = exp(log π_θ(x_{k-1}|x_k,c) - logp_old[k]) L += -min(ρ_k Â, clip(ρ_k,1-ε,1+ε) Â) # cited ε=1e-4 θ ← θ - learning_rate · ∇L- Objective
- \[\mathcal J_{\text{DDPO}_\text{IS}}=\mathbb E\Big[\sum_{k=1}^{K}\min\big(\rho_k\hat A,\ \operatorname{clip}(\rho_k,1-\epsilon,1+\epsilon)\hat A\big)\Big],\quad \rho_k=\frac{\pi_\theta(x_{k-1}\mid x_k,c)}{\pi_{\theta_{\text{old}}}(x_{k-1}\mid x_k,c)}\]
- Comparison
- Compared with ordinary PPO:
- One generation becomes a \(K\)-step MDP with deterministic state transitions, Gaussian policies, and terminal reward.
- No learned critic: running per-prompt reward statistics provide the baseline.
- All \(K\) steps share \(\hat A\), without an explicit reference KL in the cited configuration. DDPO\(_{\mathrm{SF}}\) is the REINFORCE-style version.
- Limitations
- Needs stochastic transitions for ordinary log densities and stores \(K\) transitions per sample. Shared terminal credit can have high variance. The paper reports reward over-optimization; the cited \(10^{-4}\) clipping interval makes updates conservative.
- Variants
- DDPO\(_{\mathrm{SF}}\); Large-scale RL for diffusion (Zhang et al., 2024) extends this direction to a million-scale prompt pool and multiple rewards.
DPOK
Fan et al. · 2023 · 2305.16381Inside chain- Idea
- The same single denoising MDP, now with transition KL to the pretrained model and an optional denoising-state baseline \(V(x_k,c)\). The reward is ImageReward.
- Computation grid
- One update
c ~ prompts; sample x_K..x_0 with a stochastic policy; store transitions r = ImageReward(x_0,c) for k = K..1: A_k = r - V_φ(x_k,c) # optional; otherwise A_k = r L_pg += -α A_k log π_θ(x_{k-1}|x_k,c) L_kl += β ‖μ_θ(x_k,k,c)-μ_ref(x_k,k,c)‖² / (2σ_k²) L_V = Σ_k (V_φ(x_k,c)-r)² θ ← θ - learning_rate · ∇(L_pg+L_kl) φ ← φ - learning_rate · ∇L_V- Objective
- \[\min_\theta\ \mathbb E_{c}\Big[\alpha\,\mathbb E_{p_\theta}[-r(x_0,c)]+\beta\sum_{k}\mathbb E_{p_\theta}\big[\mathrm{KL}\big(p_\theta(x_{k-1}\mid x_k,c)\,\Vert\,p_{\text{pre}}(x_{k-1}\mid x_k,c)\big)\big]\Big]\]
- Comparison
- Compared with DDPO:
- Add expected transition KLs; their sum upper-bounds terminal KL. With matching fixed covariance, each is \(\|\mu_\theta-\mu_{\mathrm{pre}}\|^2/(2\sigma_k^2)\).
- An optional \(V(x_k,c)\) makes the baseline depend on the noisy state and timestep.
- The reward is ImageReward. I have not confirmed whether the paper uses PPO-style ratio clipping, so I leave that unspecified here.
- Limitations
- We need an extra reference-model forward pass at each step. The KL bound can also be conservative. The paper’s experiments use a relatively small set of prompts.
- Variants
- —
Flow-GRPO
Liu et al. · 2025 · 2505.05470Inside chain- Idea
- A rectified-flow model (SD3.5-M) with an ODE-to-SDE construction that preserves marginals in the ideal continuous-time setting. Each SDE transition is a Gaussian policy. GenEval, OCR, or PickScore supplies terminal reward, normalized within a prompt group.
- Computation grid
- One update
c ~ prompts for i = 1..G: # cited G=24 x_1 ~ N(0,I) sample T=10 SDE steps; store logp_old # σ_t = a sqrt(t/(1-t)), a=0.7; handle endpoints r_i = R(x_0^i,c) Â_i = (r_i-mean(r)) / std(r) # broadcast across the chain for i, t in group × training steps: ρ = exp(log π_θ(x_{t+Δt}|x_t,c)-logp_old) L += -min(ρ Â_i,clip(ρ,1-ε,1+ε) Â_i) + β KL_t(θ||θ_ref) θ ← θ - learning_rate · ∇L # inference: ODE, T=40- Objective
- \[\mathcal J=\mathbb E\Big[\frac1G\sum_{i=1}^{G}\frac1T\sum_{t}\Big(\min\big(\rho_t^i\hat A^i,\operatorname{clip}(\rho_t^i,1\pm\epsilon)\hat A^i\big)-\beta\,D_{\text{KL}}(\pi_\theta\Vert\pi_{\text{ref}})\Big)\Big]\]
- Comparison
- Compared with DDPO:
- Rectified flow replaces the diffusion model; ODE→SDE gives Gaussian transitions (§2.4).
- Same-prompt groups (\(G=24\) in the cited setup) replace historical prompt statistics.
- Analytic transition KL uses \(\beta=0.04\) for GenEval/OCR and 0.01 for PickScore in the cited experiments.
- Denoising Reduction uses 10 steps in training and 40 at inference.
- Limitations
- Noise scale \(a\) must balance exploration and quality. Every step shares outcome credit. Each group costs \(G\times T\) forward evaluations, plus a comparable amount of forward/backward work for updates.
- Variants
- πRL Flow-SDE applies a related SDE construction to \(\pi_0\) / \(\pi_{0.5}\) VLAs within an environment-coupled two-level MDP.
DanceGRPO
Xue et al. · 2025 · 2505.07818Inside chain- Idea
- SDE sampling plus group-relative advantages across diffusion and rectified-flow generators: T2I, T2V, and I2V with SD, FLUX, HunyuanVideo, and SkyReels, using multiple reward models.
- Computation grid
- One update
c ~ prompts; x_K ~ N(0,I) # shared initial noise within a group for i = 1..G: # cited image setup: G=12 sample stochastic transitions; store logp_old # SD: 50 steps; FLUX / HunyuanVideo: 25 for each reward model m: A_i^m = (r_i^m-μ^m) / σ^m Â_i = Σ_m A_i^m # normalize separately, then combine S = a random 60% subset of timesteps for i,k in group × S: L += -min(ρ Â_i,clip(ρ,1-ε,1+ε) Â_i) # cited ε=1e-4; no KL θ ← θ - learning_rate · ∇L # jointly train cond / uncond under CFG- Objective
- \[\mathcal J=\mathbb E\Big[\frac1G\sum_i\frac{1}{|S|}\sum_{k\in S}\min\big(\rho_k^i\hat A^i,\operatorname{clip}(\rho_k^i,1\pm\epsilon)\hat A^i\big)\Big],\quad \hat A^i=\sum_m\frac{r_i^m-\mu^m}{\sigma^m}\]
- Comparison
- Compared mechanistically with Flow-GRPO (not a claim of chronological inheritance):
- Share initial noise across siblings; the paper reports more stable video optimization than independent initial noise.
- Compute the loss on a random 60% of timesteps.
- Normalize each reward advantage separately before combining.
- Omit KL in the reported default setup.
- Jointly optimize conditional and unconditional branches when using CFG; the reported conditional-only setup diverges.
- Limitations
- Video rollout is still expensive, and the clipping interval is small. Shared initial noise helped in the experiments, but does not by itself prevent reward hacking. Later stochastic steps still need to produce different samples within the group.
- Variants
- —
MixGRPO
Li et al. · 2025 · 2507.21802Inside chain- Idea
- MixGRPO tries to reduce GRPO’s training cost. It uses SDE transitions and ratio/KL losses only inside a moving window; the other steps use a deterministic ODE.
- Computation grid
- One update
W = [l,l+w); w=4; T=25 # cited FLUX.1-dev setup c ~ prompts for i = 1..G: # G=12 before W: ODE (Euler) inside W: SDE (Euler–Maruyama); store logp_old after W: ODE; Flash uses second-order DPM-Solver++ Â_i = group_normalize(rewards) L = Σ_{i,k∈W} -min(ρ Â_i,clip(ρ) Â_i) + β KL_k θ ← θ - learning_rate · ∇L every 25 iterations: l ← l+1 # move from high noise to low noise- Objective
- \[\mathcal J=\mathbb E\Big[\frac1G\sum_i\frac1{w}\sum_{k\in W}\Big(\min\big(\rho_k^i\hat A^i,\operatorname{clip}(\rho_k^i,1\pm\epsilon)\hat A^i\big)-\beta D_{\text{KL},k}\Big)\Big]\]
- Comparison
- Compared with DanceGRPO:
- Both injected SDE noise and the loss are restricted to \(W\) (4 of 25 steps in the cited setup), instead of a random 60% loss subset.
- ODE segments can use higher-order solvers (Flash).
- The progressive schedule advances one timestep every 25 iterations, from low SNR to high SNR.
- The paper reports about 50% less training time than DanceGRPO in its comparison, or about 71% with Flash. These numbers are from those experiments; I have not reproduced them.
- Limitations
- The window size and schedule are chosen heuristically. At each iteration, only the steps inside the window get a direct gradient update.
- Variants
- MixGRPO-Flash。
DPPO
Ren et al. · 2024 · 2409.00588 · codeInside chain- Idea
- A robot diffusion policy: one denoising chain per environment decision, with each transition output \(a_t^{k-1}\) as an inner action. Environment rewards feed \(V(s_t)\) and GAE; only the last \(K^{\prime}\) steps are finetuned. See §2.2 for the full derivation.
- Computation grid
- One update
for t = 0..T-1 in parallel environments: a_t^K ~ N(0,I) for k = K..1: # first K-K′ transitions use frozen θ a_t^{k-1} ~ N(μ(a_t^k,s_t,k), max(σ_k,0.1)² I) execute a_t^0; obtain r_t,s_{t+1}; store suffix logp_old A_t = GAE(r,V_φ(s)) # environment level only for t,k in the final K′ transitions: Â_{t,k} = γ_denoise^(k-1) · A_t # source index k; final k=1 has weight 1 ρ = exp(log π_θft(a_t^{k-1}|a_t^k,s_t)-logp_old) L += -min(ρ Â,clip(ρ,1-ε_k,1+ε_k) Â) # scheduled clipping L_V = (V_φ(s_t)-R_t)² # cited variance floors: 0.1; γ_denoise=0.99 # equivalent destination-index notation in §2.2 uses γ_denoise^k- Objective
- \[\mathcal L=-\mathbb E_{t,k}\Big[\min\big(\rho_{t,k}\hat A_{t,k},\operatorname{clip}(\rho_{t,k},1\pm\epsilon_k)\hat A_{t,k}\big)\Big],\quad \hat A_{t,k}=\gamma_{\text{denoise}}^{\,k}\,A_t^{\text{GAE}}\]
- Comparison
- Compared with DDPO:
- Nest denoising inside an environment MDP, with one chain per executed decision.
- Add an environment-state critic \(V(s_t)\) and GAE.
- Reuse environment advantage within the chain, with denoising weights (destination-index \(\gamma_d^k\)).
- Finetune a suffix; cited Gym/Robomimic configurations use \(K=20,K^{\prime}=10\).
- Separate sampling and log-probability variance floors, both 0.1 in those configurations.
- Robomimic clipping runs from 0.001 to 0.01; Gym uses 0.01 at both ends.
- Limitations
- On-policy training can be expensive when collecting environment data is expensive. There are also quite a few choices to tune: \(K^{\prime}\), denoising weights, two noise floors, and the clipping schedule. The original notes give roughly twice the wall-clock cost of Gaussian PPO for the comparison cited there; the ratio will depend on the hardware and setup.
- Variants
- NCDPO stores noise, deterministically recomputes \(a^0\), uses a Gaussian output policy, and backpropagates through the chain. GenPO augments actions with dummy variables in an invertible diffusion construction to obtain tractable policy likelihoods.
ReinFlow
Zhang, Yu, Su, Wang · 2025 · NeurIPS 2025 · 2505.22094Inside chain- Idea
- Start with a few-step flow policy, e.g., ReFlow / Shortcut with 1–4 steps in these experiments. Add learned noise \(\sigma_{\theta\prime}\) to make each transition Gaussian. We can then compute the chain’s joint likelihood and use a PPO-style update.
- Computation grid
- One update
for each environment decision: a^0 ~ N(0,I) for k = 0..K-1: # cited K=1..4; index runs noise → data a^{k+1} = a^k + v_θ(t_k,a^k,s) Δt + σ_θ′(t_k,a^k,s) ε execute a^K; obtain r_t; store chain logp_old A_t = GAE(r,V_φ) log π(chain) = Σ_k log N(a^{k+1}; a^k+v_θ Δt,diag σ_θ′²) # Illustrative JOINT surrogate; original notes did not verify clipping granularity. ρ_chain = exp(log π_{θ,θ′}(chain)-logp_old) L_joint = -min(ρ_chain A,clip(ρ_chain) A) - c_ent H + L_V update θ, θ′, φ deployment: remove σ_θ′ and return to deterministic flow- Objective
- \[\pi(a^{k+1}\mid a^k,s)=\mathcal N\big(a^k+v_\theta(t_k,a^k,s)\Delta t,\ \operatorname{diag}\sigma_{\theta'}^2(t_k,a^k,s)\big),\quad \log\pi(a^{0:K}\mid s)=\log p(a^0)+\sum_k\log\pi(a^{k+1}\mid a^k,s)\]
Here ReinFlow uses increasing generation indices a⁰→aᴷ, with a⁰ the initial noise, unlike DPPO’s decreasing indices. A fixed initial-noise prior cancels in the policy ratio.
- Comparison
- Compared with DPPO:
- Use a 1–4-step flow model.
- Learn bounded exploration noise \(\sigma_{\theta\prime}(t_k,a^k,s)\), reusing policy features, rather than a fixed posterior variance plus floor.
- Add entropy regularization.
- Remove the noise network at deployment.
- The original notes work out the joint density, but leave it unclear whether the implementation clips per-step ratios or the joint ratio. The pseudocode uses joint-ratio clipping as an example; I have not confirmed that implementation detail.
- Limitations
- The marginals may drift from the pretrained model. Noise bounds depend on how the control coordinates are defined, and the speed benefit assumes we already have a few-step model.
- Variants
- πRL Flow-Noise applies the same idea to \(\pi_0\) / \(\pi_{0.5}\).
OGPO
Patil, Nakamoto, …, Levine, Gupta, Simchowitz · 2026 · 2605.03065Inside chain- Idea
- We still have two MDP levels, but split them at environment transitions. Learn \(Q\) with off-policy TD. Then we can resample the inner denoising MDP without collecting more environment data. A modified PPO objective treats \(Q(s,a_0)\) as the terminal reward and uses the product of transition ratios.
- Computation grid
- One update
interact: sample a_{t,K:0} ~ π_θ(·|s_t); store (s,a_0,r,s′) in replay D critic: Q_φ ← TD on D target = r + γ mean_i Q_target(s′,a′^(i)) for s ~ D: sample N chains a^(j)_{K:0} ~ π_θbar(·|s) # generator only; no environment Vhat(s) = mean_j Q_target(s,a_0^(j)) Â_j = Q_target(s,a_0^(j)) - Vhat(s) # optionally conservative critics ρ_j = Π_k π_θ(a_{k-1}^(j)|s,a_k^(j)) / π_θbar(·) L += -min(ρ_j Â_j,clip(ρ_j,1-ε,1+ε) Â_j) OGPO+: L += λ_bc L_BC(success_buffer)- Objective
- \[\ell_{\text{PPO}}=\min\big(\rho\hat A,\operatorname{clip}(\rho,1\pm\epsilon)\hat A\big),\quad \rho=\prod_{k=1}^{K}\frac{\pi_\theta(a_{t,k-1}\mid s_t,a_{t,k})}{\pi_{\bar\theta}(a_{t,k-1}\mid s_t,a_{t,k})},\quad \hat A=Q_{\text{targ}}(s_t,a_{t,0})-\hat V\]
- Comparison
- Compared with DPPO:
- Advantage comes from off-policy \(Q\), not rollout GAE: \(\hat A=Q(s,a_0)-\hat V\), where \(\hat V\) averages sibling-chain values at the same state.
- Use a joint product ratio with one scalar advantage per chain.
- Resample chains at replay states without fresh environment transitions.
- Stabilize with success-buffer BC, conservative advantages from multiple critics, and multiple next-action samples for lower-variance TD targets.
- Limitations
- The policy can exploit errors in the critic, and the paper spends effort dealing with this. For large \(K\), the joint ratio can trigger clipping frequently; we also need replay and multiple critics. The paper’s comparison gives roughly 10× DPPO’s sample efficiency. I have not reproduced this, and would not expect the same ratio in every setting.
- Variants
- OGPO+ adds success-buffer BC; OGPO+CA adds conservative advantages.
4Noise space: only \(x_K\) is the action
The generator is frozen: all denoising cells are gray and only the initial-noise cell is solid. Any required density belongs to the noise policy itself, independently of the denoising chain.
Noise PPO
Miao, Loh, Poupart, Kothawade · 2025 · 2506.12036Noise space- Idea
- Freeze the diffusion model. The learned policy is a prompt-conditioned initial-noise distribution \(\pi_\theta(x_K\mid c)=\mathcal N(\mu_\theta(c),\Sigma_\theta(c))\). This is a one-step MDP with a weighted aesthetic / PickScore / HPSv2 reward.
- Computation grid
- One update
c ~ prompts x_K ~ π_θold(·|c) # zero-initialized heads start at N(0,I) x_0 = Sampler_frozen(x_K,c) # cited LCM 4-step / SDXL-Turbo setup r = 0.2 Aesthetic + 0.4 PickScore + 0.4 HPSv2 Â = r-b # exact baseline unresolved in source notes ρ = π_θ(x_K|c) / π_θold(x_K|c) L = -min(ρ Â,clip(ρ) Â) + γ1 KL(π_θ(·|c)||N(0,I)) - γ2 H(π_θ(·|c)) θ ← θ - learning_rate · ∇L- Objective
- \[\min_\theta\ -\mathcal J_{\text{PPO}}(\theta)+\gamma_1\,\mathrm{KL}\big(\pi_\theta(\cdot\mid c)\,\Vert\,\mathcal N(0,I)\big)-\gamma_2\,\mathcal H\big(\pi_\theta(\cdot\mid c)\big)\]
- Comparison
- Compared with DDPO:
- The action moves from every transition to only \(x_K\); denoising becomes a frozen function.
- The MDP shrinks from \(K\) decisions to one.
- KL compares the noise policy with a standard Gaussian, not the denoiser with a reference model.
- No denoising trajectory storage or generator backpropagation is needed.
- Limitations
- The frozen generator and allowed noise distribution limit which outputs we can reach. The paper finds smaller gains with longer sampling chains, though this depends on the model and sampler. The noise itself can also be high-dimensional.
- Variants
- ReNO instead performs inference-time noise gradient ascent for a single prompt using a differentiable reward; it does not train a noise-space RL policy.
DSRL
Wagenmaker et al. · 2025 · CoRL 2025 · 2506.15799Noise space- Idea
- Freeze the diffusion policy. Learn \(\pi^W(w\mid s)\) in latent-noise space and execute \(a=\pi_{\mathrm{dp}}(s,w)\) through deterministic DDIM. The outer learning algorithm is off-policy SAC.
- Computation grid
- One update
w ~ π^W_ψ(·|s_t), w ∈ [-b,b]^d # cited online b between 1 and 3 a_t = π_dp(s_t,w) # frozen; deterministic DDIM execute a_t; store (s,a,w,r,s′) DSRL-SAC: Q^W(s,w) ← TD actor maximizes Q^W - α log π^W DSRL-NA: Q^A(s,a) ← TD # arbitrary-source action transitions regress Q^W(s,w) toward Q^A(s,π_dp(s,w)) improve the latent actor using Q^W- Objective
- \[\max_\psi\ \mathbb E_{s}\big[Q^W(s,\pi^W_\psi(s))\big],\qquad Q^W(s,w)\approx Q^A\big(s,\pi_{\text{dp}}(s,w)\big)\ \ (\text{NA})\]
- Comparison
- Compared mechanistically with independently proposed Noise PPO:
- A multi-step environment MDP replaces the one-step generation problem; select noise at each decision.
- Off-policy SAC replaces PPO.
- Bound \(w\) within \([-b,b]^d\), instead of explicitly penalizing KL to \(\mathcal N(0,I)\).
- The NA variant learns \(Q^A\) in action space, then distills it into noise-space values. This exploits the many-to-one noise/action map and enables learning from arbitrary action data.
- Limitations
- We need critics, and the latent dimension is tied to the action chunk. If the frozen policy cannot produce a useful behavior within the allowed latent region, changing the noise cannot fix it. OGPO reports this problem when the base policy is poorly initialized.
- Variants
- DSRL-SAC、DSRL-NA。
5Likelihood-free / regression: no chain \(\log\pi\)
Here most denoising cells are outlined. We still train the parameters, but use regression, flow-matching losses, or pathwise gradients instead of local likelihood ratios.
Diffusion-DPO
Wallace et al. · 2023 · 2311.12908likelihood-free- Idea
- We start with offline preference pairs \((x_0^w,x_0^l)\), so there is no online rollout reward. Denoising-loss differences, using an ELBO approximation, replace the log-likelihood differences in the DPO objective.
- Computation grid
- One update
(c,x_0^w,x_0^l) ~ preference data (Pick-a-Pic) k ~ U(1..K); ε^w,ε^l ~ N(0,I) x_k^w = q(x_0^w,k,ε^w); x_k^l = q(x_0^l,k,ε^l) # forward noise d_w = ‖ε^w-ε_θ(x_k^w,k,c)‖² - ‖ε^w-ε_ref(x_k^w,k,c)‖² d_l = ‖ε^l-ε_θ(x_k^l,k,c)‖² - ‖ε^l-ε_ref(x_k^l,k,c)‖² L = -log sigmoid(-β T ω(λ_k) (d_w-d_l)) θ ← θ - learning_rate · ∇L- Objective
- \[\mathcal L=-\mathbb E\log\sigma\Big(-\beta T\omega(\lambda_k)\big[d_w-d_l\big]\Big)\]
- Comparison
- Compared with DDPO:
- Train on fixed preference pairs, without online sampling and scoring.
- Use denoising-loss differences rather than chain \(\log\pi\).
- Reference regularization is implicit in the DPO derivation.
- Train at a randomly chosen \(k\) using forward-noised data.
- Limitations
- We need preference pairs, and offline data may not cover the distribution we want. The ELBO approximation also introduces a difference from the exact marginal-likelihood objective.
- Variants
- D3PO assigns stepwise preferences from terminal outcomes; SPO samples stepwise candidates and uses a step-aware preference model. PhysMoDPO applies preference optimization to motion generation with a whole-body controller in the evaluation loop and reports G1 robot experiments.
DiffusionNFT
Zheng et al. · 2025 · 2509.16117likelihood-free- Idea
- Online reinforcement through the forward process. Generate samples, normalize rewards to \(r\in[0,1]\), forward-noise the outputs, and regress positive/negative implicit flow policies without \(\log\pi\).
- Computation grid
- One update
c ~ prompts; sample G=24 outputs x_0 ~ π_θold # arbitrary solver, e.g. a 40-step second-order ODE; cited setup is CFG-free r_raw = R(x_0,c) r = 0.5 + 0.5 clip((r_raw-mean_c(r_raw))/Z,-1,1) for each x_0: t ~ U; ε ~ N(0,I) x_t = α_t x_0 + σ_t ε; v = α̇_t x_0 + σ̇_t ε v⁺ = (1-β) v_old(x_t) + β v_θ(x_t) v⁻ = (1+β) v_old(x_t) - β v_θ(x_t) L += r ‖v⁺-v‖² + (1-r) ‖v⁻-v‖² θ ← θ - learning_rate · ∇L θ_old ← η_i θ_old + (1-η_i) θ # EMA- Objective
- \[\mathcal L(\theta)=\mathbb E\big[r\,\lVert v^+_\theta(x_t,c,t)-v\rVert^2+(1-r)\,\lVert v^-_\theta(x_t,c,t)-v\rVert^2\big]\]
- Comparison
- Compared with Flow-GRPO:
- No transition log probabilities or SDE requirement; sampling can use ODE/higher-order solvers.
- Train on forward-noised outputs at random \(t\), not sampled reverse-chain transitions.
- Transform group rewards into \(r\in[0,1]\) weights for positive and negative implicit policies.
- No ratio clipping; stability depends on \(\beta\) and old-model EMA.
- The cited setup is CFG-free.
- Limitations
- There is no explicit PPO trust-region surrogate, and we need to choose the normalization scale \(Z\). For long-horizon control, we still have to work out the environment credit. The paper reports about 0.98 GenEval after roughly 1k steps, compared with 0.95 after 5k+ steps for Flow-GRPO in its experiments. I have not reproduced these numbers.
- Variants
- —
FPO
McAllister et al. · 2025 · 2507.21053likelihood-free- Idea
- Treat the complete \(a_t\) as one action per environment decision. Build a surrogate ratio from the difference in conditional flow-matching losses, and use the numerical sampler as a black box.
- Computation grid
- One update
rollout: a_t = Sampler_θold(s_t) # arbitrary sampler / number of steps store N_mc=8 probes (τ_i,ε_i); execute a_t and get r_t A_t = GAE(r,V_φ) for minibatch: ℓ_θ(i) = CFM_loss(v_θ; a_t,s_t,τ_i,ε_i) ℓ_old(i) = CFM_loss(v_θold; same a_t,s_t,τ_i,ε_i) ρhat = exp(-mean_i(ℓ_θ(i)-ℓ_old(i))) L = -min(ρhat A_t,clip(ρhat,1-ε,1+ε) A_t) + L_V # interpolation, normalization, and objective scaling follow the paper- Objective
- \[\hat\rho^{\text{FPO}}(\theta)=\exp\Big(-\frac1{N_{\text{mc}}}\sum_{i=1}^{N_{\text{mc}}}\big(\ell_\theta(\tau_i,\epsilon_i)-\ell_{\theta_{\text{old}}}(\tau_i,\epsilon_i)\big)\Big)\]
- Comparison
- Compared with DPPO:
- The action is the final \(a_t\), not each denoising transition.
- A CFM-loss surrogate replaces exact local transition ratios.
- Sampling can be deterministic and use different solvers.
- The environment critic and GAE remain.
- Limitations
- This is not the exact importance ratio of the sampler used at deployment. The Monte Carlo estimate adds variance (the default discussed here is \(N_{\mathrm{mc}}=8\); the paper also tests one probe). In the image-finetuning experiments, the paper discusses how CFG mismatch accumulates.
- Variants
- —
ReFL / DRaFT / AlignProp: pathwise comparisons
Xu et al. 2023 · 2304.05977;Clark et al. 2023 · 2309.17400;Prabhudesai et al. 2023 · 2310.03739pathwise- Idea
- If the reward is differentiable, we can directly backpropagate \(\nabla_\theta r(x_0(\theta))\) through sampling. This uses a different gradient estimator from likelihood-ratio policy gradients. Calling it RL or direct reward optimization does not change that distinction.
- Computation grid
- One update
c ~ prompts; x_K ~ N(0,I) with no_grad: denoise to k_stop # ReFL: a random late step; DRaFT-K: last K steps; AlignProp: random truncation with grad: denoise from k_stop to x_0 # ReFL instead predicts xhat_0 from the selected late step r = R_diff(x_0,c) θ ← θ + learning_rate · ∇_θ r # gradient checkpointing / LoRA can reduce training cost- Objective
- \[\max_\theta\ \mathbb E_{c,\,x_K}\big[r\big(x_0(\theta;x_K,c),c\big)\big],\qquad \nabla_\theta r=\frac{\partial r}{\partial x_0}\frac{\partial x_0}{\partial\theta}\]
- Comparison
- Compared with DDPO:
- A pathwise derivative replaces the score-function estimator, often reducing variance.
- No log probability or stochastic transition is required.
- The reward must be differentiable with respect to the output.
- Truncation differs: ReFL uses a selected late prediction; DRaFT-K keeps the last K steps, with DRaFT-LV adding repeated noising at K=1; AlignProp uses random truncation.
- Limitations
- We have to keep the activations for the steps we backpropagate through. Reward over-optimization is still a problem. A black-box reward cannot give us the direct gradient these methods need.
- Variants
- DRaFT-K、DRaFT-LV。
Off-policy Q comparisons: Diffusion-QL / DIPO / QSM / IDQL
2208.06193 · 2305.13122 · 2312.11752 · 2304.10573likelihood-free- Idea
- First learn \(Q(s,a)\), then use it to improve the diffusion policy. These methods differ in how they do that: gradients, updated targets, or candidate selection. None requires the denoising chain’s likelihood.
- Computation grid
- One update
Q_φ ← TD on replay D Diffusion-QL: L = L_BC(θ) - α Q_φ(s,a_0(θ)) # backpropagate action gradient DIPO: a′ = a + η ∇_a Q(s,a); diffusion BC on (s,a′) QSM: match the policy score to a Q-gradient-based target IDQL: sample N actions from a BC diffusion policy; resample using implicit IQL weights- Objective
- \[\text{Diffusion-QL:}\ \ \min_\theta\ \mathcal L_{\text{BC}}(\theta)-\alpha\,\mathbb E_{s}\big[Q_\phi(s,a_0(\theta;s))\big]\]
- Comparison
- Compared with DPPO:
- No local likelihood-ratio objective is required.
- Use \(Q(s,a)\) rather than only \(V(s)\). Diffusion-QL, DIPO, and QSM use action-value gradients in different ways; IDQL uses candidate weighting.
- Replay/off-policy learning replaces purely on-policy collection.
- Limitations
- The critic needs to be accurate, which can be difficult for high-dimensional actions. On its harder tasks, DPPO reports better results than the off-policy baselines it tests. That comparison does not tell us which method wins under every algorithm and data setting.
- Variants
- DACER(2405.15177)、PA-RL(2412.06685)。
6Outside the chain: residuals after \(x_0\)
The generator column stays frozen and only the residual row is solid. The relevant density is the residual actor’s own distribution.
Residual RL:ResiP / Policy Decorator
Ankile et al. 2024 · 2407.16677;Yuan et al. 2024 · 2412.13630Outside chain- Idea
- Freeze the base diffusion policy and train a small residual \(\Delta\). Execute \(a^{\mathrm{base}}+\lambda\Delta\). The residual, not the diffusion output, is the RL action.
- Computation grid
- One update
for t: if replanning: a_base[t:t+32] = π_dp(s_t) # cited ResiP setup: frozen, DDIM 4 steps, execute 8 actions per chunk Δ_t ~ π_res(·|s_t,a_base[t]) # each primitive control step execute a_base[t] + 0.1 Δ_t; obtain r_t A = GAE(r,V_φ) L = PPO_clip(π_res) + L_V # ResiP # Policy Decorator: bounded Δ=α tanh(·), SAC # choose base+Δ with probability ε; otherwise base alone # progressively increase ε from 0 to 1- Objective
- \[a_t=a_t^{\text{base}}+\lambda\,\Delta_t,\quad \Delta_t\sim\pi_\phi(\cdot\mid s_t,a_t^{\text{base}}),\quad \mathcal L=-\mathbb E\big[\min(\rho_tA_t,\operatorname{clip}(\rho_t,1\pm\epsilon)A_t)\big]\]
- Comparison
- Compared with DSRL:
- Move the action from latent noise \(w\) to output correction \(\Delta\).
- A correction can reach actions outside the base generator’s image, but its scale (0.1 in the cited ResiP setup) or bound \(\alpha\) limits displacement.
- ResiP uses PPO; Policy Decorator uses SAC with progressive exploration.
- Limitations
- A small bounded residual mainly makes local corrections. The base generator stays unchanged; the improvement is in the residual network. We can also run the residual more frequently than we replan with the base policy.
- Variants
- EXPO, the residual baseline in the OGPO paper.
7Image / video versus robotics: what actually corresponds?
After going through the methods, I want to compare image/video generation and robotics more directly. The questions are the same: what do we generate, where do we get reward, which random variable do we compute the ratio on, and how do we assign credit across time? Here I compare the formulations, rather than rank scores from different benchmarks.
Image / video
During one generation, the condition \(c\) is fixed. The output \(x_0\) can be a whole image or video, which gets a score \(R(x_0,c)\) after generation. A video has a time axis, but generating more frames does not by itself add an environment MDP. For that, we need actions, new observations, and further decisions in between.
Robotics
The denoising chain generates an action or action chunk \(A_j\). We execute it and reach \(s_{j+1}\), which conditions the next chain. So the next generation depends on both the previous output and the environment. We need to distinguish three lengths: \(K\) generation steps, \(H\) predicted actions, and \(h\) executed actions.
7.1 One score-function identity, two return problems
Let us first write down the objective for generating and scoring one image or video. If the initial-noise distribution is fixed, only the conditional transitions contribute a gradient. For now, leave out the baseline, PPO clipping, and KL terms:
For a robot, write the final action distribution as \(\pi_\theta(A_j\mid s_j)\). The policy gradient uses the advantage of this decision for future environment return. We can expand the score into denoising-level terms in the implementation. DPPO uses a particular estimate and weighting, \(\gamma_{\mathrm{denoise}}^k A_j\). Simply replacing an image score \(R\) with the immediate environment reward \(r_j\) does not give us the same update.
The state expectation here uses the visitation distribution for the discounted objective. For generation, we often give all steps in a chain the final sample’s score. For control, we also need to estimate what this action does to future states. This is what the critic helps us with; it is not required just because the task involves a robot.
7.2 Action chunking: define the duration of an environment step
Suppose that at replanning step \(j\), we predict \(H\) actions but only execute the first \(h_j\le H\), without calling the generator again. Let \(n_j\) be the starting primitive control step. Set \(b_j=0\) at true termination and 1 otherwise. If \(\gamma\) is the discount per primitive control step, we get the following chunk reward and bootstrap:
Here \(\lambda\) is defined per replanning decision. We could instead define the discount per chunk, but that would change the time scale. We also need to distinguish a time-limit truncation from true termination when deciding whether to bootstrap. The remaining \(H-h_j\) actions were never executed, so they contributed no direct environment reward to this chunk. We cannot count predicted actions as executed ones. These equations use one chunk-level convention; an implementation may choose another.
7.3 Why “same-prompt groups” do not become “same-batch groups”
Flow-GRPO / DanceGRPO compare samples generated under the same condition \(c\). In a robot batch, however, \(s_1,s_2,\ldots\) may come from different task stages and difficulty levels. If we normalize their returns together, we mix up the quality of the action with how good the starting state already was.
One option is to restore the same state and sample several future trajectories. Another is to generate several candidate actions at that state and use a critic to estimate their returns. The first needs resets or environment branching. The second depends on the critic, including its error on out-of-distribution actions; OGPO’s same-state chain comparison takes this approach. Also, subtracting a mean and dividing by a standard deviation are different choices. They give different update scales in the two equations above.
7.4 Which log probability is tractable?
We can calculate each Gaussian transition’s density, but this does not automatically give us the final-action marginal. With a saved latent trajectory, we can calculate a joint ratio. For the final-action density, we still have to integrate out the intermediate variables. Clipping each step, clipping the product over the chain, and doing PPO on the final-action marginal give three different objectives.
This is something to check in the code when reading DPPO, ReinFlow, OGPO, or GenPO. A fixed initial-noise prior cancels in the ratio. If we train the noise policy, as in Noise PPO / DSRL, we are optimizing a different object. FPO’s CFM-loss ratio is a surrogate; it is different from both exact density ratios above.
7.5 What should a comparison hold constant?
| Dimension | Image / video | Robotics |
|---|---|---|
| Sampling budget | Prompts, samples G per prompt, resolution / frames, sampler steps K, reward calls | Environment interactions, resets, execution length h, candidate actions, denoising computation |
| Optimization budget | Updated denoising steps, forward/backward passes, reference calls, memory, wall-clock time | The same model computation plus critic TD / GAE; report environment collection time separately |
| Training / inference distributions | SDE training versus ODE inference, CFG, resolution, sampling steps | Removing exploration noise, action-chunk execution, feedback frequency, state distribution |
| Outcomes and failures | Independent reward / human preferences, prompt generalization, diversity, reward hacking | Success, return, completion time, disturbance recovery, invalid actions, critic exploitation |
When a method is “more efficient,” I want to know what it saves: training FLOPs, memory, reward calls, or environment interactions. Running an image reward model once and resetting a physical robot after a failed trial have very different costs. These are the comparisons I would make using the table above; each method’s actual setup is given in its cited paper.
8Pairwise comparison
Select two methods to see their grids and details side by side. Differences are highlighted. The default is DDPO versus DPPO, showing what changes when we add the environment MDP.
DDPO
DPPO
| Dimension | DDPO | DPPO |
|---|
Highlighted rows show a difference between the two methods. The definitions are the same as in their sections above.
9Overview table
“Likelihood” means an exact policy log probability on a denoising transition, latent noise, or residual action. “On/off” describes the data used for policy updates.
| Method | Domain | Optimization target | likelihood | critic | on / off | Reward | Main limitation |
|---|---|---|---|---|---|---|---|
| Chain likelihood ratios (score function) | |||||||
| DDPO | Image | Full chain (per-step ratio) | Yes | No | on | Black-box terminal scalar | High variance; overoptimization without regularization |
| DPOK | Image | Full chain + per-step KL | Yes | Optional \(V(x_k,c)\) | on | Learned preference reward | Limited scale; conservative KL bound |
| Flow-GRPO | Image | Full chain (SDE; fewer training steps) | Yes (SDE) | No (within-group baseline) | on | GenEval / OCR / preference | SDE noise tuning; outcome-only credit |
| DanceGRPO | Image / video | About 60% of timesteps | Yes (SDE) | No (within-group baseline) | on | Multiple rewards; summed advantages | Expensive; setup relies on shared noise and other choices |
| MixGRPO | Image | Steps in a moving window | Yes (SDE in window) | No | on | Preference | Heuristic window schedule |
| DPPO | Robotics | Last \(K^{\prime}\) steps (two-level MDP) | Yes | \(V(s_t)\) | on | Dense / sparse environment return | Sample efficiency; many hyperparameters |
| ReinFlow | Robotics | Full chain + noise network | Yes (injected noise) | Yes | on | Environment return | Marginals can drift from the prior |
| πRL | VLA | Full chain (Noise / SDE) | Yes | Yes | on | Task success | Rollout cost of large models |
| GenPO | Robotics | Entire invertible diffusion model | Yes (exact marginal) | Yes | on | Environment return | Doubled action dimension; architectural constraints |
| OGPO | Robotics | Full chain (product ratio) | Yes | \(Q\)(off-policy) | Mixed | \(Q\) as terminal reward | Critic exploitation; needs conservative updates |
| Chain pathwise / hybrid | |||||||
| ReFL / DRaFT / AlignProp | Image | Full chain or truncated last K steps | No | No | On (generate, then update) | Differentiable reward | Requires reward gradients; memory; reward hacking |
| NCDPO | Robotics | Full chain (BPTT) + output Gaussian | Output head | Yes | on | Environment return | Memory grows with \(K\) |
| Diffusion-QL / DIPO / QSM / DACER / IDQL / PA-RL | Robotics | Full chain / action selection | No | \(Q\) | off | Environment return | Depends on critic accuracy |
| Without chain likelihoods | |||||||
| FPO | Robotics (also explored for images) | Whole model | No (CFM surrogate) | Yes | on | Environment return | Biased ratio; instability reported with CFG |
| DiffusionNFT | Image | Whole model (forward process) | No | No | online | Normalized to [0,1] | No explicit trust region |
| Diffusion-DPO / D3PO / SPO | Image | Whole model / per-step | No (ELBO approximation) | No | Off / iterative | Paired preferences | Requires preference data; offline distribution shift |
| Noise space / output residuals (frozen generator) | |||||||
| Noise PPO | Image | Initial-noise distribution (single-step MDP) | Gaussian noise policy | Unconfirmed in the original notes | on | Aesthetics / preference | Benefits can attenuate with more sampling steps |
| DSRL | Robotics | Initial noise \(w\) | Noise policy | \(Q^W\) / \(Q^A\) | off | Environment return | Limited by the frozen generator’s reachable outputs |
| ResiP | Robotics | Output residual | Gaussian residual policy | Yes | on | Environment return | Bounded local correction |
| Policy Decorator | Robotics | Bounded output residual | Residual policy | \(Q\) | off | Environment return | Bounded local correction |
References
Reference numbers, titles, and authors follow the original notes dated October 7, 2026; years refer to first arXiv submission. Numerical results and configurations belong to the cited papers or implementations and are not universal defaults.
- Black et al. Training Diffusion Models with Reinforcement Learning (DDPO). 2023. arXiv:2305.13301
- Fan et al. DPOK: Reinforcement Learning for Fine-tuning Text-to-Image Diffusion Models. 2023. arXiv:2305.16381
- Zhang et al. Large-scale Reinforcement Learning for Diffusion Models. 2024. arXiv:2401.12244
- Wallace et al. Diffusion Model Alignment Using Direct Preference Optimization. 2023. arXiv:2311.12908
- Yang et al. Using Human Feedback to Fine-tune Diffusion Models without Any Reward Model (D3PO). 2023. arXiv:2311.13231
- Liang et al. Aesthetic Post-Training Diffusion Models from Generic Preferences with Step-by-step Preference Optimization (SPO). 2024. arXiv:2406.04314
- Xu et al. ImageReward (ReFL). 2023. arXiv:2304.05977
- Clark et al. Directly Fine-Tuning Diffusion Models on Differentiable Rewards (DRaFT). 2023. arXiv:2309.17400
- Prabhudesai et al. Aligning Text-to-Image Diffusion Models with Reward Backpropagation (AlignProp). 2023. arXiv:2310.03739
- Liu et al. Flow-GRPO: Training Flow Matching Models via Online RL. 2025. arXiv:2505.05470
- Xue et al. DanceGRPO: Unleashing GRPO on Visual Generation. 2025. arXiv:2505.07818
- Li et al. MixGRPO: Unlocking Flow-based GRPO Efficiency with Mixed ODE-SDE. 2025. arXiv:2507.21802
- Zheng et al. DiffusionNFT: Online Diffusion Reinforcement with Forward Process. 2025. arXiv:2509.16117
- Miao et al. A Minimalist Method for Fine-tuning Text-to-Image Diffusion Models (Noise PPO). 2025. arXiv:2506.12036
- Eyring et al. ReNO: Reward-based Noise Optimization. 2024. arXiv:2406.04312
- Ren et al. Diffusion Policy Policy Optimization (DPPO). 2024. arXiv:2409.00588, code
- Yang et al. Fine-tuning Diffusion Policies with Backpropagation Through Diffusion Timesteps (NCDPO). 2025. arXiv:2505.10482
- Zhang et al. ReinFlow: Fine-tuning Flow Matching Policy with Online Reinforcement Learning. 2025. arXiv:2505.22094
- McAllister et al. Flow Matching Policy Gradients (FPO). 2025. arXiv:2507.21053
- Ding et al. GenPO: Generative Diffusion Models Meet On-Policy Reinforcement Learning. 2025. arXiv:2505.18763
- Chen et al. πRL: Online RL Fine-tuning for Flow-based Vision-Language-Action Models. 2025. arXiv:2510.25889
- Patil et al. OGPO: Sample Efficient Full-Finetuning of Generative Control Policies. 2026. arXiv:2605.03065
- Wagenmaker et al. Steering Your Diffusion Policy with Latent Space Reinforcement Learning (DSRL). 2025. arXiv:2506.15799
- Ankile et al. From Imitation to Refinement: Residual RL for Precise Assembly (ResiP). 2024. arXiv:2407.16677
- Yuan et al. Policy Decorator: Model-Agnostic Online Refinement for Large Policy Model. 2024. arXiv:2412.13630
- Wang et al. Diffusion-QL. 2022. arXiv:2208.06193;Hansen-Estruch et al. IDQL. 2023. arXiv:2304.10573;Yang et al. DIPO. 2023. arXiv:2305.13122;Psenka et al. QSM. 2023. arXiv:2312.11752;Wang et al. DACER. 2024. arXiv:2405.15177;Mark et al. PA-RL. 2024. arXiv:2412.06685
- Schulman et al. PPO. 2017. arXiv:1707.06347;Schulman et al. GAE. 2015. arXiv:1506.02438
- Shao et al. DeepSeekMath (GRPO). 2024. arXiv:2402.03300;Ahmadian et al. RLOO. 2024. arXiv:2402.14740;Hu et al. REINFORCE++. 2025. arXiv:2501.03262
- Han et al. ReinDiffuse. 2024. arXiv:2410.07296;Yue et al. RLPF. 2025. arXiv:2506.12769;PhysMoDPO. 2026. arXiv:2603.13228