blackjax-devs / blackjax

BlackJAX is a Bayesian Inference library designed for ease of use, speed and modularity.
https://blackjax-devs.github.io/blackjax/
Apache License 2.0
758 stars 96 forks source link

Implement Delayed Rejection HMC #368

Open rlouf opened 1 year ago

rlouf commented 1 year ago

Presentation of the new sampler

https://arxiv.org/abs/2110.00610

How does it compare to other algorithms in blackjax?

Authors claim up to 5x more ESS / gradient evaluation.

Where does it fit in blackjax?

In the mcmc section. The delayed rejection part is not specific to HMC and should be relatively general.

Are you willing to open a PR?

Yes.

junpenglao commented 8 months ago

More infos:

Paper (pre-print): https://projecteuclid.org/journals/bayesian-analysis/advance-publication/Delayed-rejection-Hamiltonian-Monte-Carlo-for-sampling-multiscale-distributions/10.1214/23-BA1360.full Talk: https://www.youtube.com/watch?v=p32zThyo9kY Slides: https://statmodeling.stat.columbia.edu/wp-content/uploads/2023/09/carpenter-sciml-webinar-2023.pdf

AdrienCorenflos commented 7 months ago

Delayed rejection is a fairly old idea, there may be some room to make it a meta-algorithm rather than an instance of HMC. See https://www.jstor.org/stable/2673700

gil2rok commented 4 months ago

I'm working with the STAN team to implement / benchmark Delayed Rejection Generalized HMC. I'd be happy to answer any questions, if helpful.

Right now the algorithm is still under testing, but can update later when it is finalized.

gil2rok commented 2 weeks ago

Here is the preprint of the Delayed Rejection Generalized Hamiltonian Monte Carlo (DR-G-HMC) algorithm: https://arxiv.org/abs/2406.02741 .

TL;DR it outperforms DR-HMC on multiscale densities and is approximately competitive with NUTS on non multi scale densities. Would love to know what people think!