Reinforcement Learning via Fixed-point Flow Matching
Organizations: Karlsruhe Institute of Technology (KIT) Autonomous Learning Robots Lab (ALR)
Abstract
In maximum entropy and behavior-constrained reinforcement learning (RL), the optimal policy is given by a Boltzmann distribution. Generating samples from this distribution can be challenging, as it is often complex and multimodal. While flow policies trained with flow matching provide a powerful framework for representing such distributions, they traditionally rely on access to training data, which is generally unavailable in online RL. To address this limitation, we propose fixed-point flow matching (FFM), a data-free procedure for training and fine-tuning flow policies in RL. FFM leverages the target flow identity to formulate the actor update as a fixed-point iteration, utilizing a flow-matching-style regression objective where the critic's action gradients serve as regression targets. We show that the optimal policy is a fixed point of this iteration. Through extensive experiments, we demonstrate that FFM effectively fine-tunes pretrained flow policies in the offline-to-online setting and enables efficient and accurate training of flow policies from scratch in online RL. These results establish fixed-point flow matching as a principled approach for learning expressive flow-based policies without requiring training data.
Figures & tables
Appendix figures & tables22 assets
Supplementary material from the paper’s appendix.
Appendix
| Parameter | FFM (ours) | AMDP | REPPO | DIME | SPO | PPO | FPO | DPPO |
|---|---|---|---|---|---|---|---|---|
| Actor Network | ||||||||
| Hidden dim. | 512 | 512 | 512 | 512 | 256 | 256 | 32 | 256 |
| Hidden layers | 3 | 3 | 3 | 3 | 3 | 3 | 5 | 3 |
| Activation | GeLU | GeLU | GeLU | GeLU | ELU | ELU | SiLU | Mish |
| Flow/diff. steps | 16 | 16 | N/A | 16 | N/A | N/A | 10 | 8 |
| Critic Network | ||||||||
| Environment | Type | State | Act | Ep. len | Dataset | Width |
|---|---|---|---|---|---|---|
| AntMaze-Large | locomotion | 29 | 8 | 1000 | 1M | 512 |
| AntMaze-Giant | locomotion | 29 | 8 | 1000 | 10M | 1024 |
| HumanoidMaze-Medium | locomotion | 69 | 21 | 2000 | 1M | 512 |
| HumanoidMaze-Large | locomotion | 69 | 21 | 2000 | 1M | 512 |
| Cube-Double | manipulation | 37 | 5 | 500 | 1M | 512 |
| Cube-Triple | manipulation | 46 | 5 | 1000 | 10M | 1024 |
| Optimizer | Adam, learning rate |
|---|---|
| Batch size | |
| MLP | 4 hidden layers, width (1M) / (10M–100M) |
| Layer norm | critic: yes; actor: -width domains only |
| Discount | (HumanoidMaze: ) |
| Pessimism | (HumanoidMaze: ) |
| Target EMA rate |
| Regime A (locomotion) | Regime B (manipulation) | |
|---|---|---|
| Critic scale | ||
| Fisher normalizer | fixed ( ) | adaptive (EMA) |
| Behavior anchor | trust region on | trust region off (product tilt only) |
| Action chunking | no | yes ( ) |
| Environment | FFM | TRQAM | QAM | QAM-E | IFQL | FQL | DSRL | CGQL-L |
|---|---|---|---|---|---|---|---|---|
| AntMaze-Large | 0.89 | 0.89 | 0.62 | 0.86 | 0.29 | 0.38 | 0.53 | 0.48 |
| AntMaze-Giant | 0.26 | 0.41 | 0.29 | 0.06 | 0.12 | 0.02 | 0.01 | 0.07 |
| HumanoidMaze-Medium | 0.99 | 0.84 | 0.64 | 0.59 | 0.93 | 0.74 | 0.53 | 0.57 |
| HumanoidMaze-Large | 0.84 | 0.36 | 0.04 | 0.04 | 0.30 | 0.02 | 0.01 | 0.06 |
| Cube-Double | 0.47 | 0.81 | 0.71 | 0.71 | 0.09 | 0.44 | 0.72 | 0.55 |
| Cube-Triple | 0.25 | 0.50 | 0.19 | 0.11 | 0.24 | 0.07 | 0.34 | 0.00 |
| Environment | FFM | TRQAM | QAM | QAM-E | IFQL | FQL | DSRL | CGQL-L |
|---|---|---|---|---|---|---|---|---|
| AntMaze-Large | 1.00 | 0.98 | 0.99 | 0.96 | 0.52 | 1.00 | 0.95 | 0.97 |
| AntMaze-Giant | 0.98 | 0.97 | 0.74 | 0.97 | 0.44 | 0.84 | 0.90 | 0.61 |
| HumanoidMaze-Medium | 1.00 | 0.97 | 0.82 | 0.78 | 0.75 | 0.96 | 0.82 | 0.95 |
| HumanoidMaze-Large | 0.99 | 0.76 | 0.26 | 0.27 | 0.12 | 0.37 | 0.28 | 0.74 |
| Cube-Double | 0.99 | 1.00 | 1.00 | 1.00 | 0.72 | 1.00 | 0.99 | 0.99 |
| Cube-Triple | 0.99 | 1.00 | 0.90 | 0.98 | 0.46 | 0.87 | 0.90 | 0.20 |