Skip to main content
Sandbox Physics
Seismic imaging · A course with experiments

L3 · Chapter 7

Adjoint gradients and cycle skipping in waveform inversion

Waveform inversion compares whole recorded wiggles with simulated ones and adjusts every grid speed to shrink the difference. The adjoint-state method makes that affordable: one extra simulation, run backwards in time, gives the gradient with respect to all speeds at once. The difficulty is not the gradient but the misfit itself. When the simulated wiggle is shifted by more than half a period, the least-squares misfit prefers to match the neighbouring cycle, and descent heads the wrong way.

Fit the whole wiggle

Travel-time tomography keeps one number per ray. Waveform inversion keeps every sample of every trace. Yang, Engquist, Sun and Froese write the standard misfit as their Eq. 1: half the sum over receivers of the time integral of the squared difference between simulated and observed data.

Each evaluation of that misfit needs a wave simulation for each source. The waveform Lab solves the acoustic wave equation on a 60 by 60 grid with an absorbing border, so its model has 3600 unknown speeds. Its observed data come from a grid twice as fine in space and time, so the inversion fits data made by a different discretization from its own.

J(κ)=12∑r∫0T(u(xr,t;κ)−dr(t))2 dt,∂2u∂t2=κ ∇2u+s,κ=v2J(\kappa)=\frac12\sum_r\int_0^T\big(u(\mathbf x_r,t;\kappa)-d_r(t)\big)^2\,dt,\qquad \frac{\partial^2u}{\partial t^2}=\kappa\,\nabla^2u+s,\quad \kappa=v^2

One backward simulation gives the whole gradient

A finite-difference gradient perturbs one speed at a time and reruns the simulation, so its cost grows with the number of unknowns. The adjoint-state method instead adds the wave equation to the misfit with a multiplier field, integrates by parts and chooses the multiplier so that every term with the unknown change of the wavefield vanishes.

That choice is itself a wave equation, driven at the receivers by the data residuals and run backwards from the final time. Once both fields are known, the gradient at each point is the time integral of the adjoint field times the Laplacian of the forward field. The cost is one forward and one adjoint simulation per source, whatever the number of unknowns.

Weibull and Ahmed make the same comparison for an amplitude inversion with 180 unknowns in their Section 4.2. Their adjoint gradient costs two forward-model equivalents, while finite differences need about two per unknown and agree with it only to about one part in ten billion at the best step size. The waveform Lab uses the exact adjoint of its own time-stepping scheme; the repository checks it against finite differences and with a dot-product test.

∂2λ∂t2=∇2(κλ)+∑r(u−dr) δ(x−xr),λ(T)=λ˙(T)=0;∂J∂κ(x)=∫0Tλ ∇2u dt\frac{\partial^2\lambda}{\partial t^2}=\nabla^2(\kappa\lambda)+\sum_r\big(u-d_r\big)\,\delta(\mathbf x-\mathbf x_r),\quad \lambda(T)=\dot\lambda(T)=0;\qquad \frac{\partial J}{\partial\kappa(\mathbf x)}=\int_0^T\lambda\,\nabla^2u\,dt

Half a period decides which cycle you fit

Take a recorded wavelet and a simulated copy shifted in time. The least-squares misfit compares them point by point. As long as the shift is under half a period, reducing it reduces the misfit. Past half a period, the simulated peak lines up better with the next recorded peak, and the misfit has a local minimum there. Yang and co-authors show this with two shifted Ricker wavelets in their Section 4.1 and note that the least-squares adjoint source only corrects amplitude differences, which is the origin of cycle skipping.

Their Section 4.2 repeats the Camembert test: a disc of radius 0.6 km at 3.6 km/s in rock at 3.0 km/s, a 10 Hz Ricker source with frequencies below 2 Hz removed, 11 sources and 201 receivers, and a uniform 3.0 km/s starting model. Least squares stopped in a local minimum after 100 L-BFGS iterations. Their optimal-transport misfit, which is convex with respect to shifts (Theorem 2), converged in 10.

Start where half a period is long

The older remedy, which Yang and co-authors mention in their introduction, keeps least squares and changes the data: invert low frequencies first. A lower frequency has a longer period, so the same travel-time error is a smaller fraction of it. Once the low-frequency model has removed most of the delay, the high-frequency band starts within half a period.

The waveform Lab shows both outcomes from a uniform start. With only the 10 Hz band, the misfit at the receivers used for fitting falls to 46 per cent of its starting value in ten iterations, but the model error rises to 121 per cent and the remaining delay grows to 1.89 half-periods: the fit is improving while the model moves away from the truth. With a 4 Hz band first, the model error falls to 49 per cent; ten more iterations at 10 Hz bring the misfit to about 1 per cent and the model error to 39 per cent.

Worked example

Delay, half period and cost for the Lab’s disc

The Lab’s disc has a radius of 0.4 km and a speed of 4 km/s in rock at 3 km/s. A vertical path through its centre crosses 0.8 km of disc, and the uniform starting model makes that path slower by 0.8 times one-third minus one-quarter: one-fifteenth of a second, 0.0667 s. The Camembert disc gives exactly the same delay: 1.2 km times one-third minus 1/3.6.

