-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Velocity Continuation for Common Image Gathers with Fourier Neural Op…
…erators (#8) Velocity Continuation for CIGs using FNOs --------- Co-authored-by: turquoisedragon2926 <rarockiasamy3@gatech.edu> Co-authored-by: Felix Herrmann <felix.herrmann@gatech.edu> Co-authored-by: Ziyi Yin <ziyi.yin@gatech.edu>
- Loading branch information
1 parent
9c2b558
commit 2d44817
Showing
9 changed files
with
142 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
/.quarto/ | ||
/_site/ | ||
.DS_Store |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
@article{devito-api, | ||
author = {Louboutin, M. and Lange, M. and Luporini, F. and Kukreja, N. and Witte, P. A. and Herrmann, F. J. and Velesko, P. and Gorman, G. J.}, | ||
title = {Devito (v3.1.0): an embedded domain-specific language for finite differences and geophysical exploration}, | ||
journal = {{Geoscientific Model Development}}, | ||
volume = {12}, | ||
year = {2019}, | ||
number = {3}, | ||
pages = {1165--1187}, | ||
url = {https://www.geosci-model-dev.net/12/1165/2019/}, | ||
doi = {10.5194/gmd-12-1165-2019} | ||
} | ||
|
||
@article{devito-compiler, | ||
author = {Luporini, Fabio and Louboutin, Mathias and Lange, Michael and Kukreja, Navjot and Witte, Philipp and H\"{u}ckelheim, Jan and Yount, Charles and Kelly, Paul H. J. and Herrmann, Felix J. and Gorman, Gerard J.}, | ||
title = {Architecture and Performance of Devito, a System for Automated Stencil Computation}, | ||
year = {2020}, | ||
issue_date = {April 2020}, | ||
publisher = {Association for Computing Machinery}, | ||
address = {New York, NY, USA}, | ||
volume = {46}, | ||
number = {1}, | ||
issn = {0098-3500}, | ||
url = {https://doi.org/10.1145/3374916}, | ||
doi = {10.1145/3374916}, | ||
abstract = {Stencil computations are a key part of many high-performance computing applications, such as image processing, convolutional neural networks, and finite-difference solvers for partial differential equations. Devito is a framework capable of generating highly optimized code given symbolic equations expressed in Python, specialized in, but not limited to, affine (stencil) codes. The lowering process—from mathematical equations down to C++ code—is performed by the Devito compiler through a series of intermediate representations. Several performance optimizations are introduced, including advanced common sub-expressions elimination, tiling, and parallelization. Some of these are obtained through well-established stencil optimizers, integrated in the backend of the Devito compiler. The architecture of the Devito compiler, as well as the performance optimizations that are applied when generating code, are presented. The effectiveness of such performance optimizations is demonstrated using operators drawn from seismic imaging applications.}, | ||
journal = {ACM Trans. Math. Softw.}, | ||
month = apr, | ||
articleno = {6}, | ||
numpages = {28}, | ||
keywords = {symbolic processing, stencil, structured grid, compiler, Finite-difference method, performance optimization, domain-specific language} | ||
} | ||
|
||
@article{witte2018alf, | ||
title = {A large-scale framework for symbolic implementations of seismic inversion algorithms in Julia}, | ||
journal = {Geophysics}, | ||
volume = {84}, | ||
number = {3}, | ||
year = {2019}, | ||
note = {(Geophysics)}, | ||
month = {03}, | ||
pages = {F57-F71}, | ||
keywords = {FWI, inversion, LSRTM, Modeling, software}, | ||
doi = {10.1190/geo2018-0174.1}, | ||
url = {https://slim.gatech.edu/Publications/Public/Journals/Geophysics/2019/witte2018alf/witte2018alf.pdf}, | ||
author = {Philipp A. Witte and Mathias Louboutin and Navjot Kukreja and Fabio Luporini and Michael Lange and Gerard J. Gorman and Felix J. Herrmann} | ||
} | ||
|
||
|
||
@article{virieux, | ||
author = {J. Virieux and S. Operto}, | ||
doi = {10.1190/1.3238367}, | ||
eprint = {http://library.seg.org/doi/pdf/10.1190/1.3238367}, | ||
journal = {GEOPHYSICS}, | ||
number = {5}, | ||
pages = {WCC1-WCC26}, | ||
title = {An overview of full-waveform inversion in exploration | ||
geophysics}, | ||
url = {http://library.seg.org/doi/abs/10.1190/1.3238367}, | ||
volume = {74}, | ||
year = {2009}, | ||
bdsk-url-1 = {http://library.seg.org/doi/abs/10.1190/1.3238367}, | ||
bdsk-url-2 = {http://dx.doi.org/10.1190/1.3238367} | ||
} | ||
|
||
@misc{fno, | ||
Author = {Zongyi Li and Nikola Kovachki and Kamyar Azizzadenesheli and Burigede Liu and Kaushik Bhattacharya and Andrew Stuart and Anima Anandkumar}, | ||
Title = {Fourier Neural Operator for Parametric Partial Differential Equations}, | ||
Year = {2020}, | ||
Eprint = {arXiv:2010.08895}, | ||
} | ||
|
||
@misc{wise, | ||
Author = {Ziyi Yin and Rafael Orozco and Mathias Louboutin and Felix J. Herrmann}, | ||
Title = {WISE: full-Waveform variational Inference via Subsurface Extensions}, | ||
Year = {2023}, | ||
Eprint = {arXiv:2401.06230}, | ||
} | ||
|
||
@inproceedings{siahkoohi2022velocity, | ||
title={Velocity continuation with Fourier neural operators for accelerated uncertainty quantification}, | ||
author={Siahkoohi, Ali and Louboutin, Mathias and Herrmann, Felix J}, | ||
booktitle={SEG International Exposition and Annual Meeting}, | ||
pages={D011S092R004}, | ||
year={2022}, | ||
organization={SEG} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
--- | ||
title: "Velocity Continuation for Common Image Gathers with Fourier Neural Operators" | ||
author: | ||
- name: | ||
Richard Rex^1^, Ziyi Yin^1^, Felix J. Herrmann^1^ \ | ||
|
||
^1^ Georgia Institute of Technology | ||
bibliography: paper.bib | ||
--- | ||
|
||
::: hidden | ||
$$ | ||
\newcommand{\pluseq}{\mathrel{+}=} | ||
$$ | ||
::: | ||
|
||
## Introduction | ||
|
||
Common-image gathers (CIGs) are pivotal in migration-velocity analysis (MVA). However, MVA is often hindered by the computational burden of traditional migration methods. To bypass these limitations, we introduce a neural-surrogate learning approach that utilizes Fourier Neural Operators [FNOs, @fno] to accelerate MVA. Following the velocity-continuation scheme of @siahkoohi2022velocity, we train a survey-specific FNO to map the CIGs associated with one migration-velocity model to another without remigration. This methodology leverages the capacity of FNOs to approximate complex PDE-based mappings, rendering computational cost at inference negligible, thereby expediting MVA. By enabling rapid generation and evaluation of CIGs across various velocity models, it offers a pathway to quickly examine velocity models according to preferred properties and to quantify uncertainties in imaged reflectivities at the same time. Additionally, this methodology paves the way for inverse design optimization, updating velocity models to produce CIGs with desirable characteristics. | ||
|
||
## Methodology | ||
|
||
We conduct a case study on a 2D slice of the Compass model. We generate observed data with 256 sources and 32 ocean bottom nodes, using a Ricker wavelet with central frequency of 0.015 Hz. We assume absorbing boundaries in our study. We add uncorrelated band-limited noise with an SNR of 12 dB for realism. For a given migration-velocity model, CIGs are computed. To train the network to generate CIGs for new migration-velocity models without remigration, 500 new migration-velocity models (Figure 1 (b)) are generated and used to generate CIGs to form our training dataset (Figure 1 (c)). Given these models and CIGs, a FNO is to trained to map $a)$ initial migration-velocity model, $b)$ its CIG, and $c)$ target migration-velocity models, to the CIGs associated with the target migration-velocity models (Figure 1 (d)). | ||
|
||
::: {#fig-unsup} | ||
![](figures/workflow.001.jpeg){width="90%"} | ||
|
||
Our initial velocity model (a) and it's CIG (b), Set of Smoothed velocity models used as training inputs (c), Migrated CIGs from smoothed velocity models as training targets (d), Surrogate that learns the mapping between initial velocity models, their CIGs, and target models, to produce the corresponding CIGs for the target velocity models (e) | ||
::: | ||
|
||
::: {#fig-sup} | ||
![](figures/valid_sample=8.png) | ||
|
||
![](figures/valid_sample=6.png) | ||
|
||
Column 1 represents the target CIG of the smoothed velocity models. Column 2 represents the predicted CIG from our FNO. The last column shows the amplified absolute difference between the first 2 columns | ||
::: | ||
|
||
## Results | ||
|
||
Figure 2 displays the FNO prediction in the subsurface-offset domain across various velocity models in an unseen test dataset. Despite some minor errors, the FNO prediction successfully captures the focusing pattern of the CIGs, and correctly produces the imaged reflectivities at the near zero-offsets. Computationally, the upfront training cost could potentially be reduced by transfer learning techniques. At inference, our trained FNO achieves $3200\times$ speed-up compared to numerical computation of CIGs. These findings substantiate the computational efficiency of the FNOs in generating CIGs for many velocity models, underscoring its applicability in real-time migration-velocity analysis. This framework also presents a way to select good posterior samples of velocity models so that they exhibit desirable properties in their CIGs, making it a good choice of a postprocessor for velocity models produced by generative artificial intelligence workflows [@wise]. Additionally, it enables fast uncertainty quantification of imaged reflectivities with respect to many velocity models. In addition to this, the framework could also be pivotal in performing inverse design optimization. By updating our background velocity models such that they yield CIGs with specific, desirable properties, we can further refine our understanding of seismic data. This work is made reproducible at [FNO-CIG](https://github.com/slimgroup/FNO-CIG) using distributed Fourier Neural Operators implemented in [ParametricOperators.jl](https://github.com/slimgroup/ParametricOperators.jl). | ||
|
||
## Acknowledgement {.appendix} | ||
|
||
This research was carried out with the support of Georgia Research Alliance and partners of the ML4Seismic Center. | ||
|
||
### References | ||
|
||
::: {#refs} | ||
::: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters