AdvancedPS.jl
AdvancedPS.jl copied to clipboard
Potentially interesting SMC algorithms
I had a short conversation with Fredrik Lindsten about SMC algorithms that might be interesting to implement. Apart from PGAS, his suggestions were:
- Our divide and conquer SMC is something that I think would be very well suited for PPL. I have mentioned this to a lot of people (including Lawrence, David Broman, ...) but no one has taken the bait yet (https://arxiv.org/abs/1406.4993).
- Some type of "Twisted SMC" would also be very beneficial for PPL, but that's more of a research topic to figure out how to construct the sampler itself so that it can be implemented in a generic way.
- Last but not least, Christian's VSMC (https://arxiv.org/abs/1705.11140).
Thanks a lot for these remarks!
Anglican has a nice list here: https://www.robots.ox.ac.uk/~fwood/anglican/literature/index.html
IPMCMC seems particularly nice: https://www.robots.ox.ac.uk/~fwood/anglican/assets/pdf/rainforth-icml-2016.pdf
IPMCMC is implemented in https://www.github.com/TuringLang/AdvancedPS.jl/tree/master/src%2Fcontrib%2FAdvancedSMCExtensions.jl, but currently broken. It just has to be updated to the new interface which hopefully is quite straightforward.
Another interesting algorithm -- perhaps we could try integrating ParetoSmooth.jl, and letting users replace the importance-sampling step with PSIS? I've never seen it done before, but it definitely seems like an interesting/worthwhile experiment.