Skip to main content
Sandbox Physics

FR36-D · Adjoint gradients, frequency bands and held-out data

Full-Waveform Inversion with the Adjoint Method and Cycle Skipping

Why does waveform inversion need low frequencies or a good starting model? Because the fit compares wiggles. If the starting model puts a predicted wave more than half a period away from the recorded one, the update lines up the wrong cycle and the fit stalls in a wrong model. Low frequencies have longer periods, so starting with them, or with a model already close to the truth, avoids this.

Sources above and receivers below a block that hides a fast disc. Each step fits the recorded waveforms using an adjoint gradient. Start at high frequency and the fit stalls; start low and the disc appears.

Interactive modelFull-Waveform Inversion with the Adjoint Method and Cycle Skipping
Misfit, used receivers100 %100\,\%
Misfit, held-out receivers100 %100\,\%
Model error100 %100\,\%
Disc delay over half a period0.5330.533
Data: observed and predicted waveforms, one shot
  • observed
  • observed, held out
  • predicted, current model
Reconstruction: current speed model
  • true disc outline
Misfit and model error by iteration
  • misfit, used receivers
  • misfit, held-out receivers
  • model error
More readouts and the model record
Current band peak frequency
Lowest frequency kept in the band
Half period at the peak
Iterations done
Now computing
Data noise
Line search failed

The record saves every iteration’s misfits and model error, plus the true and reconstructed speed grids.

Continue the course: seismic imaging from waves to inversion

Physics tutorial

Full-Waveform Inversion with the Adjoint Method and Cycle Skipping

BackgroundTravel-time tomography uses one number per ray. Full-waveform inversion uses every sample of every recorded trace, so it can see structure smaller than the ray picture allows. It adjusts the model until simulated waveforms match the recorded ones.

Why it mattersThe model has thousands of cells, so finite differences would need thousands of simulations per step. The adjoint method gives the whole gradient of the misfit JJ from one extra simulation per source, run backwards in time.

Start with the essentials

Focus question
Why does waveform inversion need low frequencies or a good starting model?
One-sentence intuition
The least-squares waveform misfit has many valleys. If the predicted wave is more than half a period away from the observed one, the gradient points towards the wrong cycle. Lower frequencies or a better starting model widen the valley that holds the truth.

Core mathematical model

Least-squares waveform misfit

J(v)=12∑s∑r∑n(us(xr,tn;v)−ds(xr,tn))2J(\mathbf v)=\tfrac12\sum_{s}\sum_{r}\sum_{n}\left(u_{s}(\mathbf x_r,t_n;\mathbf v)-d_{s}(\mathbf x_r,t_n)\right)^2

The sum runs over sources ss, fitted receivers rr and time samples nn. Held-out receivers are left out of JJ and used only to check the result.

Discrete adjoint and gradient

λn=(2I+Δt2∇h2K)(aλn+1)−ab λn+2+rn,∂J∂κ=∑na Δt2 (∇h2un) λn+1\lambda^{n}=\left(2\mathbf I+\Delta t^2\nabla_h^2\mathbf K\right)(a\lambda^{n+1})-ab\,\lambda^{n+2}+r^{n},\qquad \frac{\partial J}{\partial\kappa}=\sum_n a\,\Delta t^2\,(\nabla_h^2u^n)\,\lambda^{n+1}

The adjoint field λ\lambda runs backwards in time, driven by the residuals rnr^n at the receivers. K\mathbf K holds the squared speeds κ=v2\kappa=v^2, and aa, bb are the absorbing-layer factors. The scheme is the exact transpose of the time stepping, so its gradient matches finite differences to rounding error.

When cycle skipping starts

∣Δt∣>T2=12f\lvert\Delta t\rvert>\frac{T}{2}=\frac{1}{2f}

A delay larger than half a period lets the predicted wave line up with the neighbouring cycle of the observed one.

Common difficulties

A falling misfit is not a better model

Typical misconceptionIf the waveform misfit goes down, the model must be getting closer to the truth.

Better mental modelIn the cycle-skipping preset the misfit falls while the model error grows. Held-out receivers and checks on the starting model are needed to tell the difference.

Run the experiment

  1. 01

    Start at high frequency

    Choose High frequency only: cycle skipping and watch the model error curve.

    What to observe: The misfit drops to about half its starting value, yet the model error climbs above where it began: the fit is sliding into a wrong valley.
  2. 02

    Start low, then go high

    Choose Low, then high frequency and compare the reconstruction with the dashed disc.

    What to observe: The 4 Hz band recovers a smooth fast blob; the 10 Hz band then sharpens it, and the held-out misfit falls with the fitted one.
  3. 03

    Give it a good start

    Choose Good starting model.

    What to observe: Starting from a blurred copy of the truth, 10 Hz alone converges, because the remaining delay is already much less than half a period.

Related experiments and articles

Seismic imaging · Reading path

Seismic waves and imaging, from rock boundaries to tomography

Articles on this path that use this experiment, followed by the other experiments they suggest.

  1. ArticleAdjoint gradients and cycle skipping in waveform inversion
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