Diffusion policy

On this page 7

A diffusion policy is a robot control policy that produces actions by iteratively denoising random noise into a short sequence of motor commands, conditioned on what the robot currently observes. In Embodied AI and robotics, it is one of the most widely used ways to turn human demonstrations into a working visuomotor skill, because it can represent several valid ways of performing a task without blending them into an invalid average.

The approach borrows the denoising diffusion probabilistic model from image generation and applies it to the action space instead of pixels. Rather than predicting a single next command, the network learns the gradient of the action distribution and refines a noisy guess over a fixed number of steps until it becomes a plausible trajectory chunk that the controller can execute.

How a diffusion policy generates actions

A diffusion policy generates actions by starting from Gaussian noise and removing a little of it at each step, guided by a learned noise prediction network. During training, clean action sequences from demonstrations are corrupted with noise at a randomly chosen level, and the network learns to predict that noise from the corrupted sequence, the noise level and an observation embedding.

At inference time the process runs in reverse. The robot samples noise shaped like an action chunk, and the network subtracts its noise estimate repeatedly until a clean action sequence remains. Because the observation is only a conditioning input, the expensive image encoder runs once per control cycle, while the lighter denoising network runs once per step.

A defining design choice is action chunking with receding horizon control. The policy predicts a sequence of future actions, executes only the first part of it, then observes again and predicts a new chunk. This keeps motion temporally consistent, tolerates pauses in the demonstrations and still lets the robot react to disturbances.

The following table lists the main components and the role each plays in the pipeline.

ComponentTypical implementationRole
Observation encoderResNet or ViT on camera images, MLP on proprioceptionTurns sensor data into a conditioning vector
Denoising network1D temporal U-Net with FiLM, or a transformerPredicts the noise in the action chunk
Noise schedulerDDPM for training, DDIM for faster samplingDefines how noise is added and removed
Action head outputEnd-effector poses or joint positionsProvides the commands sent to the controller
Main components of a diffusion policy

Key parameters and design choices

The behavior of a diffusion policy depends heavily on a handful of horizon and sampling parameters. Most published configurations use a short observation history and a longer prediction window, and tune the number of denoising steps against the latency budget of the robot controller.

ParameterCommon rangeWhat it affects
Observation horizon1 to 2 framesContext available for each decision
Prediction horizon8 to 32 stepsLength of the generated action chunk
Execution horizon4 to 16 stepsBalance of smoothness and reactivity
Training diffusion steps50 to 100Granularity of the learned noise schedule
Inference steps10 to 16 with DDIMLatency per control cycle
Demonstrations per taskTens to a few hundredCoverage of situations and success rate
Common parameter ranges and their effects

The action representation matters as much as the network. Diffusion policies tend to work better with absolute position targets than with velocity commands, because errors in position commands do not accumulate the way integrated velocity errors do. Normalizing every action dimension to a fixed range is also essential, since the noise schedule assumes data of comparable scale.

Diffusion policy compared with other imitation learning methods

Diffusion policy is a form of imitation learning, and its main advantage over older behavior cloning methods is the ability to model multimodal action distributions. When demonstrators sometimes go left and sometimes go right around an obstacle, a regression policy trained with mean squared error tends to average the two and drive straight into it.

ApproachAction modelingMain limitation
MSE behavior cloningSingle deterministic outputAverages distinct modes into invalid motion
Gaussian mixture policyFixed number of modesHard to scale to long action sequences
Implicit behavior cloningEnergy function over actionsUnstable training with negative sampling
Action chunking transformerCVAE over action chunksLatent space can collapse to few modes
Diffusion policyIterative denoising of chunksMultiple network passes per decision
Flow matching policyLearned velocity fieldNewer, with fewer established recipes
How diffusion policy relates to neighboring approaches

Diffusion and flow matching heads also appear inside larger systems. Several vision-language-action models and robot foundation models attach a diffusion or flow matching action expert to a pretrained vision-language backbone, so the language model handles understanding while the generative head produces smooth continuous control.

Applying a diffusion policy in practice

In practice, a diffusion policy is trained per task or per small task family from teleoperated demonstrations, then deployed with a fixed control frequency. Teams usually collect data with the same cameras and grippers used at deployment, since the policy has no explicit model of the world and relies on visual consistency between training and execution.

The table below summarizes typical decisions and the reasoning behind them.

SituationRecommended choiceReason
Contact-rich manipulationDiffusion policy with chunked actionsHandles multimodal and precise motions
Tight latency budgetDDIM with fewer steps or distillationCuts inference time per cycle
Depth data availablePoint cloud encoder variantImproves robustness to viewpoint changes
Many tasks with instructionsLanguage-conditioned or VLA modelShares knowledge across tasks
Very simple unimodal taskPlain behavior cloningLower cost with similar results
Practical decisions when deploying a diffusion policy

Faster sampling is an active area. Consistency distillation and similar techniques compress the denoising process into one or a few steps, and running the encoder and denoiser on a GPU keeps a full prediction well within the cycle time of most manipulation controllers.

Limitations and common mistakes

A diffusion policy reproduces the distribution of its demonstrations, so it inherits their gaps. It does not reason about goals, it generalizes poorly to objects and layouts far outside the training data, and it cannot recover from states that no demonstrator ever visited.

  • Inconsistent demonstrations: mixing hesitant and confident operators teaches the policy to hesitate at random.
  • Camera shifts after data collection: small changes in mounting or lighting can sharply reduce the success rate.
  • Too short an execution horizon: replanning every step causes jitter and switching between modes.
  • Too long an execution horizon: the robot commits to stale actions and reacts late to disturbances.
  • Ignoring inference latency: actions computed for an old observation arrive late unless the pipeline compensates for the delay.

Evaluation also needs care. Success rates from a few dozen trials carry wide statistical uncertainty, and results from simulation benchmarks do not transfer automatically to physical robots without sim-to-real validation.

The short version

A diffusion policy teaches a robot by example. People show the robot a task many times, and the robot learns what good movements look like. When it is time to act, the robot starts with a random, messy guess about how to move and cleans it up step by step until it becomes a sensible motion.

Think of a sculptor who starts with a rough block and removes material until a figure appears. The big advantage is that the robot can learn several correct ways to do the same job and pick one, instead of blending them into a confused middle path.

Where it makes a difference

A small electronics workshop wants a two-arm robot to fold flexible cables and place them into trays. Operators record about 150 teleoperated demonstrations with two wrist cameras and one overhead camera. Some operators fold the cable clockwise and others counterclockwise, which would confuse a simple regression policy.

The team trains a diffusion policy that predicts 16-step action chunks and executes 8 of them before replanning, with 10 DDIM steps at inference. The robot commits cleanly to one folding direction in each attempt instead of hesitating between the two. When a cable slips, the next chunk corrects the grip, and the workshop moves the task from manual labor to supervised automation after a validation run on fresh cables.