Robot Wiki

Diffusion Policy

Visuomotor control as conditional denoising over action sequences, with receding-horizon execution.

Last reviewed
Reading time
9 min
Citations
9

Human demonstrations are multimodal: faced with an obstacle, one operator goes left, another goes right, and both are correct. A policy trained with mean-squared error on that data learns the average of the modes, and the average of "left" and "right" is "straight into the obstacle." Diffusion Policy, introduced by Chi et al. in 2023, sidesteps the averaging problem by changing what the policy outputs: not an action, but a conditional denoising process over a whole action sequence Chi 2023. The extended journal version describes a 15-task evaluation. It reports a 46.9% average relative improvement for its simulation comparisons; Appendix B.2 selects the strongest baseline and diffusion backbone per reported column and excludes multi-human results Chi 2023.

Drag the denoising step slider below from k=0 to k=10. The cloud starts as pure Gaussian noise and collapses onto two separate action modes rather than the average of them, which is the property MSE regression destroys and this whole architecture exists to keep.

-3-2-10123action space (2 dims of T_p x 14 shown)mode Amode B

step 0 of 10 (pure Gaussian noise) mean distance to mode 1.79

At denoising step 0 of 10 the 60-sample cloud is pure Gaussian noise, mean distance to mode 1.79; DDIM inference is pulling mass toward the two target crosses.

Current denoising cloud
step
0 / 10
cloud
pure Gaussian noise
mean distance
1.79
samples
60

Illustrative model: 60 samples with a fixed seed, transported toward two demonstration modes over 10 steps, the DDIM inference schedule in the published configuration. The real sampler refines a whole action sequence jointly; this view shows 2 of its dimensions. An MSE policy would land between the modes; the diffusion policy commits each sample to one.

Denoising in action space

The policy is a denoising diffusion probabilistic model (DDPM) conditioned on recent observations. Where a regression head computes at=fθ(ot)a_t = f_\theta(o_t), Diffusion Policy models the distribution p(AtOt)p(A_t \mid O_t) over the next TpT_p actions. Inference starts from pure Gaussian noise and iteratively refines it: each step applies the learned denoiser ϵθ\epsilon_\theta, which predicts the noise component of the current sample, and subtracts a fraction of it,

Atk1=α(Atkγϵθ(Ot,Atk,k)+N(0,σ2I))A_t^{k-1} = \alpha \left( A_t^k - \gamma \, \epsilon_\theta(O_t, A_t^k, k) + \mathcal{N}(0, \sigma^2 I) \right)

repeated until the sample lands on a valid action chunk Chi 2023. Training uses the standard noise-prediction MSE loss with a square-cosine schedule; the paper's main text reports DDIM with 100 training diffusion timesteps, 10 inference iterations and 0.1-second inference latency on a Nvidia 3080 GPU for real-world experiments. Its hyperparameter appendix and real-world table rows instead specify 16 inference iterations. Both the original v1 and the extended paper contain these settings; the cited passages do not identify a configuration or revision change that reconciles them Chi 2023.

2
observations T_o
CNN Lift/Can/Square simulation rows
16
prediction T_p
predicted actions in those rows
8
execution T_a
executed actions in those rows
10 / 16
DDIM steps
real-world main text / appendix

Because sampling is stochastic, the policy can commit to a mode instead of averaging modes. That is what the figure at the top of this module shows on a bimodal demonstration set: each sample lands on one strategy or the other, and the distribution of samples reproduces the distribution of demonstrations.

Note

The first three cards show the CNN Lift/Can/Square simulation configuration, which uses 100 iDDPM inference iterations; the fourth reports the unresolved real-world DDIM discrepancy. These horizons are not universal: real-world Push-T executes 6 of 16 predicted actions, transformer Lift/Can/Square predicts 10 actions, and transformer Kitchen uses four observations. Training diffusion timesteps, optimizer updates, predicted actions and executed actions are different counts. The cited sampler and evaluation passages do not establish a matched 100-versus-10-step quality comparison Chi 2023.

Receding-horizon control

Diffusion Policy executes TaT_a actions from a TpT_p-action prediction before observing again and replanning. The CNN configuration uses eight of sixteen actions for many of the reported tasks; the formulation also permits warm-starting the next inference from a previous prediction Chi 2023. The tail of each chunk exists to make the committed part coherent; it is revised away before it ever runs.

