VIP -- Variational Inversion Package with example implementations of Bayesian tomographic imaging
Xin Zhang, Andrew Curtis
TL;DR
This paper introduces VIP, a Python package that brings variational inference to geophysical inverse problems by implementing ADVI, SVGD, and sSVGD and validating them with 2D travel-time tomography and 2D full-waveform inversion. It provides a scalable framework with forward models, adjoint-based gradients, and unconstrained transforms to approximate the posterior $p(\mathbf{m}|\mathbf{d}_{obs})$ efficiently, offering a practical alternative to traditional MCMC. The study demonstrates that variational methods can deliver accurate posterior means and uncertainties faster than MH-McMC, while highlighting the trade-offs: ADVI can be faster but biased in some regions; SVGD and especially sSVGD better capture complex posteriors at higher computational cost. VIP’s modular design, HPC-ready implementation, and test examples aim to broaden access to Bayesian inversion for a wide range of geophysical problems, encouraging community contributions.
Abstract
Bayesian inference has become an important tool to solve inverse problems and to quantify uncertainties in their solutions. Variational inference is a method that provides probabilistic, Bayesian solutions efficiently by using optimization. In this study we present a Python Variational Inversion Package (VIP), to solve inverse problems using variational inference methods. The package includes automatic differential variational inference (ADVI), Stein variational gradient descent (SVGD) and stochastic SVGD (sSVGD), and provides implementations of 2D travel time tomography and 2D full waveform inversion including test examples and solutions. Users can solve their own problems by supplying an appropriate forward function and a gradient calculation code. In addition, the package provides a scalable implementation which can be deployed easily on a desktop machine or using modern high performance computational facilities. The examples demonstrate that VIP is an efficient, scalable, extensible and user-friendly package, and can be used to solve a wide range of low or high dimensional inverse problems in practice.
