gradientinstitute / aboleth

A bare-bones TensorFlow framework for Bayesian deep learning and Gaussian process approximation
Apache License 2.0
127 stars 10 forks source link

Support Bayesian Convolutional Neural Networks #74

Closed ltiao closed 6 years ago

ltiao commented 7 years ago

Add a Variational Convolutional layer

ltiao commented 7 years ago

WIP at branch https://github.com/determinant-io/aboleth/tree/feature/%2374

To finish this issue, we still need to implement auxiliary layers such as

Not to mention a demo that uses these (#75)

Optionally some util functions for working with rank 5 tensors but that can be a separate issue.

ltiao commented 7 years ago

Reshape and Pooling Layers added with closing of #97 and #93 today. Tomorrow will add working demo and test cases for Conv2DVariational layer.

nbro commented 4 years ago

@dsteinberg The variational convolutional layer can be found at https://aboleth.readthedocs.io/en/latest/api/layers.html#aboleth.layers.Conv2DVariational, but where can I find the demo that shows the usage of a variational or Bayesian CNN?

dsteinberg commented 4 years ago

Hi @nbro, we have a non-variational demo here: https://github.com/gradientinstitute/aboleth/blob/master/demos/mnist_softmax_regression.py It should be reasonably strait-forward to convert it to a Bayesian version by replacing the Dense layers with DenseVariational layers, and the max_posterior loss with an elbo loss (as per the example in the README: https://github.com/gradientinstitute/aboleth#why

I hope this helps!