Doob-Based Generative Policy Optimization

Maojiang Su, Qijie Zhu, Yu Xiao, Shuyang Yu, Minshuo Chen, Zhaoran Wang, Han Liu
NIPS 2026

TL;DR: DoobPO brings PPO, GRPO, and other update rules to diffusion and flow policies without exact action likelihoods. Each rule defines a target policy tilt; Doob's h-transform characterizes how to realize it, and conditional drift matching makes it trainable.

Abstract

Diffusion and flow policies are expressive but generally lack tractable action likelihoods, limiting the direct use of PPO, GRPO, and related updates. We introduce Doob Policy Optimization (DoobPO), a unified framework that separates policy improvement from generative policy learning. An update rule specifies a ratio-tilted target distribution: analytic ratios are used directly, while PPO and GRPO learn a lightweight ratio model. Doob's h-transform characterizes the corresponding diffusion path, and a conditional drift matching objective trains diffusion or flow policies from behavior-policy samples. We prove gradient equivalence between the conditional and ideal objectives for both policy classes. For diffusion, the resulting Doob process is the minimum-control-energy modification that realizes the tilted endpoint under the paper's assumptions. DoobPO performs strongly on MuJoCo continuous-control benchmarks.

Method

The challenge: policy updates need action ratios

PPO and GRPO use the action ratio \(r_\theta(o,a)=\pi_\theta(a\mid o)/\pi_{\mathrm{old}}(a\mid o)\). A diffusion or flow policy generates an action through a trajectory, so its exact action likelihood is generally intractable. DoobPO separates the update rule from the generative model: first specify the desired change in the action distribution, then learn a generative process that realizes it.

1. An update rule defines a policy tilt

Different RL updates express different preferences over actions. A KL-proximal policy mirror descent update has an analytic target ratio proportional to \(\exp(\widehat A(o,a)/\lambda)\). PPO and GRPO do not generally yield a closed-form target ratio, so DoobPO learns a lightweight positive ratio model \(r_\beta(o,a)\) with their respective RL objectives. A regularizer encourages \(\mathbb{E}_{a\sim\pi_{\mathrm{old}}(\cdot\mid o)}[r_\beta(o,a)]=1\). Both updates start from the same old policy; their learned ratios specify different target action distributions.

One old action distribution branches into distinct single-update PPO and GRPO tilted distributions, each shown against the same gray base curve.
At one observation, PPO and GRPO each learn a positive ratio that tilts the same old action distribution. Curve shapes illustrate the mechanism, not a fixed direction of improvement.

For PPO and GRPO, the positive ratio is learned with the chosen update objective; for PMD, it has an analytic form. Once the ratio is available, every rule follows the same distribution-level step: reweight the old policy and normalize. The negative log ratio is the endpoint energy that describes this tilt.

\[ \begin{aligned} \pi_{\mathrm{target}}(a\mid o) &=\frac{r(o,a)\,\pi_{\mathrm{old}}(a\mid o)}{Z(o)},\\ &\propto e^{-E(o,a)}\pi_{\mathrm{old}}(a\mid o),\\ E(o,a)&=-\log r(o,a). \end{aligned} \]

\(Z(o)=\mathbb E_{a\sim\pi_{\mathrm{old}}(\cdot\mid o)}[r(o,a)]\) normalizes the tilt; the update rule sets its action-dependent energy.

2. Doob turns the endpoint tilt into a generative path

For diffusion policies, Doob's h-transform propagates the endpoint preference through the pretrained denoising process. The resulting process has the ratio-tilted action distribution as its endpoint (Lemma 3.1). The diffusion drift correction changes intermediate distributions during generation, reaching the chosen action law. For flow policies, terminal reweighting defines the corresponding tilted marginals, learned through weighted velocity matching.

From a practical shared Gaussian noise initialization, the gray reference diffusion path reaches the old action policy while a blue Doob-corrected path reaches the ratio-tilted action policy.
Diffusion schematic under independent Gaussian noise initialization: the reference marginals \(p_t\) end at \(\pi_{\mathrm{old}}\), while the corrected marginals \(p_t^h\) end at \(\pi_{\mathrm{target}}\). Sampling runs from \(X_T\) to \(X_0\).

The action-endpoint ratio induces an intermediate weight \(h_t\): its expected value conditioned on the current state of the reference diffusion. The spatial log gradient of this weight supplies the added drift shown in the diagram. The next step trains that drift without sampling the ideal corrected path.

\[ \begin{aligned} h_t(x,o)&=\mathbb{E}\!\left[r(o,X_0)\mid X_t=x,o\right],\\ \Delta b_t(x,o)&=-\sigma_t^2\nabla_x\log h_t(x,o). \end{aligned} \]

