pyro-ppl / numpyro

Probabilistic programming with NumPy powered by JAX for autograd and JIT compilation to GPU/TPU/CPU.
https://num.pyro.ai
Apache License 2.0
2.14k stars 235 forks source link

Normalizing Flow MCMC #1734

Closed Qazalbash closed 1 month ago

Qazalbash commented 7 months ago

Description

It would be great to have Normalizing Flow MCMC method.

Paper reference

fehiepsi commented 7 months ago

Hi @Qazalbash, please check out https://github.com/kazewong/flowMC . We do not have plan to support those algirthms.

renecotyfanboy commented 7 months ago

I think you can achieve pretty similar results using the flow reparametrizations that are already implemented : https://num.pyro.ai/en/latest/examples/neutra.html

h2o64 commented 5 months ago

I think you can achieve pretty similar results using the flow reparametrizations that are already implemented : https://num.pyro.ai/en/latest/examples/neutra.html

Hi @renecotyfanboy I released a paper last year answering this very question. FlowMC is significantly superior to NeuTra on multimodal distributions. I believe its addition would be nice.

renecotyfanboy commented 5 months ago

That's super interesting, I had no idea there would be significant differences between flow reparametrization and proposal. This could be a great addition in the contributed codebase if there is no plan to maintain it in the core package

fehiepsi commented 3 months ago

I think it is better to use inference utilities on numpyro models to get the joint density and use flowMC on the top of that. It would be great to have a tutorial for it.

fehiepsi commented 1 month ago

Please checkout https://num.pyro.ai/en/latest/tutorials/other_samplers.html for integration with other apis.