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.
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 , Diffusion Policy models the distribution over the next actions. Inference starts from pure Gaussian noise and iteratively refines it: each step applies the learned denoiser , which predicts the noise component of the current sample, and subtracts a fraction of it,
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.
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 actions from a -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.
is the same dial as ACT's chunk size, named differently: large gives smooth, committed motion but a slow reaction to anything changing mid-chunk; small 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 means the robot commits to each plan for 0.8 seconds.
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 , form the interpolant
and train the network to predict the target vector field , with the timestep drawn from a beta distribution weighted toward the noisy end Black 2024. Sampling integrates the field from to 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 : 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
Cheng Chi, Zhenjia Xu, Siyuan Feng, Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song, 2023.
https://arxiv.org/abs/2303.04137
Cheng Chi, Siyuan Feng, Yilun Du, Zhenjia Xu, Eric Cousineau, Benjamin Burchfiel, Shuran Song, 2023.
https://arxiv.org/abs/2303.04137v1
Michael Janner, Yilun Du, Joshua B. Tenenbaum, Sergey Levine, ICML 2022.
https://arxiv.org/abs/2205.09991
Tony Z. Zhao, Vikash Kumar, Sergey Levine, Chelsea Finn, RSS 2023.
https://arxiv.org/abs/2304.13705
Aaditya Prasad, Kevin Lin, Jimmy Wu, Linqi Zhou, Jeannette Bohg, 2024.
https://arxiv.org/abs/2405.07503
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
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
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
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.