\(\Delta b_t\) is the extra diffusion drift. \(X_0\) is the action endpoint and \(X_T\) the noise endpoint in the paper's diffusion time convention.

3. Conditional drift matching makes it trainable

The ideal tilted path is unavailable for direct training. DoobPO instead weights conditional score or velocity regression by the endpoint ratio, using samples from the old policy:

\[ \mathcal L_{\mathrm{CDM}}(\theta) =\mathbb E_{\mathrm{old}} \!\left[r(o,a)\,\|\psi_\theta-\psi_{\mathrm{cond}}\|_2^2\right]. \]

\(\psi_\theta=\psi_\theta(x_t,t,o)\); \(\psi_{\mathrm{cond}}=\psi_{\mathrm{cond}}(x_t,t,o,a)\) is a conditional score target for diffusion or a velocity target for flow.

At each fixed observation, the conditional objective's gradient is a positive multiple of the ideal drift-matching gradient for both diffusion and flow (Theorems 3.1 and 3.2). The implementation uses the Gaussian diffusion or affine flow regression targets described in the paper.

Why it works: a minimum-energy diffusion update

Among controlled reverse diffusions with the specified noise and action marginals, the Doob-transformed process minimizes quadratic control energy:

\[ \begin{aligned} \inf_u\quad &\frac{1}{2}\, \mathbb E_{Q^u}\!\int_0^T \|\sigma_t u_t(Y_t,o)\|_2^2\,\mathrm dt,\\ &Y_T\sim p_T^h,\quad Y_0\sim p_0^h. \end{aligned} \]

Proposition 3.1 is stated for each observation and assumes a realizable model class and an attained minimum. This optimal-control guarantee concerns diffusion; the flow result establishes gradient equivalence.

One framework, several update rules

The generative policy can be diffusion or flow, while the update rule determines the tilt. Analytic ratios lead directly to weighted matching; PPO and GRPO use learned ratios. This view includes existing methods as special cases and yields DoobPPO, DoobGRPO, and DoobPMD.

MethodGenerative policyPolicy updateRatio
DPMDDiffusionPolicy mirror descentAnalytic
SDACDiffusionSoft actor-criticAnalytic
DoobPMD (ours)FlowPolicy mirror descentAnalytic
DoobPPO (ours)Diffusion / FlowPPOLearned
DoobGRPO (ours)Diffusion / FlowGRPOLearned

Experiments

We evaluate DoobPO on 10 OpenAI Gym MuJoCo continuous-control tasks covering locomotion, manipulation, and stabilization. Diffusion policies are trained from scratch for 4M environment steps and flow policies for 5M steps, with the same interaction budget for every method within a setting. MuJoCo tables report mean ± std over 3 random seeds. Robomimic results report mean success rates over 3 training seeds.

Diffusion policies

DoobPO achieves the highest mean returns among diffusion-policy RL methods on 8 out of 10 MuJoCo tasks, including ties. DoobPPO obtains the best results on HalfCheetah, Humanoid, and Swimmer, while DoobGRPO performs best on Reacher and Pusher. DACER obtains the highest returns on Ant and Hopper. For example, DoobPPO improves over DIPO by 22.6% on HalfCheetah, 20.9% on Humanoid, 175.2% on Ant, and 12.2% on Walker2d.

Learning curves of diffusion-policy methods on 10 MuJoCo tasks.
DPPO SDAC DIPO DPMD DoobPPO (ours) DoobGRPO (ours)
Learning curves on 10 MuJoCo tasks, evaluated every 200k environment steps. Curves show the mean undiscounted return over 3 training seeds; shaded regions show one standard deviation.

Table 1. Diffusion policy performance (best in bold, second-best underlined).

