Particle Semi-Implicit Variational Inference

Jen Ning Lim, Adam M. Johansen
6/30/2024
stat.MLcs.LG

No official code found. Best implementation: longinYu/SIVISM (7 stars, last commit 2023-12-11). 1 more below.

Abstract

Semi-implicit variational inference (SIVI) enriches the expressiveness of variational families by utilizing a kernel and a mixing distribution to hierarchically define the variational distribution. Existing SIVI methods parameterize the mixing distribution using implicit distributions, leading to intractable variational densities. As a result, directly maximizing the evidence lower bound (ELBO) is not possible, so they resort to one of the following: optimizing bounds on the ELBO, employing costly inner-loop Markov chain Monte Carlo runs, or solving minimax objectives. In this paper, we propose a novel method for SIVI called Particle Variational Inference (PVI) which employs empirical measures to approximate the optimal mixing distributions characterized as the minimizer of a free energy functional. PVI arises naturally as a particle approximation of a Euclidean--Wasserstein gradient flow and, unlike prior works, it directly optimizes the ELBO whilst making no parametric assumption about the mixing distribution. Our empirical results demonstrate that PVI performs favourably compared to other SIVI methods across various tasks. Moreover, we provide a theoretical analysis of the behaviour of the gradient flow of a related free energy functional: establishing the existence and uniqueness of solutions as well as propagation of chaos results.

View on arXivView PDF

Code Implementations(2)

longinYu/SIVISMCommunity100%
71PythonAug 12, 20232 years ago
jenninglim/pviCommunity100%
MIT

NeurIPS 2024. Particle Semi-Implicit Variational Inference.

32C, ShellOct 13, 20241 years agoMIT

Similar Papers

Cite this paper

@article{lim2024particle,
  title  = {Particle Semi-Implicit Variational Inference},
  author = {Jen Ning Lim and Adam M. Johansen},
  year   = {2024},
  eprint = {2407.00649},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2407.00649},
  url    = {http://arxiv.org/abs/2407.00649v3},
  journal = {NEURIPS 2024 2024}
}

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/2407.00649.svg)](https://codeofpaper.com/paper/2407.00649)

Discussion