Diffusion Policy: Visuomotor Policy Learning via Action Diffusion
TL;DR Represent a visuomotor policy as a denoising diffusion process that generates a short sequence of future actions, executed with receding-horizon control. It beats prior behavior-cloning methods by 46.9% on average across simulation benchmarks and reaches 95% success on a real Push-T task.
What they do
Demonstration data is multimodal, temporally correlated and needs precision, which strains standard behavior cloning. Diffusion Policy models the policy as a conditional denoising diffusion process over robot actions: starting from Gaussian noise, a noise-prediction network refines a sequence of future actions over K steps, conditioned on recent observations. Because it learns the score gradient instead of an energy, it avoids the negative sampling that makes implicit policies such as IBC unstable to train.
How it works
- Receding-horizon action sequences. From the last To observation steps the policy predicts Tp actions and executes Ta of them before replanning; 8 executed steps worked best for most tasks.
- Observations as conditioning. Images are encoded once by a ResNet-18 trained end-to-end, and only actions are denoised. With DDIM (10 inference steps) latency is 0.1 s on an Nvidia 3080.
- Two denoisers. A 1D temporal CNN with FiLM conditioning works out of the box on most tasks; a time-series transformer does better when actions change quickly but needs more tuning.
- Position control. Predicting positions consistently beat velocity commands for Diffusion Policy, while the baselines worked best with velocity.
Results
- Simulation (Robomimic, Push-T, Block Pushing, Franka Kitchen): beats LSTM-GMM, IBC and BET on every task, by 46.9% on average; +213% on Kitchen’s p4 metric and +32% on Block Push’s p2.
- Real Push-T on a UR5: 95% success and 0.80 IoU (human demos 0.84), against 20% for LSTM-GMM and 0% for IBC.
- Mug flipping succeeds 90% of the time (LSTM-GMM failed to grasp in every trial). Sauce coverage is 0.74 for pouring and 0.77 for spreading, against 0.79 for humans.
- Bimanual Franka tasks, 20 trials each: egg beater 55%, mat unrolling 75%, shirt folding 75%.
Limitations
It inherits behavior cloning’s dependence on adequate demonstrations. Inference costs more and is slower than simpler policies such as LSTM-GMM; predicting action sequences partly offsets this, but may not suffice for tasks that need high-rate control.
Videos
Figures




Abstract
This paper introduces Diffusion Policy, a new way of generating robot behavior by representing a robot's visuomotor policy as a conditional denoising diffusion process. We benchmark Diffusion Policy across 12 different tasks from 4 different robot manipulation benchmarks and find that it consistently outperforms existing state-of-the-art robot learning methods with an average improvement of 46.9%. Diffusion Policy learns the gradient of the action-distribution score function and iteratively optimizes with respect to this gradient field during inference via a series of stochastic Langevin dynamics steps. We find that the diffusion formulation yields powerful advantages when used for robot policies, including gracefully handling multimodal action distributions, being suitable for high-dimensional action spaces, and exhibiting impressive training stability. To fully unlock the potential of diffusion models for visuomotor policy learning on physical robots, this paper presents a set of key technical contributions including the incorporation of receding horizon control, visual conditioning, and the time-series diffusion transformer. We hope this work will help motivate a new generation of policy learning techniques that are able to leverage the powerful generative modeling capabilities of diffusion models. Code, data, and training details is publicly available diffusion-policy.cs.columbia.edu
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
