Summary
Feynman-Kac steering is a sequential Monte Carlo-based scheme for guiding diffusion models at inference time. Examples include its use in the Alphafold3 clone Boltz.
It reweights a base model using a reward,
where acts like an inverse temperature: large values concentrate particles around high-reward modes, while small values approach the unguided prior (1).
At scheduled intermediate steps, particles are sampled with replacement from a multinomial distribution parameterized by their normalized potential scores, duplicating high-potential trajectories before the next propagation step. The released implementation supports adaptive resampling: at candidate steps it resamples only when the ESS is below , otherwise leaving the particle population unchanged (1). Hartman et al. instead resample every steps beginning at a chosen ; resampling less frequently preserves exploration, while delaying guidance until after the high-noise regime improves rewards because early reward estimates are unreliable (2). Useful gains have been reported with only a few particles (1,2).
Figures
Ref (2)
Ref (3)