MethodHalfCheetahReacherHumanoidPusherInvertedPendulumAntHopperSwimmerWalker2dInverted2Pendulum
PPO1696 ± 223-3.63 ± 1.54492 ± 113-25.28 ± 2.731000 ± 01973 ± 671280 ± 197121 ± 1.71242 ± 6939360 ± 0
TRPO2941 ± 417-3.83 ± 1.89440 ± 82-31.84 ± 6.321000 ± 03294 ± 763626 ± 942 ± 1.72765 ± 6899188 ± 420
SAC14422 ± 20-3.03 ± 1.215866 ± 16-23.96 ± 3.471000 ± 06534 ± 1233533 ± 19139 ± 1.16882 ± 609360 ± 0
DIPO12169 ± 1172-3.09 ± 1.365523 ± 980-27.85 ± 2.081000 ± 02448 ± 3613535 ± 456119 ± 1.85028 ± 8499351 ± 0.5
DPPO248 ± 28-11.82 ± 1.28195 ± 17-248.11 ± 86.32456 ± 25-29.9 ± 1.7338 ± 5.136 ± 5535 ± 27832.7 ± 3.8
DPMD12612 ± 932-2.97 ± 1.345138 ± 191-28.22 ± 6.061000 ± 06358 ± 2763608 ± 7351.1 ± 1.45381 ± 269355 ± 3.7
DACER14037 ± 370-2.973 ± 0.0046460 ± 494-24.59 ± 0.371000 ± 07137 ± 1373774 ± 106145.1 ± 5.45384 ± 11744096 ± 4778
SDAC14731 ± 166-5.83 ± 1.366173 ± 1592-108 ± 5.231000 ± 01880 ± 10253384 ± 303154 ± 5.15181 ± 9869353 ± 0.3
DoobPPO (ours)14921 ± 39-2.96 ± 0.026679 ± 63-23.67 ± 3.161000 ± 06738 ± 533681 ± 269161 ± 0.75642 ± 139356 ± 3
DoobGRPO (ours)7800 ± 271-2.95 ± 1.356634 ± 1517-23.62 ± 4.351000 ± 03278 ± 40251 ± 1.4142 ± 2.45636 ± 109360 ± 0

Flow policies

DoobGRPO achieves the best result on 9 out of 10 tasks under the same 5M-step budget. It improves over the strongest baseline ReinFlow by 373.8% on HalfCheetah, 71.7% on Hopper, 213.7% on Swimmer, and 738.0% on Walker2d. DoobPMD is a strong second-best on several tasks, showing that the framework works across different policy-gradient methods.

Learning curves of flow-policy methods on 10 MuJoCo tasks.
FPO ReinFlow Flow-SDE DoobPMD (ours) DoobPPO (ours) DoobGRPO (ours)
Learning curves on 10 MuJoCo tasks, evaluated every 250k environment steps. Curves show the mean undiscounted return over 3 training seeds; shaded regions show one standard deviation.

Table 2. Flow policy performance (best in bold, second-best underlined).

MethodHalfCheetahReacherHumanoidPusherInvertedPendulumAntHopperSwimmerWalker2dInverted2Pendulum
FPO327 ± 399-8.79 ± 3.20390 ± 110-53.77 ± 3.6952 ± 24-13 ± 13137 ± 5535.8 ± 2.51186 ± 140314 ± 84
ReinFlow1344 ± 310-6.30 ± 2.83525 ± 92-32.85 ± 3.811000 ± 0-5 ± 121911 ± 74042.3 ± 1.77503 ± 2139358 ± 1
Flow-SDE27 ± 219-31.08 ± 3.53244 ± 60-178.42 ± 6.41413 ± 238-45 ± 41210 ± 10033.9 ± 4.44243 ± 128268 ± 68
DoobPMD (ours)4810 ± 53-4.35 ± 1.40688 ± 123-39.10 ± 4.081000 ± 01614 ± 583452 ± 496.9 ± 32.13726 ± 1449348 ± 0
DoobPPO (ours)3190 ± 60-6.73 ± 2.16556 ± 94-42.81 ± 3.751000 ± 01417 ± 203423 ± 1048.0 ± 1.30440 ± 169350 ± 1
DoobGRPO (ours)6368 ± 51-3.60 ± 1.37735 ± 111-29.90 ± 3.741000 ± 02986 ± 563282 ± 7132.7 ± 2.714215 ± 139350 ± 1

Robomimic manipulation

We evaluate diffusion policies on the Can and Square tasks with low-dimensional observations and sparse binary success rewards. DoobPPO and DPPO start from the same pretrained diffusion behavior-cloning policy and are trained for 151 iterations on Can and 200 on Square. Evaluation uses 50 parallel environments, and results are averaged over 3 training seeds.

Both methods are close to saturation. DoobPPO matches or slightly improves upon DPPO, demonstrating that DoobPO also applies to sparse-reward manipulation.

Table 3. Robomimic success rate (%), averaged over 3 training seeds.

MethodCanSquare
DPPO99.2399.59
DoobPPO (ours)99.4699.78

BibTeX

@inproceedings{su2026doobpo,
  author    = {Su, Maojiang and Zhu, Qijie and Xiao, Yu and Yu, Shuyang and Chen, Minshuo and Wang, Zhaoran and Liu, Han},
  title     = {Doob-Based Generative Policy Optimization},
  booktitle = {Advances in Neural Information Processing Systems (NeurIPS)},
  year      = {2026},
}