All Projects → gd-zhang → noisy-K-FAC

gd-zhang / noisy-K-FAC

Licence: Apache-2.0 license
Natural Gradient, Variational Inference

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to noisy-K-FAC

DUN
Code for "Depth Uncertainty in Neural Networks" (https://arxiv.org/abs/2006.08437)
Stars: ✭ 65 (+124.14%)
Mutual labels:  bayesian-inference, variational-inference, bayesian-neural-networks
artificial neural networks
A collection of Methods and Models for various architectures of Artificial Neural Networks
Stars: ✭ 40 (+37.93%)
Mutual labels:  bayesian-inference, variational-inference, bayesian-neural-networks
UString
[ACM MM 2020] Uncertainty-based Traffic Accident Anticipation
Stars: ✭ 38 (+31.03%)
Mutual labels:  uncertainty-estimation, bayesian-neural-networks
Bcpd
Bayesian Coherent Point Drift (BCPD/BCPD++); Source Code Available
Stars: ✭ 116 (+300%)
Mutual labels:  bayesian-inference, variational-inference
Celeste.jl
Scalable inference for a generative model of astronomical images
Stars: ✭ 142 (+389.66%)
Mutual labels:  bayesian-inference, variational-inference
Pyro
Deep universal probabilistic programming with Python and PyTorch
Stars: ✭ 7,224 (+24810.34%)
Mutual labels:  bayesian-inference, variational-inference
Mxfusion
Modular Probabilistic Programming on MXNet
Stars: ✭ 95 (+227.59%)
Mutual labels:  bayesian-inference, variational-inference
Vbmc
Variational Bayesian Monte Carlo (VBMC) algorithm for posterior and model inference in MATLAB
Stars: ✭ 123 (+324.14%)
Mutual labels:  bayesian-inference, variational-inference
viabel
Efficient, lightweight variational inference and approximation bounds
Stars: ✭ 27 (-6.9%)
Mutual labels:  bayesian-inference, variational-inference
Probabilistic Models
Collection of probabilistic models and inference algorithms
Stars: ✭ 217 (+648.28%)
Mutual labels:  bayesian-inference, variational-inference
spatial-smoothing
(ICML 2022) Official PyTorch implementation of “Blurs Behave Like Ensembles: Spatial Smoothings to Improve Accuracy, Uncertainty, and Robustness”.
Stars: ✭ 68 (+134.48%)
Mutual labels:  uncertainty-estimation, bayesian-neural-networks
Bayesian Neural Networks
Pytorch implementations of Bayes By Backprop, MC Dropout, SGLD, the Local Reparametrization Trick, KF-Laplace, SG-HMC and more
Stars: ✭ 900 (+3003.45%)
Mutual labels:  bayesian-inference, variational-inference
Pytorch Bayesiancnn
Bayesian Convolutional Neural Network with Variational Inference based on Bayes by Backprop in PyTorch.
Stars: ✭ 779 (+2586.21%)
Mutual labels:  bayesian-inference, variational-inference
Gpstuff
GPstuff - Gaussian process models for Bayesian analysis
Stars: ✭ 106 (+265.52%)
Mutual labels:  bayesian-inference, variational-inference
Pymc3
Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning with Aesara
Stars: ✭ 6,214 (+21327.59%)
Mutual labels:  bayesian-inference, variational-inference
ReactiveMP.jl
Julia package for automatic Bayesian inference on a factor graph with reactive message passing
Stars: ✭ 58 (+100%)
Mutual labels:  bayesian-inference, variational-inference
Dropouts
PyTorch Implementations of Dropout Variants
Stars: ✭ 72 (+148.28%)
Mutual labels:  variational-inference, bayesian-neural-networks
Rethinking Tensorflow Probability
Statistical Rethinking (2nd Ed) with Tensorflow Probability
Stars: ✭ 152 (+424.14%)
Mutual labels:  bayesian-inference, variational-inference
PyLDA
A Latent Dirichlet Allocation implementation in Python.
Stars: ✭ 51 (+75.86%)
Mutual labels:  bayesian-inference, variational-inference
BayesByHypernet
Code for the paper Implicit Weight Uncertainty in Neural Networks
Stars: ✭ 63 (+117.24%)
Mutual labels:  variational-inference, bayesian-neural-networks

noisy K-FAC

The major contributors of this repository include Guodong Zhang and Shengyang Sun. Note that this repo uses a modified version of tensorflow K-FAC.

Update

A new repo was released with implementations of noisy K-FAC and noisy EK-FAC.

Introduction

This repository contains the code to reproduce the classification results from the paper Noisy Natural Gradient as Variational Inference Paper, Video. (RL code see VIME-NNG)

Noisy Natural Gradient: Variational Inference can be instantiated as natural gradient with adaptive weight noise. By further approximating full Fisher with K-FAC, we get noisy K-FAC, a surprisingly simple variational training algorithm for Bayesian Neural Nets. Noisy K-FAC not only improves the classification accuracy, but also gives well-calibrated prediction.

Now, the implementation of convolution with multiple samples (which is very useful for Bayesian Neural Nets) is messy and slow, we plan to implement a new operation in tensorflow after NIPS.

Citation

To cite this work, please use

@article{zhang2017noisy,
  title={Noisy Natural Gradient as Variational Inference},
  author={Zhang, Guodong and Sun, Shengyang and Duvenaud, David and Grosse, Roger},
  journal={arXiv preprint arXiv:1712.02390},
  year={2017}
}

Dependencies

This project uses Python 3.5.2. Before running the code, you have to install

Example

python main.py --config configs/kfac_plain.json

Tensorboard Visualization

This implementation allows for the beautiful Tensorboard visualization. All you have to do is to launch Tensorboard from your experiment directory located in experiments/.

tensorboard --logdir=experiments/cifar10/noisy-kfac/summaries
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].