Improving Diffusion Planners by Self-Supervised Action Gating with Energies
Organizations: University College London, London, UK · Microsoft Research.
Abstract
Diffusion planners are a strong approach for offline reinforcement learning, but they can fail when value-guided selection favours trajectories that score well yet are locally inconsistent with the environment dynamics, resulting in brittle execution. We propose Self-supervised Action Gating with Energies (SAGE), an inference-time re-ranking method that penalises dynamically inconsistent plans using a latent consistency signal. SAGE trains a Joint-Embedding Predictive Architecture (JEPA) encoder on offline state sequences and an action-conditioned latent predictor for short horizon transitions. At test time, SAGE assigns each sampled candidate an energy given by its latent prediction error and combines this feasibility score with value estimates to select actions. SAGE can integrate into existing diffusion planning pipelines that can sample trajectories and select actions via value scoring; it requires no environment rollouts and no policy re-training. Across locomotion, navigation, and manipulation benchmarks, SAGE improves the performance and robustness of diffusion planners.
Figures & tables
| Dataset | Env | Diffuser* | RGG | LoMAP | LDCQ | DV* | SAGE (Ours) |
|---|---|---|---|---|---|---|---|
| M-E | HC | 88.9 | 90.8 | 91.1 | 90.2 | 92.7 | 95.4 |
| M-E | Hop | 103.3 | 109.6 | 110.6 | 113.3 | 108.8 | 111.3 |
| M-E | W2d | 106.9 | 107.8 | 109.2 | 109.3 | 108.6 | 109.4 |
| M | HC | 42.8 | 44.0 | 45.4 | 42.8 | 50.4 | 51.6 |
| M | Hop | 74.3 | 82.5 | 93.7 | 66.2 | 80.9 | 83.9 |
| M | W2d | 79.6 | 81.7 | 79.9 | 69.4 | 82.8 | 84.8 |
| IL | Non-Diffusion | Diffusion Policies | Diffusion Planners | ||||||||||
| Dataset | Env | BC | BCQ | CQL | IQL | DQL ∗ | IDQL ∗ | Diffuser* | RGG | LoMAP | LDCQ | DV ∗ | SAGE (Ours) |
| M | Kitchen | 47.5 | 8.1 | 51.0 | 51.0 | 55.1 | 66.5 | 52.5 | — | — | 62.3 | 73.6 | 74.5 |
| P | Kitchen | 33.8 | 18.9 | 49.8 | 46.3 | 65.5 | 66.7 | 55.7 | — | — | 67.8 | 90.0 | 96.6 |
| Average | 40.7 | 13.5 | 50.4 | 48.7 | 60.3 | 66.6 | 54.1 | — | — | 65.1 | 81.8 | 85.6 | |
| Antmaze-L | D | 0.0 | 2.2 | 61.2 | 47.5 | 70.6 | 67.9 | 27.3 | — | 39.3 | 57.7 | 76.0 | 77.0 |
| Antmaze-L | P | 0.0 | 6.7 | 53.7 | 39.6 | 81.3 | 63.5 | 17.3 | — | 20.7 | — | 76.4 | 82.1 |
| Domain | # | DV* | SAGE | (95% CI) | |
|---|---|---|---|---|---|
| Overall | 18 | 95.59 | 97.69 | 2.10 [1.42,2.78] | |
| MuJoCo | 9 | 82.86 | 84.44 | 1.59 [1.16,2.02] | |
| Kitchen | 2 | 81.80 | 85.55 | 3.75 [3.21,4.29] | |
| AntMaze | 4 | 81.62 | 84.53 | 2.90 [0.46,5.34] | |
| Maze2D | 3 | 161.63 | 163.10 | 1.47 [-0.54,3.47] |
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| HalfCheetah | Hopper | Walker2d | |
|---|---|---|---|
| State space | |||
| Action space | |||
| Episode length |
| Kitchen | |
|---|---|
| State space | |
| Action space | |
| Episode length |
| Medium-Play | Medium-Diverse | Large-Play | Large-Diverse | |
|---|---|---|---|---|
| State space | ||||
| Action space | ||||
| Episode length |
| UMaze | Medium | Large | |
|---|---|---|---|
| State space | |||
| Action space | |||
| Goal space | |||
| Episode length |
| Block | Hyperparameter | Value |
|---|---|---|
| Architecture | ||
| Encoder | MLP widths | ( ) |
| Activation / norm | GELU; LayerNorm | |
| Teacher | Update rule | EMA of |
| Momentum | cosine schedule | |
| Predictor | Module | Transformer encoder |
| Block | Hyperparameter | Value |
|---|---|---|
| Inputs and tokenisation | ||
| Inputs | Latents / actions | ( , whitened); |
| Tokenisation | Per-step token | bundle with type embedding + time positional embedding |
| Model | ||
| Backbone | Architecture | block-causal Transformer |
| Depth / heads | 2 layers; 4 heads | |
| Setting | Value used |
|---|---|
| Guidance / selection regime | MCSS (generate candidates, rank with DV scorer ) |
| State–action generation | Separate (diffuse states; inverse dynamics produces actions) |
| Discount / credit assignment | |
| Planner horizon / stride | , stride |
| Candidates | |
| Planner sampler / steps | DDIM, 20 denoising steps |
| Setting | Value used |
|---|---|
| Inverse dynamics type | Diffusion inverse dynamics (conditional DDPM over ) |
| Conditioning | (normalised states) |
| Backbone | MLP |
| Hidden size | 256 |
| Solver / diffusion steps | DDPM; 10 diffusion steps (train), 10 steps (sample) |
| Training steps | 200,000 gradient steps |
| Domain | State forward (ridge) | State forward (MLP) | Random latent (ridge) | SAGE (JEPA+AC) |
|---|---|---|---|---|
| MuJoCo | 0.883 0.022 | 0.927 0.018 | 0.825 0.026 | 0.980 0.003 |
| Maze2D | 0.991 0.001 | 0.983 0.001 | 0.818 0.025 | 0.993 0.001 |
| Kitchen | 0.834 0.002 | 0.646 0.003 | 0.542 0.002 | 0.987 0.000 |
| AntMaze | 0.825 0.003 | 0.805 0.004 | 0.702 0.003 | 0.940 0.001 |
Diffusion-Based Planning
Diffusion-based planning generates diverse action sequences or trajectories by progressively denoising candidates conditioned on goals, scenes, and constraints.
See all 139 papers