TaT_a is the same dial as ACT's chunk size, named differently: large TaT_a gives smooth, committed motion but a slow reaction to anything changing mid-chunk; small TaT_a reacts quickly but re-samples often, and each new sample can pick a different mode mid-motion Zhao 2023. The policy issues commands at 10 Hz, so Ta=8T_a = 8 means the robot commits to each plan for 0.8 seconds.

plan 0plan 1plan 2plan 308162432control steps at 10 Hz

T_p = 16, T_a = 8: 1.25 Hz replan rate, 0.8 s committed per plan

A receding-horizon plan with T_p 16 and T_a 8 issues 4 chunks across the 32-step window, replanning at 1.25 Hz and committing 0.8 s per plan; solid bars are executed while the outlined 8-step tails are thrown away.

Current receding-horizon plan
T_p
16
T_a
8
chunks
4
replan rate
1.25 Hz
committed
0.8 s

Solid segments are executed; outlined tails are revised away by the next inference. Small T_a reacts quickly but re-samples (and can switch modes) often; large T_a is smooth but slow to notice the world changed. At T_a = T_p the policy runs open-loop between inferences.

CNN and transformer variants

The paper ships two denoiser backbones Chi 2023. Its CNN adopts a temporal backbone from Diffuser with modifications: it denoises action sequences conditioned on observations instead of a concatenated state-action trajectory Chi 2023. Diffuser's backbone is a one-dimensional temporal U-Net over state-action trajectories Janner 2022:

Backbone variants

CNN (default)
1D temporal U-Net over the action sequence
CNN conditioning
observations injected via FiLM
transformer
time-series diffusion transformer (minGPT-style)
transformer conditioning
observation embedding via cross-attention
visual encoder
ResNet-18 with GroupNorm, trained end-to-end

The CNN variant is the recommended default: it trains stably and is robust to hyperparameter choices. The authors report strong transformer results particularly in state-based experiments with rapid action changes. They suggest that the CNN’s preference for low-frequency signals likely contributes to its difficulty on such tasks, and recommend trying the transformer as a potential improvement at the cost of more tuning; the paper reports that simply adding depth sometimes made results worse Chi 2023.

Why GroupNorm, not BatchNorm

DDPM training keeps an exponential moving average of the network weights for sampling. BatchNorm's running statistics interact badly with EMA weights, so the visual encoder replaces every BatchNorm with GroupNorm Chi 2023.

The successors: fewer steps, then flow matching

Iterative denoising buys multimodality at the cost of sampling time. Ten network evaluations per chunk is fine on a workstation GPU; it is a problem on a mobile manipulator or a quadrotor. Two successor lines attack the cost differently.

Distillation: fewer steps

Consistency Policy distills an EDM-based Diffusion Policy teacher into a consistency model with one- or three-step action-sequence generation, targeting compute-constrained robots. In its Robomimic Square ablation, teachers with success rates of 0.92, 0.88 and 0.84 produced students with success rates of 0.92, 0.92 and 0.88, respectively; the authors report robustness over this tested range Prasad 2024. One-Step Diffusion Policy goes further, distilling the chain into a single-step generator that lifts action prediction from 1.5 Hz to 62 Hz on real Franka tasks Wang 2024.

Flow matching: a different formulation

pi0 swapped the DDPM for conditional flow matching on a straight transport path: sample noise ε\varepsilon, form the interpolant

Atτ=τAt+(1τ)ε,u(AtτAt)=AtεA_t^\tau = \tau A_t + (1 - \tau)\varepsilon, \qquad u(A_t^\tau \mid A_t) = A_t - \varepsilon

and train the network to predict the target vector field uu, with the timestep τ\tau drawn from a beta distribution weighted toward the noisy end Black 2024. Sampling integrates the field from τ=0\tau = 0 to τ=1\tau = 1 with forward Euler in 10 steps. π0 fixes a linear noise-to-action interpolant and chooses both the training-timestep distribution and the numerical integration settings.

The honest caveat

