@unpublished {orozco2023invnet,
	title = {InvertibleNetworks.jl: A Julia package for scalable normalizing flows},
	year = {2023},
	month = {12},
	abstract = {InvertibleNetworks.jl is a Julia package designed for the scalable implementation of normalizing flows, a method for density estimation and sampling in high-dimensional distributions. This package excels in memory efficiency by leveraging the inherent invertibility of normalizing flows, which significantly reduces memory requirements during backpropagation compared to existing normalizing flow packages that rely on automatic differentiation frameworks. InvertibleNetworks.jl has been adapted for diverse applications, including seismic imaging, medical imaging, and CO2 monitoring, demonstrating its effectiveness in learning high-dimensional distributions.},
	keywords = {Bayesian inference, computing, conditional normalizing flows, deep learning, HPC, Inverse problems, memory, Normalizing flows, software, Uncertainty quantification},
	doi = {10.48550/arXiv.2312.13480},
	author = {Rafael Orozco and Philipp A. Witte and Mathias Louboutin and Ali Siahkoohi and Gabrio Rizzuti and Bas Peters and Felix J. Herrmann}
}
@article {louboutin2023lmi,
	title = {Learned multiphysics inversion with differentiable programming and machine learning},
	journal = {The Leading Edge},
	volume = {42},
	year = {2023},
	note = {(The Leading Edge)},
	month = {07},
	pages = {452-516},
	abstract = {We present the Seismic Laboratory for Imaging and Modeling/Monitoring (SLIM) open-source software framework for computational geophysics and, more generally, inverse problems involving the wave-equation (e.g., seismic and medical ultrasound), regularization with learned priors, and learned neural surrogates for multiphase flow simulations. By integrating multiple layers of abstraction, our software is designed to be both readable and scalable. This allows researchers to easily formulate their problems in an abstract fashion while exploiting the latest developments in high-performance computing. We illustrate and demonstrate our design principles and their benefits by means of building a scalable prototype for permeability inversion from time-lapse crosswell seismic data, which aside from coupling of wave physics and multiphase flow, involves machine learning.},
	keywords = {CCS, deep learning, Fourier neural operators, GCS, Imaging, inversion, invertible networks, machine learning, monitoring, multiphysics, Normalizing flows, SLIM, software, time-lapse},
	url = {https://library.seg.org/doi/10.1190/tle42070474.1},
	presentation = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2023/louboutin2023lmi/le_software.pdf},
	url2 = {https://slim.gatech.edu/Publications/Public/Journals/TheLeadingEdge/2023/louboutin2023lmi/le_software.html},
	author = {Mathias Louboutin and Ziyi Yin and Rafael Orozco and Thomas J. Grady II and Ali Siahkoohi and Gabrio Rizzuti and Philipp A. Witte and Olav M{\o}yner and Gerard J. Gorman and Felix J. Herrmann}
}
@article {grady2022SCtll,
	title = {Model-Parallel Fourier Neural Operators as Learned Surrogates for Large-Scale Parametric PDEs},
	journal = {Computers \& Geosciences},
	volume = {178},
	year = {2023},
	note = {(Computers \& Geosciences)},
	month = {07},
	pages = {105402},
	abstract = {Fourier neural operators (FNOs) are a recently introduced neural network architecture for learning solution operators of partial differential equations (PDEs), which have been shown to perform significantly better than comparable deep learning approaches. Once trained, FNOs can achieve speed-ups of multiple orders of magnitude over conventional numerical PDE solvers. However, due to the high dimensionality of their input data and network weights, FNOs have so far only been applied to two-dimensional or small three-dimensional problems. To remove this limited problem-size barrier, we propose a model-parallel version of FNOs based on domain-decomposition of both the input data and network weights. We demonstrate that our model-parallel FNO is able to predict time-varying PDE solutions of over 2.6 billion variables on Perlmutter using up to 512 A100 GPUs and show an example of training a distributed FNO on the Azure cloud for simulating multiphase CO2 dynamics in the Earth{\textquoteright}s subsurface.},
	keywords = {CCS, Computers and Geosciences, deep learning, Fourier neural operators, HPC, large-scale, Model Parallelism, Multiphase Flow, Operator Learning},
	doi = {10.1016/j.cageo.2023.105402},
	url = {https://slim.gatech.edu/Publications/Public/Journals/ComputersAndGeosciences/2023/grady2022SCtll/grady2022SCtll.pdf},
	software = {https://github.com/slimgroup/dfno},
	author = {Thomas J. Grady II and Rishi Khan and Mathias Louboutin and Ziyi Yin and Philipp A. Witte and Ranveer Chandra and Russell J. Hewett and Felix J. Herrmann}
}
@presentation {grady2022ML4SEISMICesn,
	title = {Effective scaling of numerical surrogates via domain-decomposed Fourier neural operators},
	year = {2022},
	month = {11},
	abstract = {Numerical surrogates are models which learn to mimic a complex physical process (such as the solution to a PDE produced by a solver) from a set of input/output pairs. Fourier neural operators (FNOs) are a specific type of numerical surrogate which use a learned matched filter to quickly approximate solutions to relatively smooth complex physical processes. In the case of carbon capture sequestration (CCS) technology, FNOs have been shown to well-approximate solutions to the two-phase flow equations, with speedups of 1,000 to 10,000 times at inference time versus a tradtitional solver. This speed combined with the fact that FNOs are differentiable with respect to their input parameters allows for inverse and uncertainty quantification problems to theoretically be solved on real 3D data, a previously intractible task. However, due to the size of the input data, network weights, and optimizer state, FNOs have thus far been limited to small to medium 2D and 3D problems, well below the size of an industry standard such as the Sleipner benchmark. Here we alleviate this problem by proposing a model-parallel FNO which makes use of domain decomposition of the input data and network weights, and exploits architectural features of FNOs to also include a natural form of asynchronous pipeline parallelism. Our network can scale to arbitrary problem sizes on CPU and GPU systems.},
	keywords = {CCS, deep learning, Fourier neural operators, HPC, ML4SEISMIC, SLIM},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/ML4SEISMIC/2022/grady2022ML4SEISMICesn/index.html},
	author = {Thomas J. Grady II and Rishi Khan and Mathias Louboutin and Ziyi Yin and Philipp A. Witte and Ranveer Chandra and Russell J. Hewett and Felix J. Herrmann}
}
@conference {witte2021JULIACONmedlj,
	title = {InvertibleNetworks.jl - Memory efficient deep learning in Julia},
	booktitle = {JuliaCon},
	year = {2021},
	note = {(JuliaCon, virtual)},
	month = {07},
	abstract = {We present InvertibleNetworks.jl, an open-source package for invertible neural networks and normalizing flows using memory-efficient backpropagation. InvertibleNetworks.jl uses manually implement gradients to take advantage of the invertibility of building blocks, which allows for scaling to large-scale problem sizes. We present the architecture and features of the library and demonstrate its application to a variety of problems ranging from loop unrolling to uncertainty quantification.},
	keywords = {deep learning, Invertible network, Julia, Normalizing flows, segmentation},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/JuliaCon/2021/witte2021JULIACONmedlj/witte2021JULIACONmedlj.pdf},
	url2 = {https://www.youtube.com/watch?v=9M-zEGHY4i4},
	author = {Philipp A. Witte and Mathias Louboutin and Ali Siahkoohi and Gabrio Rizzuti and Bas Peters and Felix J. Herrmann}
}
@presentation {siahkoohi2021ML4SEISMICmcn,
	title = {Multifidelity conditional normalizing flows for physics-guided Bayesian inference},
	year = {2021},
	month = {11},
	abstract = {We introduce a scalable Bayesian inference approach that combines techniques from deep learning with a physic-based variational inference formulation. Bayesian inference for ill-posed inverse problems is challenged by the high-dimensionality of the unknown, computationally expensive forward operator, and choosing a prior distribution that accurately encodes prior knowledge on the unknown. To handle this situation and to assess uncertainty, we propose to approximate the posterior distribution using a pretrained conditional normalizing flow, which is trained on existing low- and high-fidelity estimations of the unknown. To further improve the accuracy of this approximation, we use transfer learning and finetune this normalizing flow by minimizing the Kullback-Leibler divergence between the predicted and the desired high-fidelity posterior density. This amounts to minimizing a physic-based variational inference objective with respect to the network weights, which we believe might scale better than Bayesian inference with Markov Chain sampling methods. We apply the proposed Bayesian inference approach to seismic imaging where we use quasi-real data obtained from the Parihaka dataset.},
	keywords = {deep learning, ML4SEISMIC, Normalizing flows, seismic imaging, SLIM, Variational Inference},
	url = {https://slim.gatech.edu/Publications/Public/Conferences/ML4SEISMIC/2021/siahkoohi2021ML4SEISMICmcn/Mon-11-45-Siahkoohi.pdf},
	author = {Ali Siahkoohi and Rafael Orozco and Gabrio Rizzuti and Philipp A. Witte and Mathias Louboutin and Felix J. Herrmann}
}
@techreport {siahkoohi2020TRfuqf,
	title = {Faster Uncertainty Quantification for Inverse Problems with Conditional Normalizing Flows},
	number = {TR-CSE-2020-2},
	year = {2020},
	month = {07},
	institution = {Georgia Institute of Technology},
	abstract = {In inverse problems, we often have access to data consisting of paired samples $(x,y)\sim p_X,Y(x,y)$ where $y$ are partial observations of a physical system, and $x$ represents the unknowns of the problem. Under these circumstances, we can employ supervised training to learn a solution $x$ and its uncertainty from the observations $y$. We refer to this problem as the "supervised" case. However, the data $y\sim p_Y(y)$ collected at one point could be distributed differently than observations $y{\textquoteright}\sim p_Y{\textquoteright}(y{\textquoteright})$, relevant for a current set of problems. In the context of Bayesian inference, we propose a two-step scheme, which makes use of normalizing flows and joint data to train a conditional generator $q_θ(x|y)$ to approximate the target posterior density $p_X|Y(x|y)$. Additionally, this preliminary phase provides a density function $q_θ(x|y)$, which can be recast as a prior for the "unsupervised" problem, e.g. when only the observations $y{\textquoteright}\sim p_Y{\textquoteright}(y{\textquoteright})$, a likelihood model $y{\textquoteright}|x$, and a prior on $x{\textquoteright}$ are known. We then train another invertible generator with output density $q{\textquoteright}_φ(x|y{\textquoteright})$ specifically for $y{\textquoteright}$, allowing us to sample from the posterior $p_X|Y{\textquoteright}(x|y{\textquoteright})$. We present some synthetic results that demonstrate considerable training speedup when reusing the pretrained network $q_θ(x|y{\textquoteright})$ as a warm start or preconditioning for approximating $p_X|Y{\textquoteright}(x|y{\textquoteright})$, instead of learning from scratch. This training modality can be interpreted as an instance of transfer learning. This result is particularly relevant for large-scale inverse problems that employ expensive numerical simulations.},
	keywords = {deep learning, invertible networks, Uncertainty quantification},
	url = {https://slim.gatech.edu/Publications/Public/TechReport/2020/siahkoohi2020TRfuqf/siahkoohi2020TRfuqf.html},
	author = {Ali Siahkoohi and Gabrio Rizzuti and Philipp A. Witte and Felix J. Herrmann}
}
