Manipulation & Learned Policies
Diffusion Policy
Visuomotor control as conditional denoising over action sequences, with receding-horizon execution.
Last reviewed 2026-08-08
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 result was a reported average improvement of 46.9% over the prior state of the art across 15 tasks and 4 benchmarks, and the design became the default action-head recipe for the generalist policies that followed Chi 2023.
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; sampling uses DDIM to cut the 100 training steps down to 10 inference steps, about 0.1 seconds per chunk on an RTX 3080 Chi 2023.
Because sampling is stochastic, the policy can commit to a mode instead of averaging modes. Run the denoiser on a bimodal demonstration set and each sample lands on one strategy or the other; the distribution of samples reproduces the distribution of demonstrations.
step 0 of 10 (pure Gaussian noise) mean distance to mode 1.79
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.
Note
The step count is a speed knob, not a quality requirement. Training runs 100 DDPM steps; inference runs 10 DDIM steps with nearly identical results, and the successors below push the count far lower Chi 2023.
Receding-horizon control
Diffusion Policy does not execute the whole chunk it predicts. It commits the first of the predicted actions (8 of 16 in the standard configuration), then observes the world again and replans, warm-starting from the 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
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:
Backbone variants
- CNN (default)
- 1D temporal U-Net over the action sequence
- CNN conditioning
- observations injected via FiLM
- transformer
- time-series diffusion transformer (DiT)
- 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 transformer variant handles high-frequency action changes better, because the CNN's temporal-convolution inductive bias smooths exactly the fast structure those tasks need, but it is finicky; the paper reports that simply adding depth sometimes made results worse 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 a trained Diffusion Policy into a consistency model that produces a chunk in 1 or 3 steps, targeting robots with edge GPUs, and reports robustness to the quality of the teacher (you do not need an extensively tuned one) 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. There is no noise schedule to tune, and the straight paths tolerate fewer integration steps than a DDPM trajectory.
The honest caveat
Frontier labs did not adopt one-step distillation. Instead of cutting step count, they cut latency: Real-Time Chunking treats the hand-off between consecutive chunks as an inpainting problem on the diffusion or flow trajectory and holds throughput flat out to +200 ms of injected inference delay, with no training-time change Black 2025. Distillation matters most for on-robot edge deployment, not for cloud-served policies.
Limitations
The 2023 design is single-task and single-embodiment, with no language conditioning and no web-scale pretraining; conditioning a diffusion head on language and scaling it up is exactly what Octo, pi0, and their successors later did 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. Later modules in this domain cover how vision-language-action models took the action head and dropped it onto web-pretrained backbones.