jhayes14 / PyTorch-BayesianCNN

Bayesian Convolutional Neural Network with Variational Inference based on Bayes by Backprop in PyTorch.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

996.icu

NOTE: A basic version of code is up and running. If you face any problems, feel free to raise an issue.

Bayesian CNN with Variational Inference and it's application

In this repo Bayesian Convolutional Neural Network (BayesCNN) using Variational Inference is proposed, that introduces probability distribution over the weights. Furthermore, the proposed BayesCNN architecture is applied to tasks like Image Classification, Image Super-Resolution and Generative Adversarial Networks.

BayesCNN is based on Bayes by Backprop which derives a variational approximation to the true posterior. Our proposed method not only achieves performances equivalent to frequentist inference in identical architectures but also incorporate a measurement for uncertainties and regularisation. It further eliminates the use of dropout in the model. Moreover, we predict how certain the model prediction is based on the epistemic and aleatoric uncertainties and finally, we propose ways to prune the Bayesian architecture and to make it more computational and time effective.


Folder Structure and Content

Image Recognition

  • The Bayesian CNN is applied to the task of Image Recognition and the results are compared to frequentist architectures for MNIST, CIFAR10 and CIFAR100 datasets.

  • A measure of uncertainty is added with the prediction and the epistemic and aleatoric uncertainty is estimated.

  • Bayesian AlexNet, LeNet and 3Conv3FC is proposed and applied to Image recognition tasks.

  • Code and implementation details available at: Bayesian CNN Image Recognition


Super Resolution

  • Bayesian CNN is applied to the task of Super Resolution on BSD300 dataset and the results are compared to other methods.

  • Implementation and code is available here : PyTorch Bayesian Super Resolution


Paper

  • Paper contains the paper about the Bayesian CNN with Variational Inference. The paper is also available on Arxiv: Bayeisan CNN with Variational Inference

  • Feel free to cite the author, if the work is any help to you:

@article{shridhar2019comprehensive,
  title={A Comprehensive guide to Bayesian Convolutional Neural Network with Variational Inference},
  author={Shridhar, Kumar and Laumann, Felix and Liwicki, Marcus},
  journal={arXiv preprint arXiv:1901.02731},
  year={2019}
}

Thesis

  • Thesis contains the detailed explaination of all the concepts mentioned from background knowledge to empirical analysis and conclusion.

  • Thesis chapters overview is available here: Master Thesis BayesianCNN


Contact


About

Bayesian Convolutional Neural Network with Variational Inference based on Bayes by Backprop in PyTorch.

License:MIT License


Languages

Language:Jupyter Notebook 90.9%Language:Python 9.1%