At 10 Hz half a period is one-twentieth of a second, so the delay is four thirds of a half-period, 1.33, and the uniform start breaks the half-period rule. At 4 Hz half a period is one-eighth of a second and the ratio is eight fifteenths, 0.533. The ratio reaches one at 7.5 Hz.

The rule is a warning sign, not a sharp boundary. The path through the centre has the largest delay; rays that clip the edge of the disc are delayed less. Running the Lab’s model with one band from the uniform start, ten iterations each, 4, 5, 7 and 8 Hz all ended with less than 0.06 half-periods of delay left, 6 Hz stopped at 0.37 and 10 Hz skipped a cycle.

The Lab has five sources and 3600 unknown speeds. A one-sided finite-difference gradient needs one base run plus one perturbed run per speed for each source, 18005 simulations. The adjoint gradient needs one forward and one backward run per source, 10 simulations.

Δt=2R(1v0−1v1)=0.8(13−14)=0.0667 s,Δt1/(2f)=1.33 (10 Hz), 0.533 (4 Hz);5⋅3601=18005 vs 5⋅2=10\Delta t=2R\Big(\frac1{v_0}-\frac1{v_1}\Big)=0.8\Big(\frac13-\frac14\Big)=0.0667\ \mathrm s,\qquad \frac{\Delta t}{1/(2f)}=1.33\ (10\ \mathrm{Hz}),\ 0.533\ (4\ \mathrm{Hz});\qquad 5\cdot3601=18005\ \text{vs}\ 5\cdot2=10

An experiment to think through

Predict, change, explain

  1. In the waveform Lab, choose High frequency only: cycle skipping. Predict whether the misfit curve and the model-error curve move in the same direction.
  2. Run it, then choose Low, then high frequency and compare the two sets of curves.
  3. Explain with the delay-over-half-period readout why the same 10 Hz data fit well after a 4 Hz band and badly without it.

The Labs use flat, isotropic, elastic or acoustic rock with made-up but realistic speeds; none of them reproduces a real survey. Each Lab states its model and limits in its notes and can export the data behind its readouts.

Try explaining it yourself

1. Would a 6 Hz single band start safely from the uniform model?

Read an explained answer

Half a period at 6 Hz is one-twelfth of a second, 0.0833 s, so the one-fifteenth-second delay is twelve fifteenths, 0.80 half-periods. That is under one, so the start lies on the right side. In the Lab, ten iterations at 6 Hz cut the remaining delay to 0.37 half-periods and the model error to 72 per cent: slower progress than with a 4 Hz band, but in the right direction.

2. In the cycle-skipping run the held-out receivers’ misfit also falls, to 49 per cent. Why does the held-out check not catch the wrong model?

Read an explained answer

Held-out receivers catch overfitting of noise at the receivers used for fitting. A cycle-skipped model is a wrong model that predicts the shapes of all traces better than the start, used or held out. Only the model error, which needs the truth, or a check such as the delay ratio exposes it.

3. Raise the disc speed to 4.6 km/s. What delay must the inversion remove, and what is the highest single-band peak frequency that starts within half a period?

Read an explained answer

The delay is 0.8 times one-third minus 1/4.6, about 0.0928 s. Half a period must exceed it, so the frequency must stay below one over twice 0.0928 s, about 5.4 Hz.

Δt=0.8(13−14.6)=0.0928 s,f<12Δt=5.4 Hz\Delta t=0.8\Big(\frac13-\frac1{4.6}\Big)=0.0928\ \mathrm s,\qquad f<\frac{1}{2\Delta t}=5.4\ \mathrm{Hz}

Sources to read alongside

  1. W. W. Weibull and N. Ahmed, Seismic amplitude-variation-with-offset inversion using an algebraically equivalent formulation of the exact Zoeppritz equations and a matrix-free adjoint-state framework, arXiv:2512.13172v2

    Appendix A restates the classical Knott–Zoeppritz solution for an incident P wave: the shared ray parameter (Eq. 35) and closed forms for the reflected P and converted S coefficients (Eqs. 36 to 40). The main text fits reflection amplitudes with an adjoint-state gradient and a limited-memory quasi-Newton method.

  2. Y. Yang, B. Engquist, J. Sun and B. D. Froese, Application of optimal transport and the quadratic Wasserstein metric to full-waveform inversion, arXiv:1612.05075v1 (2016)

    Equation 1 is the least-squares waveform misfit. Section 4.1 compares the adjoint sources of two shifted wavelets, and Section 4.2 repeats the Camembert test: a 0.6 km disc at 3.6 km/s in a 3 km/s background, with a 10 Hz Ricker wavelet. Least squares from a uniform start stops in a local minimum after 100 L-BFGS iterations; the Wasserstein misfit converges.

FeedbackSomething broken, confusing, or missing on this page?Tell us
What kind of feedback?

Sent with this page’s address, its Lab ID, the site language and your device type. Please leave out personal details. Feedback is kept for up to 12 months.Privacy policy