This repo contains the thesis and code for my MSc dissertation, done through the School of Informatics at the University of Edinburgh. My supervisor was Dr. Michael Gutmann.
The title of my thesis is Fast and Scalable Factor Analysis Algorithms for Bayesian Deep Learning.
It can be found here.
Algorithm 1 from the thesis is implemented in the
OnlineGradientFactorAnalysis class
here.
Algorithm 2 from the thesis is implemented in the
OnlineEMFactorAnalysis class
here.
Algorithm 3 from the thesis is implemented in the
FactorAnalysisVariationalInferenceCallback class
here.
The main experiments from the thesis are defined in the dvc.yaml file.
After installing the dependencies in requirements.txt, the experiments can be reproduced by
running the following command from root of the project:
dvc reproIn order to reproduce a specific experiment, run the following command:
dvc repro <stage name from dvc.yaml>The stages correspond to the experiments in the following section of the thesis:
online_faanonline_fa_analysis: Section 4.4.1linear_regression_vi: Section 5.2.2neural_net_predictions: Section 5.2.3
If you want to change any of the parameters for the experiments, you can do so in params.yaml.