Home

Awesome

Implementations of Uncertainty Quantification Methods for Neural Networks

This repository collects available implementations for uncertainty quantification and calibration methods in neural networks. The list mainly links to resources which are provided by the authors of the corresponding approaches or to other collections of implementations.

Method Type            Approch            Paper(s)Authors official RepositoryFrameworkLink to Repository
CalibrationTemperature ScalingC. Guo, G. Pleiss, Y. Sun, K. Q. Weinberger, <i>"On calibration of modern neural networks"</i>, International Conference on Machine Learning (2017). [paper]yesPyTorchhttps://github.com/gpleiss/temperature_scaling
Single Deterministic Neural NetworkMisclassification and Out-of-Distribution detection based on the softmax output.D. Hendrycks and K. Gimpel. <i>"A baseline for detecting misclassified and out-of-distribution examples in neural networks."</i> arXiv preprint arXiv:1610.02136 (2016). [paper]yesTensorFlowhttps://github.com/hendrycks/error-detection
Single Deterministic Neural Network & CalibrationImplementation of Odin and Temperature Scalling for out-of-distribution detection.S. Liang, Y. Li and R. Srikant, <i>"Enhancing The Reliability of Out-of-distribution Image Detection in Neural Networks"</i>, International Conference on Learning Representations (2018). [paper]yesPyTorchhttps://github.com/facebookresearch/odin
Single Deterministic Neural NetworkOutlier exposure - Learn heuristic for out-of-distribution detection from out-of-distribution examples.Hendrycks, Dan, Mantas Mazeika, and Thomas Dietterich. <i>"Deep anomaly detection with outlier exposure."</i> arXiv preprint arXiv:1812.04606 (2018). [paper]yesPyTorchhttps://github.com/hendrycks/outlier-exposure
Single Deterministic Neural NetworkDeep Mahalanobis Detector for Out-of-Dsitribution detection<i>K. Lee, K. Lee, H. Lee, J. Shin, “A Simple Unified Framework for Detecting Out-of-Distribution Samples and Adversarial Attacks”</i>, NeurIPS 2018. [paper]yesPyTorchhttps://github.com/pokaxpoka/deep_Mahalanobis_detector
Single Deterministic Neural NetworkEvidential Neural Networks for Classification tasksM. Sensoy, L. Kaplan, and M. Kandemir, <i>“Evidential deep learning to quantify classification uncertainty” </i>, NeurIPS 2018. [paper]partiallyTensorflow & PyTorchhttps://github.com/dougbrion/pytorch-classification-uncertainty <br /><br /> https://muratsensoy.github.io/uncertainty.html
Single Deterministic Neural NetworkDirichlet Prior NetworksA. Malinin and M. Gales, <i>“Predictive uncertainty estimation via prior networks”</i> NeurIPS 2018. [paper] <br /><br /> A. Malinin and M. Gales, <i>“Reverse kl-divergence training of prior networks: Improved uncertainty and adversarial robustness” </ i>, NeurIPS 2019. [paper]yesPyTorchhttps://github.com/KaosEngineer/PriorNetworks
Bayesian Neural NetworkBayes By Backprop (BBB)C. Blundell, J. Cornebise, K. Kavukcuoglu & D. Wierstra <i>"Weight Uncertainty in Neural Network"</i>, ICML 2015. [paper]noPyTorchhttps://github.com/nitarshan/bayes-by-backprop <br /> <br />https://github.com/ThirstyScholar/bayes-by-backprop
Bayesian Neural NetworkExample implementation of Multiplicative Normalizing FlowsC. Louizos and M. Welling, <i>"Multiplicative Normalizing Flows for Variational Bayesian Neural Networks"</i>, ICML 2017. [paper]noTensorFlow & PyTorchhttps://github.com/AMLab-Amsterdam/MNF_VBNN <br /><br /> https://github.com/janosh/torch-mnf
Bayesian Neural NetworkMonte Carlo DropoutGal, Yarin, and Zoubin Ghahramani. <i>"Dropout as a bayesian approximation: Representing model uncertainty in deep learning."</i> ICML 2016. [paper]yesTensorFlowhttps://github.com/yaringal/DropoutUncertaintyExps
Bayesian Neural NetworkVOGN Optimizer and presentation of Bayesian principles in neural networks.M. Khan, D. Nielsen, V. Tangkaratt, W. Lin, Y. Gal and A. Y. Srivastava, <i>"Fast and Scalable Bayesian Deep Learning by Weight-Perturbation in Adam"</i>, ICML 2018. [paper]yesPyTorchhttps://github.com/team-approx-bayes/dl-with-bayes
Bayesian Neural NetworkProvides facilities to easily train your PyTorch neural network models using variational inference.-noPyTorchhttps://github.com/ctallec/pyvarinf
Bayesian Neural NetworkStochastic Weight Averaging-Gaussian (SWAG)W. J. Maddox, et al. <i>"A simple baseline for bayesian uncertainty in deep learning."</i> NeurIPS 2019: 13153-13164. [paper]yesPyTorchhttps://github.com/wjmaddox/swa_gaussian
Bayesian Neural NetworkDeterministic Variational InferenceA. Wu, S. Nowozin, E. Meeds, R. E. Turner, J. M. Hernandez-Lobato, A. L. Gaunt, <i>Deterministic Variational Inference for Robust Bayesian Neural Networks</i>, ICLR 2019. [paper]partiallyTensorFlow & PyTorchhttps://github.com/Microsoft/deterministic-variational-inference <br /><br /> https://github.com/markovalexander/DVI
Bayesian Neural NetworkLaplace Approximation with four different approximations of the curvatureEstimating Model Uncertainty of Neural Networks in Sparse Information Form J. Lee, M. Humt, J. Feng, R. Triebel, ICLR 2020. [paper] <br /><br /> Bayesian Optimization Meets Laplace Approximation for Robotic Introspection M. Humt, J. Lee, R. Triebel, IROS 2020 Workshop. [paper]<br /><br /> <i>"Learning Multiplicative Interactions with Bayesian Neural Networks for Visual-Inertial Odometry"<i />, K. Shinde, J. Lee, M. Humt, A. Sezgin, R. Triebel, ICLR 2020 Workshop. [paper]yesPyTorchhttps://github.com/DLR-RM/curvature
EnsemblesDeep EnsemblesB. Lakshminarayanan, A. Pritzel, and C. Blundell, <i> “Simple and scalable predictive uncertainty estimation using deep ensembles” </i> NeurIPS 2017. [paper]noTensorFlowhttps://github.com/vvanirudh/deep-ensembles-uncertainty <br /> <br /> https://github.com/axelbrando/Mixture-Density-Networks-for-distribution-and-uncertainty-estimation <br /> <br /> https://github.com/Kyushik/Predictive-Uncertainty-Estimation-using-Deep-Ensemble
CollectionCollection containing <ul><li>Deep Ensembles <li>Stochastic Weight-Averaging Gaussian <li>Kronecker-Factored Laplace Approximation</ul>A. Ashukha, A. Lyzhov, D. Molchanov and D. Vetrov, <i>"Pitfalls of In-Domain Uncertainty Estimation and Ensembling in Deep Learning"</i>, ICLR 2020yesPyTorchhttps://github.com/bayesgroup/pytorch-ensembles
CollectionCollection containing <ul><li>Deep Ensembles <li>Bayes by Backprop <li>Monte Carlo Dropout <li>Temperature scaling</ul>-noPyTorchhttps://github.com/cpark321/uncertainty-deep-learning
CollectionCollection containing <ul><li>Bayes by Backprop <li>Monte Carlo Dropout <li>Stochastic gradient Langevin dynamics <li>Kronecker-Factored Laplace Approximation <li>Stochastic Gradient Hamiltonian Monte Carlo</ul>-noPyTorchhttps://github.com/JavierAntoran/Bayesian-Neural-Networks