Learning a Diffusion Model Policy from Rewards via Q-Score Matching
About
Diffusion models have become a popular choice for representing actor policies in behavior cloning and offline reinforcement learning. This is due to their natural ability to optimize an expressive class of distributions over a continuous space. However, previous works fail to exploit the score-based structure of diffusion models, and instead utilize a simple behavior cloning term to train the actor, limiting their ability in the actor-critic setting. In this paper, we present a theoretical framework linking the structure of diffusion model policies to a learned Q-function, by linking the structure between the score of the policy to the action gradient of the Q-function. We focus on off-policy reinforcement learning and propose a new policy update method from this theory, which we denote Q-score matching. Notably, this algorithm only needs to differentiate through the denoising model rather than the entire diffusion model evaluation, and converged policies through Q-score matching are implicitly multi-modal and explorative in continuous domains. We conduct experiments in simulated environments to demonstrate the viability of our proposed method and compare to popular baselines. Source code is available from the project website: https://michaelpsenka.io/qsm.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Online Reinforcement Learning | OpenAI Gym MuJoCo Normalized v4 | Normalized Mean Return55.3 | 50 | |
| Reinforcement Learning | MuJoCo Half-Cheetah | Average Return12 | 28 | |
| Offline Reinforcement Learning | OGBench | -- | 27 | |
| Reinforcement Learning | MuJoCo Hopper | Average Return1.59e+3 | 24 | |
| Reinforcement Learning | MuJoCo Ant | Average Return711 | 24 | |
| Reinforcement Learning | Swimmer | Average Returns108 | 20 | |
| Reinforcement Learning | MuJoCo Humanoid | Average Return2.31e+3 | 12 | |
| Locomotion | Humanoid-Bench Stand (test) | Return8.1 | 11 | |
| Reinforcement Learning | Gym-MuJoCo Walker2D | Average Return3.93e+3 | 10 | |
| Locomotion | DMC Dog-trot (test) | Average Return187.5 | 8 |