Full-Waveform Inversion (FWI) recovers a map of the subsurface by fitting simulated seismic waves to recorded ones. It is powerful and notoriously hard to get right. The sections below walk through why, with live simulations running in your browser. Open any section to read it.
Forward modeling
The physics of a seismic wave
Inverting seismic data first requires predicting it. Given a map of how fast sound travels underground, what does a wave from a surface source look like by the time it reaches the sensors?
Velocity models, sources and receivers
A velocity model is a map of the subsurface where each cell stores how fast a pressure wave travels there, in meters per second. Soft sediments are slow; compacted rock is fast. Where velocity changes abruptly, part of the wave's energy reflects back toward the surface.
In a seismic survey, a source (an air gun offshore, a vibrator truck on land) sends a short pulse into the ground, and a line of receivers records pressure over time. Plotting every receiver's recording side by side, time increasing downward, gives a shot gather: the raw data that FWI tries to explain.
The acoustic wave equation
For a medium with constant density, the pressure field \(p(\mathbf{x}, t)\) obeys
where \(v(\mathbf{x})\) is the velocity model and \(s\) is the source term. Simulating data from a known model this way is called forward modeling.
Try it: propagate a wave through your own model
Velocity model (1 km × 1 km, light = slow, dark = fast) with the pressure wavefield overlaid in red (positive) and blue (negative). The orange triangle is the source; the small dark squares along the top are receivers.
1500 m/s4500 m/s
Shot gather: one column per receiver (left to right across the surface), time running downward from 0 to 1 s. The first steep arrival is the direct wave; curved events below it are reflections. Amplitudes get a display-only gain with time.
· Press Play to fire the source.
What to look for
In the three-layer model, each interface sends a reflection back up. In the gather these show up as curved events (hyperbolas) that arrive later for deeper interfaces.
Once the wave enters a faster layer its wavefront spreads out faster, which also bends (refracts) its direction of travel.
A compact anomaly scatters energy in every direction. Its signature in the gather is a diffraction curve centered above it.
Try painting a slow, low-velocity zone and compare how much later its reflections arrive.
How the simulation works
The browser solves the wave equation on a 100 × 100 grid of 10 m cells with the finite-difference time-domain method. Derivatives become weighted differences between neighboring cells, and the field is advanced one small time step \(\Delta t\) at a time:
where \(\nabla_h^2\) is a fourth-order accurate discrete Laplacian. The time step must satisfy a stability (CFL) condition, \(v_{\max}\,\Delta t / \Delta x \le C\), otherwise errors grow exponentially. Here \(\Delta t\) is fixed for the fastest velocity you can paint, so edits can never make the simulation unstable. The source is a Ricker wavelet with a 15 Hz peak frequency. A damping "sponge" layer around the grid absorbs waves that leave it, which mimics an unbounded medium (Cerjan et al., 1985). It is imperfect: a faint residual reflection of about 3% remains.
Adapted from standard finite-difference time-domain formulations of the acoustic wave equation.
Forward modeling turns a velocity model into data. Full-waveform inversion runs the other way: it starts from recorded data and searches for the model that would have produced it (Tarantola, 1984).
Inversion as optimization
FWI treats the velocity in every grid cell as an unknown. For a model \(\mathbf{m}\), every shot is simulated, and a least-squares misfit measures how far the synthetic seismograms are from the observed ones:
The demos below already have 3,600 unknowns (a 60 × 60 grid), and realistic 3D models have vastly more. Searching that space directly is hopeless, so FWI improves the model iteratively with local, gradient-based optimization (Virieux & Operto, 2009):
Getting the gradient cheaply: the adjoint-state method
Perturbing each cell one at a time to estimate \(\nabla J\) would take one simulation per unknown. The adjoint-state method gets the whole gradient from just two simulations per shot. The first is the ordinary forward simulation \(p\). The second, the adjoint field \(\lambda\), is driven by the data residuals injected at the receivers and run backward in time. Correlating the two gives the gradient with respect to slowness squared, \(m = 1/v^2\) (Plessix, 2006):
This site's test suite checks the in-browser implementation against brute-force finite-difference perturbations. The two agree to within 0.2%.
Adapted from standard adjoint-state formulations of the acoustic wave equation.
Why it is hard: non-convexity and cycle-skipping
The misfit is not a nice bowl. Seismic waveforms oscillate, so comparing them sample by sample rewards any alignment of peaks with peaks, including the wrong ones. If the starting model predicts an arrival more than half a period away from the observed one, gradient descent pulls it toward the neighboring wiggle instead of the correct one. This is called cycle-skipping(Virieux & Operto, 2009):
\[ |\Delta t| > \frac{1}{2f} \quad\Rightarrow\quad \text{the nearest local minimum is the wrong one.} \]
Low frequencies have long periods, so they tolerate larger timing errors. Real recordings, however, often contain little usable low-frequency energy (Virieux & Operto, 2009). The problem is also ill-posed: sources and receivers only illuminate parts of the subsurface, so different models can fit the same data almost equally well.
Both demos use a crosswell layout by default: six sources down the left side of the model, thirty receivers down the right side. The true model is a 2000 m/s background with a faster (2400 m/s) circular body in the middle. The inversion demo can also add sources and receivers along the top and bottom.
Try it: the misfit landscape
Here the "model" is a single number: the velocity of a homogeneous starting guess. For each guess, the middle shot is simulated and its misfit against the observed data is computed, with a 4 Hz and a 12 Hz source.
4 Hz data
12 Hz data
Misfit versus starting velocity (each curve divided by its maximum). The 12 Hz curve has side valleys: local minima where gradient descent can get stuck.
observed
modeled from your guess
Recording at the receiver facing the middle source.
The landscape is computed when this section scrolls into view (about 50 small simulations).
Try it: run FWI from a wrong starting model
True model (used only to generate the observed data). Orange circles: sources; dark squares: receivers.Current estimate, updated after every iteration. Same color scale as the true model.
1500 m/s3000 m/s
Misfit relative to its value at the start of each frequency band. In the low → high run it jumps back to 1 at the switch, because it is measured on different data from then on.
·
What to look for
Good start: the background is already right, the misfit falls steadily, and the fast body appears in the right place. It is smeared horizontally: with sources on one side and receivers on the other, most waves cross it left to right, which constrains its width poorly.
Cycle-skipped: starting 15% too slow, the 12 Hz misfit stalls well above zero. The estimate fills with stripes and velocities hit the allowed limits. It is fitting the wrong wiggles.
Fix 1, low → high frequency: from the same bad start, the 4 Hz stage first corrects the smooth background, which brings arrivals within half a 12 Hz period. The 12 Hz stage then sharpens the fast body. Moving from low to high frequencies is a classic remedy for cycle-skipping (Bunks et al., 1995).
Fix 2, sources and receivers on all sides: still starting 15% too slow and using only 12 Hz data. The added short source–receiver distances along the top and bottom have arrival errors below half a period, so they pull the background toward the right value first, and the longer paths follow. In this demo, a start that is too fast (2500 m/s) still cycle-skips with this layout.
Simplifications: the observed data come from the same solver and grid used for inversion, with no noise. Real data are noisier and never match the physics exactly, which makes every one of these problems harder.
Iterative FWI solves a new optimization problem for every survey and depends on a good starting model. The next section looks at methods that learn the mapping from data to model instead.
Enter deep learning
Learned inversion
Iterative FWI solves a new optimization problem for every survey, and it needs a good starting model to avoid cycle-skipping. Learned inversion takes a different route: train a neural network once on many pairs of seismic data and velocity models. After that, inverting new data takes a single forward pass.
From optimization to a learned mapping
Classical FWI searches for the model that explains one dataset:
A learned approach instead fits the parameters \(\theta\) of a network \(f_\theta\) that maps data to models, using a training set of simulated examples \((\mathbf{d}_i, \mathbf{m}_i)\):
The expensive part moves from inference time to training time, and the physics enters only through the examples. That trade-off shapes everything below.
A small experiment
To make the comparison concrete, a network was trained specifically for this site. Five surface sources and 64 receivers record a 640 m × 640 m model at Hz. The training models come from a random generator of curved layers, faults and intrusions. The network is a small convolutional encoder–decoder. Simulating the training data took about and training about , both on a laptop GPU. Two cheap changes improved the network: twice as much training data and an exponential moving average of its weights, which lowered its average error on held-out models from 62 to . Compressing the input amplitudes and an edge-aware loss were also tried and did not help. The classical baseline is FWI run through the same simulator. It starts from a smooth 1D model (the average depth profile of the training models) and works from low to high frequencies. A third method, DL + FWI, uses the network's model as the starting point for a short FWI run of iterations.
Compare: classical FWI and deep learning
True model
1500 m/s4500 m/s
Mean absolute velocity error against the true model, and compute time on a laptop GPU (RTX 3050).
Method
Error
Time
What the comparison shows
Speed. Once trained, the network inverts a dataset in about . The classical FWI run takes about on the same GPU. The cost has moved rather than vanished: the training set and the training run would have to be redone for a different survey layout or frequency band.
Familiar geology. On models like its training data, the network is accurate: its average error over held-out test models is . On the example shown, the two methods land close together ( for FWI, for the network), and the network's model is smoother.
Unfamiliar geology. The second model has steep, curved layers and a slow lens, features the generator never produces. FWI still recovers the lens and the shape of the layers (), because it fits this particular dataset through the physics. The network returns a plausible-looking layered model with no lens at all (). It can only reproduce the kinds of structure it was trained on.
Best of both, when the network is right. Starting FWI from the network's model gives the most accurate result on the familiar example () in about , a third of the classical run's time. On the unfamiliar model, the refinement brings the lens back but cannot undo the network's wrong layers in so few iterations (): a learned starting model helps only as much as it is right.
This is one small experiment on synthetic, noise-free data. It illustrates the trade-off; it does not rank methods. The test example was chosen by a fixed rule (the test model with the largest velocity variation), not by how either method performed on it. Code: scripts/dl/ in the repository.
Technique families in the literature
The rest of the field mostly keeps the wave-equation solver and inserts a network at one of three points of the inversion loop. Each family below comes with examples of studies on the theme, gathered by where the network sits and by what their titles say.
Where is the field heading? The open problems section collects the gaps these methods still leave.
Research landscape
What the searches show, and where to start
What the studies collected for this work show, and where to start reading.
A snapshot of the searches
While preparing this work, the author gathered studies on FWI through several database searches: a Scopus export and topic searches on FWI, time-lapse FWI and machine learning for FWI. The collection was not screened as in a systematic review, so the counts below describe these searches, not the field as a whole. Duplicates are removed, and studies that mention machine learning or deep learning are identified by fixed keyword rules on their title and abstract.
Collected studies by year
mentions ML / deep learning
other studies
Studies per publication year.The most frequent journals and conference proceedings in the collection, with the same colors as above. Ties are ordered alphabetically.
Where to start
Studies on FWI methods, ordered by citations per year since publication, which puts older and recent papers on a more even footing than raw citation counts. Each note restates what the paper says it does, based on its abstract.
(Virieux & Operto, 2009) A broad overview of FWI: forward modeling, gradient and Hessian estimation, and why local optimization can end in local minima (poor starting models, missing low frequencies, noise). 3,760 citations, 209 per year · Foundations
(Tarantola, 1984) Solves the nonlinear seismic inverse problem by least squares; each iteration correlates the forward-propagated source field with the back-propagated data residuals, the idea behind the adjoint-state gradient. 3,738 citations, 87 per year · Foundations
(Bunks et al., 1995) Shows on the Marmousi model that decomposing the inversion by scale, starting from long wavelengths where local minima are fewer and farther apart, greatly improves convergence. 1,628 citations, 51 per year · Cycle-skipping and misfit functions
(Warner & Guasch, 2016) Adaptive waveform inversion: instead of differencing waveforms, it designs filters that map predicted to observed data and drives them toward zero-lag deltas, a formulation meant to avoid cycle-skipping. 391 citations, 36 per year · Cycle-skipping and misfit functions
(Operto et al., 2013) A guided tour of multiparameter FWI (P- and S-wave velocities, density, attenuation, anisotropy), explaining crosstalk between parameters and why scaling matters. 411 citations, 29 per year · Multiparameter inversion and crosstalk
(Métivier et al., 2016) Measures the misfit with an optimal transport distance that accounts for the lateral coherency of events across traces; on Marmousi 2, BP 2004 and Chevron 2014 data it is less prone to cycle skipping than the L2 distance. 320 citations, 29 per year · Cycle-skipping and misfit functions
(Sun et al., 2023) Implicit FWI represents the velocity model with a coordinate-based neural network; from random initialization it reports better convergence than standard FWI, and adds dropout for approximate uncertainty. 96 citations, 24 per year · Deep learning in FWI
(Zhu et al., 2022) Represents the velocity model with a generative neural network inside FWI; the network acts as a spatial regularizer that mitigates local minima and noise, and Monte Carlo dropout gives an uncertainty estimate. 119 citations, 24 per year · Deep learning in FWI
(Engquist & Yang, 2022) Uses the Wasserstein distance from optimal transport as the misfit, with a sharper convexity result, and discusses how to normalize seismic signals so the theory applies. 50 citations, 10 per year · Cycle-skipping and misfit functions
(Taufik et al., 2024) Trains a diffusion model on elastic-parameter distributions and uses it as a learned regularizer in elastic FWI, instead of an empirical relation between the parameters. 21 citations, 7 per year · Deep learning in FWI
(Zhang et al., 2023) Elastic implicit FWI: a multilayer perceptron or a Bayesian neural network generates the elastic model, reducing reliance on an accurate starting model. 21 citations, 5.3 per year · Uncertainty
(Liu et al., 2026) Benchmarks network architectures (U-Net, CNN, MLP) and initialization strategies for deep-reparameterized FWI, where the network weights rather than the model cells are optimized. 5 citations, 5 per year · Deep learning in FWI
(Li & Alkhalifah, 2022) Target-oriented time-lapse elastic FWI: redatuming focuses the inversion on the reservoir, and a deep-learning prior built from well data regularizes it. 23 citations, 4.6 per year · Time-lapse monitoring
(Yin et al., 2025) A semi-amortized variational inference framework that pairs a generative network with physics-based refinements to estimate multimodal posteriors in FWI at full resolution. 9 citations, 4.5 per year · Uncertainty
(Keating & Innanen, 2020) Introduces a numerical way to assess crosstalk in viscoelastic FWI, including leakage between unknowns far apart in space, which point-scatterer analysis misses. 27 citations, 3.9 per year · Multiparameter inversion and crosstalk
(Sun & Alkhalifah, 2022) Learns the misfit function itself: a neural network trained by meta-learning (running FWI on random models) to compare predicted and observed data robustly to cycle-skipping. 19 citations, 3.8 per year · Cycle-skipping and misfit functions
(Li et al., 2026c) Uses three separate self-supervised networks for P-wave velocity, S-wave velocity and density to cut crosstalk pathways, combined with a low-to-high frequency workflow; applied to marine data. 1 citations, 1 per year · Multiparameter inversion and crosstalk
(Elmeliegy et al., 2026) A variational autoencoder, trained without labeled data and constrained by a finite-difference solver, returns a set of velocity models that fit the data, for single- and multiparameter FWI. 0 citations, 0 per year · Uncertainty
(Li et al., 2026a) Bayesian full-waveform monitoring of CO₂ storage: flow simulations build the prior, a variational autoencoder compresses it, and Hamiltonian Monte Carlo infers saturation changes. 0 citations, 0 per year · Time-lapse monitoring
(Saad & Alkhalifah, 2026) A self-supervised Siamese network compares observed and simulated data in a learned latent space, aimed at starting models whose data are more than half a cycle off. 0 citations, 0 per year · Cycle-skipping and misfit functions
The difficulties from the earlier sections are also where current research concentrates. Each card lists examples of studies on the theme.
Cycle-skipping and the starting model
Least-squares waveform misfits have local minima whenever predicted arrivals are more than half a period off, so FWI depends on a good starting model and on low frequencies (Virieux & Operto, 2009). The inverse-problem demos show both effects. Moving from low to high frequencies is the classic remedy (Bunks et al., 1995). Other approaches change the misfit itself.
When several properties are inverted together, their effects on the data overlap, and an error in one parameter can be absorbed by another (Operto et al., 2013). It can even leak between unknowns at different locations (Keating & Innanen, 2020).
A network can only reproduce the kinds of structure it was trained on, as the deep-learning experiment on this page shows with a slow lens the network never saw. The synthetic benchmark datasets used for training and testing therefore shape what a learned method can recover.
A single best-fitting model hides how well each region is constrained. The inversion demos show that some parts of a model are barely illuminated. Estimating a distribution of plausible models instead, and checking that its spread is trustworthy, is an active direction.
Repeated surveys over the same area aim to image changes, for example in a reservoir or a CO₂ storage site. The changes of interest are often small compared with the model itself, which makes them easy to confuse with inversion errors.
Every source cited on this page, generated automatically from the citations in the text.
Alfarhan, M., Chen, F., Turkiyyah, G., Keyes, D., Vasconcelos, I., Ravasi, M. (2026). A deep learning-based time shift objective function for full waveform inversion. Geophysical Prospecting 74(3), e70160. doi:10.1111/1365-2478.70160Cited in: Enter deep learning, Open problems
Cerjan, C., Kosloff, D., Kosloff, R., Reshef, M. (1985). A nonreflecting boundary condition for discrete acoustic and elastic wave equations. Geophysics 50(4), 705–708. doi:10.1190/1.1441945Cited in: Forward modeling
Deng, C., Feng, S., Wang, H., Zhang, X., Jin, P., Feng, Y., Zeng, Q., Chen, Y., Lin, Y. (2022). OpenFWI: Large-scale multi-structural benchmark datasets for full waveform inversion. Advances in Neural Information Processing Systems (NeurIPS), Datasets and Benchmarks Track 35, 6007–6020. doi:10.52202/068431-0435Cited in: Enter deep learning, Open problems
Elmeliegy, A., Sen, M. K., Dhara, A., Harding, J., Yoon, H. (2026). Physics-constrained variational autoencoder for uncertainty quantification of full waveform inversion. Journal of Geophysical Research: Machine Learning and Computation 3(5), e2026JH001389. doi:10.1029/2026JH001389Cited in: Enter deep learning, Research landscape, Open problems
Engquist, B., Yang, Y. (2022). Optimal transport based seismic inversion: Beyond cycle skipping. Communications on Pure and Applied Mathematics 75(10), 2201–2244. doi:10.1002/cpa.21990Cited in: Research landscape, Open problems
Feng, S., Wang, H., Deng, C., Feng, Y., Liu, Y., Zhu, M., Jin, P., Chen, Y., Lin, Y. (2023). 𝔼^FWI: Multiparameter benchmark datasets for elastic full waveform inversion of geophysical properties. Advances in Neural Information Processing Systems (NeurIPS), Datasets and Benchmarks Track 36, 23701–23713. doi:10.52202/075280-1029Cited in: Enter deep learning, Open problems
Huang, X., Wang, F., Alkhalifah, T. (2025). Physics-informed waveform inversion using pretrained wavefield neural operators. IEEE Transactions on Geoscience and Remote Sensing. doi:10.1109/TGRS.2025.3624025Cited in: Enter deep learning
Huo, K., Shao, G., Hu, J., Chang, W., Wang, P. (2026). Feature-data collaborative inversion: A Siamese convolutional neural network method for shallow-subsurface EFWI. Artificial Intelligence in Geosciences 7(3), 100250. doi:10.1016/j.aiig.2026.100250Cited in: Enter deep learning, Open problems
Kang, B., Chen, R., Yang, K., Li, M., Wu, B. (2026). Implicit full waveform inversion with adaptive Fourier frequency bases learning. Geophysical Journal International 244(1), ggaf404. doi:10.1093/gji/ggaf404Cited in: Enter deep learning
Keating, S., Innanen, K. A. (2020). Parameter crosstalk and leakage between spatially separated unknowns in viscoelastic full-waveform inversion. Geophysics 85(4), R397–R408. doi:10.1190/GEO2019-0370.1Cited in: Research landscape, Open problems
Li, C., Shen, Y., Fomel, S., Waheed, U. B., Savvaidis, A., Chen, Y. (2026b). GeoFWI: A large velocity model data set for benchmarking full waveform inversion using deep learning. Journal of Geophysical Research: Machine Learning and Computation 3(2), e2025JH001037. doi:10.1029/2025JH001037Cited in: Enter deep learning, Open problems
Li, H., Wang, N., Durlofsky, L. J., Biondi, B. L. (2026a). Bayesian full-waveform monitoring of CO₂ storage with fluid-flow priors via generative modeling. Journal of Geophysical Research: Machine Learning and Computation 3(3), e2025JH001190. doi:10.1029/2025JH001190Cited in: Enter deep learning, Research landscape, Open problems
Li, W., Zhuo, X., Huo, S. (2026c). Progressive self-supervised inversion with multiscale strategies for resolving multiparameter crosstalk in a marine data case. IEEE Transactions on Geoscience and Remote Sensing 64, 5908515. doi:10.1109/TGRS.2026.3682202Cited in: Enter deep learning, Research landscape, Open problems
Métivier, L., Brossier, R., Mérigot, Q., Oudet, E., Virieux, J. (2016). Measuring the misfit between seismograms using an optimal transport distance: application to full waveform inversion. Geophysical Journal International 205(1), 345–377. doi:10.1093/gji/ggw014Cited in: Enter deep learning, Research landscape, Open problems
Niu, Y., Qu, Y., Li, Z. (2026a). A physics-constrained autoencoder for full-waveform inversion using axial self-attention. Journal of Seismic Exploration 35(1), 269. doi:10.36922/jse025480119Cited in: Enter deep learning
Operto, S., Gholami, Y., Prieux, V., Ribodetti, A., Brossier, R., Métivier, L., Virieux, J. (2013). A guided tour of multiparameter full-waveform inversion with multicomponent data: From theory to practice. The Leading Edge 32(9), 1040–1054. doi:10.1190/tle32091040.1Cited in: Research landscape, Open problems
Plessix, R.-E. (2006). A review of the adjoint-state method for computing the gradient of a functional with geophysical applications. Geophysical Journal International 167(2), 495–503. doi:10.1111/j.1365-246X.2006.02978.xCited in: The inverse problem
Siahkoohi, A., Sabeddu, D. (2026). On the role of memorization in learned priors for geophysical inverse problems. arXiv preprint arXiv:2603.19629. linkCited in: Enter deep learning
Sun, J., Innanen, K., Zhang, T., Trad, D. (2023). Implicit seismic full waveform inversion with deep neural representation. Journal of Geophysical Research: Solid Earth 128(3). doi:10.1029/2022JB025964Cited in: Enter deep learning, Research landscape
Taufik, M. H., Wang, F., Alkhalifah, T. (2024). Learned regularizations for multi-parameter elastic full waveform inversion using diffusion models. Journal of Geophysical Research: Machine Learning and Computation 1(1), e2024JH000125. doi:10.1029/2024JH000125Cited in: Enter deep learning, Research landscape, Open problems
Taufik, M. H., Alkhalifah, T. (2025). Wavenumber-aware diffusion sampling to regularize multiparameter elastic full waveform inversion. Geophysical Journal International 240(2), 1215–1233. doi:10.1093/gji/ggae437Cited in: Enter deep learning, Open problems
Um, E. S., Alumbaugh, D., Wang, H., Lin, Y. (2026). 3D deep learning joint inversion of active seismic full waveform and passive seismic traveltime data for reservoir imaging and uncertainty quantification. Geophysical Prospecting 74(1), e70126. doi:10.1111/1365-2478.70126Cited in: Enter deep learning, Open problems
Wang, Z., Cheng, S., Mao, W., Ouyang, W., Tang, H. (2026). Meta-learning-enhanced implicit full waveform inversion. arXiv preprint arXiv:2604.26938. linkCited in: Enter deep learning
Wu, F., Li, Y., Fu, Z., Han, B., Chen, Y. (2026). High-resolution elastic full-waveform inversion using dual-channel CNN and Kolmogorov–Arnold network. Journal of Applied Geophysics 246, 106095. doi:10.1016/j.jappgeo.2026.106095Cited in: Enter deep learning, Open problems
Wu, Y., Wang, W., Wang, Y., McMechan, G. A. (2025). Deep learning-based self-supervised multiparameter inversion. Geophysical Journal International 243(2), ggaf332. doi:10.1093/gji/ggaf332Cited in: Enter deep learning, Open problems
Zhu, W., Xu, K., Darve, E., Biondi, B., Beroza, G. C. (2022). Integrating deep neural networks with full-waveform inversion: Reparameterization, regularization, and uncertainty quantification. Geophysics 87(1), R93–R109. doi:10.1190/geo2020-0933.1Cited in: Enter deep learning, Research landscape, Open problems