Add MINTO (target bootstrapping method, ICLR 2026) to CleanRL
Hi @vwxyzjn and CleanRL maintainers,
I am Ahmed, the author of MINTO (paper, project page, code), just accepted at ICLR 2026. I've been a long-time user of CleanRL and would love to bring MINTO into the repo if you're open to it.
Quick version of what MINTO does: it's a small change to how the TD target is bootstrapped. Instead of relying only on the target network, we take the minimum of the target and online network's estimates. That gives you fresher value estimates from the online network while the min operation keeps the usual overestimation bias in check. No architecture changes, barely any overhead, and it gave us consistent speed and stability improvements everywhere we tried it.
In the paper, we tested it across value-based and actor-critic setups: DQN and IQN for online discrete control, CQL for offline RL, and SimbaV1, SimbaV2, and CrossQ+WN for continuous control.
Rather than trying to land all of that at once, I'd like to start small and build from there based on your feedback:
Phase 1: discrete control, minto.py, minto_atari.py, minto_jax.py, and minto_atari_jax.py, mirroring the existing dqn*.py files as closely as possible so the diffs are easy to review. Phase 2 (once phase 1 is in good shape): the actor-critic side, things like sac_continuous_action.py and td3_continuous_action.py, where the same idea applies but the implementation looks a bit different, as described in the paper.
Since this touches the TD target directly, I know it counts as a performance-impacting change under your RLops process. Before I put together a PR, I wanted to check in on two things:
- Does this scope/phasing make sense to you, or would you rather see it structured differently?
- Could I get access to the openrlbenchmark W&B team so I can track the experiments properly?
Source: vwxyzjn/cleanrl