Practical Deep Learning with Bayesian Principles
  Bayesian methods promise to fix many shortcomings of deep learning, but they
are impractical and rarely match the performance of standard methods, let alone
improve them. In this paper, we demonstrate practical training of deep networks
with natural-gradient variational inference. By applying techniques such as
batch normalisation, data augmentation, and distributed training, we achieve
similar performance in about the same number of epochs as the Adam optimiser,
even on large datasets such as ImageNet. Importantly, the benefits of Bayesian
principles are preserved: predictive probabilities are well-calibrated,
uncertainties on out-of-distribution data are improved, and continual-learning
performance is boosted. This work enables practical deep learning while
preserving benefits of Bayesian principles. A PyTorch implementation is
available as a plug-and-play optimiser.
