Variational Bayesian inference for large-scale data.
Henbun is a Python library to make a large-scale Bayesian inference based on variational approximation.
Henbun is built on top of TensorFlow and thanks to TensorFlow's functionality, GPU computation becomes very easy without changing Python code.
In large-scale Bayesian inference usually contains both the local
and global parameters, where local parameters are unique for each data while
global parameters are common for all the data.
Henbun makes it possible to construct a feed-forward network to encode data into
the variational local parameters.
This encoding replaces local parameters to the feed-forward network written
only by global parameters and therefore the model can be optimized
stochastically.
Some examples can be found in notebooks.
-
Regression problems
-
Gaussian Process regression
A very simple tutorial for simple variational Bayesian inference.
-
-
Tomographic reconstruction (coming soon)
-
Spectroscopic tomography (coming soon)
An example as an inverse problem solver -
Auto-encoder (coming soon) An example as an deep-learning framework.
-
Variational auto-encoder (coming soon) An example as an large scale Bayesian inference with feed-forward network.
In the following notebooks, some structures of Henbun are described.
- Brief description about optimization (Henbun_structure).
- Brief description about variational inference (Henbun_structure2).
Henbun heavily depends on
- TensorFlow: a Large-Scale Machine Learning library. Henbun requires TensorFlow > 0.12.
Before installing Henbun, TensorFlow must be installed.
See here.
For the installation of Henbun, execute
python setup.py install
We learned a code structure from GPflow (https://https://github.com/GPflow/GPflow).