Home

Awesome

Flow Annealed Importance Sampling Bootstrap (FAB) with Jax

[FAB paper]

See experiments for training runs on various common problems using FAB.

Install

pip install -e .

Key tips

Library

Key components of FAB:

these are written to be self-contained such that they can be easily ported into an existing code base.

Additionally, we have

Experiments

Current problems include cox, funnel gmm_v0 gmm_v1 and many_well.

The performance of FAB for these problems in terms of accuracy in estimation of the log normalizing constant are shown in the below table. These results are estimated using 5 seeds (with standard error reported across seeds). For each seed we measure the mean absolute error (MAE) in the estimation of the log normalizing constant using 2000 samples per estimate, where the MAE is averaged over 10 batches.

GMM (gmm_v1)FunnelCoxMany Well
0.00269 $\pm$ 0.0005380.00218 $\pm$ 0.0005060.194 $\pm$ 0.03940.0316 $\pm$ 0.00417

These problems may be run using the command

python experiments/gmm_v0.py 

When running the above command, ensure that you are in the repo's root directory with the PYTHONPATH environment variable set to the root directory (export PYTHONPATH=$PWD).

Additionally we have a quickstart notebook:

<a href="https://colab.research.google.com/github/lollcat/fab-jax/blob/master/experiments/fabjax_quickstart.ipynb" target="_parent"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>

We use the WANDB logger for training. If you have a WANDB account then simply change the config inside experiments/config/{problem_name}.yaml to match your WANDB project. Alternatively a list_logger or pandas_logger is available if you do not use WANDB (the list logger is used inside the Quickstart notebook).

Related Libraries

Citation

If you use this code in your research, please cite it as:

Laurence I. Midgley, Vincent Stimper, Gregor N. C. Simm, Bernhard Schölkopf, José Miguel Hernández-Lobato. Flow Annealed Importance Sampling Bootstrap. The Eleventh International Conference on Learning Representations. 2023.

Bibtex

@inproceedings{
midgley2023flow,
title={Flow Annealed Importance Sampling Bootstrap},
author={Laurence Illing Midgley and Vincent Stimper and Gregor N. C. Simm and Bernhard Sch{\"o}lkopf and Jos{\'e} Miguel Hern{\'a}ndez-Lobato},
booktitle={The Eleventh International Conference on Learning Representations },
year={2023},
url={https://openreview.net/forum?id=XCTVFJwS9LJ}
}