Real-Time Chunking overlaps generation of the next action chunk with execution of the previous one, using inpainting to preserve the committed prefix and maintain continuity. The original RTC method operates at inference time without changing the policy's training recipe. In its six-task real-world evaluation with π0.5 and five denoising steps, the authors report no degradation in average task throughput at the tested additional delays, including +100 and +200 ms on top of model and LAN latency Black 2025. This result concerns the tested policy and setup; it does not establish field-wide nonadoption of one-step distillation or an edge-versus-cloud deployment rule.

Limitations

The original 2023 paper evaluates observation-conditioned policies on single- and multi-task benchmarks and on separate UR5 and Franka setups. Its reference visual encoder is trained end-to-end without pretraining, but the paper also tests ImageNet- and R3M-pretrained encoders Chi 2023. Octo combines language or goal-image conditioning with a DDPM diffusion action head and pretraining on demonstrations from multiple tasks and robot embodiments Octo Model Team 2024. π0 combines a pretrained vision-language backbone with a flow-matching action expert and cross-embodiment robot training Black 2024. Reactivity is bounded by TaT_a: whatever happens inside a committed segment, the policy will not respond until the next inference. And the sampling cost, though tamed by DDIM and the successor methods above, never disappears entirely.

See also

  • Action Chunking (ACT and ALOHA)

    Predicting action sequences instead of single steps: the CVAE structure, the chunk-size tradeoff, and temporal ensembling.

  • The Pi Line

    pi0 to pi0.7: flow-matching action experts, FAST tokenization, open-world generalization, and source-scoped checkpoint availability.

  • Vision-Language-Action Models

    RT-1, RT-2, RT-X, Octo, and OpenVLA: web-scale pretraining meets robot control, and the cost of discrete action tokens.

Linked from

  • Behavior Cloning Foundations

    Covariate shift and compounding error: why naive imitation breaks in closed loop, with DAgger as the standard fix.

  • Action Chunking (ACT and ALOHA)

    Predicting action sequences instead of single steps: the CVAE structure, the chunk-size tradeoff, and temporal ensembling.

  • Vision-Language-Action Models

    RT-1, RT-2, RT-X, Octo, and OpenVLA: web-scale pretraining meets robot control, and the cost of discrete action tokens.

  • The Pi Line

    pi0 to pi0.7: flow-matching action experts, FAST tokenization, open-world generalization, and source-scoped checkpoint availability.

  • Real-Time Execution

    Temporal ensembling and real-time chunking: the latency budgets that decide whether the control loop closes.

  • Grasp Planning

    Contact mechanics, grasp quality metrics, and force closure.

References

  1. Cheng Chi, Zhenjia Xu, Siyuan Feng, Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song, 2023.

    https://arxiv.org/abs/2303.04137

  2. Cheng Chi, Siyuan Feng, Yilun Du, Zhenjia Xu, Eric Cousineau, Benjamin Burchfiel, Shuran Song, 2023.

    https://arxiv.org/abs/2303.04137v1

  3. Michael Janner, Yilun Du, Joshua B. Tenenbaum, Sergey Levine, ICML 2022.

    https://arxiv.org/abs/2205.09991

  4. Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn, RSS 2023.

    https://arxiv.org/abs/2304.13705

  5. Aaditya Prasad, Kevin Lin, Jimmy Wu, Linqi Zhou, Jeannette Bohg, 2024.

    https://arxiv.org/abs/2405.07503

  6. Zhendong Wang, Zhaoshuo Li, Ajay Mandlekar, Zhenjia Xu, Jiaojiao Fan, Yashraj Narang, Linxi Fan, Yuke Zhu, and 4 more, 2024.

    https://arxiv.org/abs/2410.21257

  7. Octo Model Team, Dibya Ghosh, Homer Walke, Karl Pertsch, Kevin Black, Oier Mees, Sudeep Dasari, Joey Hejna, and 12 more, 2024.

    https://arxiv.org/html/2405.12213v2

  8. Kevin Black, Noah Brown, Danny Driess, Adnan Esmail, Michael Equi, Chelsea Finn, Niccolo Fusai, Lachy Groom, and 16 more, RSS 2025, 2024.

    https://arxiv.org/abs/2410.24164

  9. Kevin Black, Manuel Y. Galliker, Sergey Levine, 2025.

    https://arxiv.org/abs/2506.07339

Spot a factual error or missing qualification? Report a content correction.