Discretely Relaxing Continuous Variables for tractable Variational Inference

Trefor W. Evans, Prasanth B. Nair
9/12/2018
stat.MLcs.LG

Official code: treforevans/direct (8 stars, last commit 2022-07-15).

Abstract

We explore a new research direction in Bayesian variational inference with discrete latent variable priors where we exploit Kronecker matrix algebra for efficient and exact computations of the evidence lower bound (ELBO). The proposed "DIRECT" approach has several advantages over its predecessors; (i) it can exactly compute ELBO gradients (i.e. unbiased, zero-variance gradient estimates), eliminating the need for high-variance stochastic gradient estimators and enabling the use of quasi-Newton optimization methods; (ii) its training complexity is independent of the number of training points, permitting inference on large datasets; and (iii) its posterior samples consist of sparse and low-precision quantized integers which permit fast inference on hardware limited devices. In addition, our DIRECT models can exactly compute statistical moments of the parameterized predictive posterior without relying on Monte Carlo sampling. The DIRECT approach is not practical for all likelihoods, however, we identify a popular model structure which is practical, and demonstrate accurate inference using latent variables discretized as extremely low-precision 4-bit quantized integers. While the ELBO computations considered in the numerical studies require over $10^{2352}$ log-likelihood evaluations, we train on datasets with over two-million points in just seconds.

View on arXivView PDF

Code Implementations(1)

treforevans/directOfficial100%

[NeurIPS'18] Discrete relaxation of continuous variables for tractable variational inference

81PythonOct 27, 20184 years ago

Similar Papers

Cite this paper

@article{evans2018discretely,
  title  = {Discretely Relaxing Continuous Variables for tractable Variational Inference},
  author = {Trefor W. Evans and Prasanth B. Nair},
  year   = {2018},
  eprint = {1809.04279},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1809.04279}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1809.04279.svg)](https://codeofpaper.com/paper/1809.04279)

Discussion