---
title: "波形反演中的伴随梯度与周期跳跃"
description: "一次正演加一次反传模拟，就得到失配对每个网格波速的梯度。初始模型偏差超过半个周期时，拟合可能锁定在错误的周期上。"
canonical_url: "https://sandboxphysics.com/zh/stories/seismic-imaging/adjoint-gradients-and-cycle-skipping/"
language: "zh-CN"
page_type: "story"
alternate_languages:
  en: "https://sandboxphysics.com/stories/seismic-imaging/adjoint-gradients-and-cycle-skipping/"
last_modified: "2026-10-30"
---

[地震成像 · 边学边做实验](https://sandboxphysics.com/zh/stories/seismic-imaging/)

L3 · 第 7 章

# 波形反演中的伴随梯度与周期跳跃

波形反演把记录到的整条波形与模拟波形相比较，调整每个网格的波速来缩小差别。伴随状态法让这件事算得起：多做一次时间倒着跑的模拟，就同时得到对所有波速的梯度。真正的难点不在梯度，而在失配函数本身。模拟波形的时移超过半个周期时，最小二乘失配更愿意去对齐相邻的那个周期，下降方向也就指错了。

Sandbox Physics · 2026-10-30

这一章

[查看八章课程](https://sandboxphysics.com/zh/stories/seismic-imaging/)

开始前

读过第一章和第六章；了解标量波动方程、分部积分和梯度下降。

## 拟合整条波形

走时层析对每条射线只保留一个数，波形反演保留每一道的每一个采样点。Yang、Engquist、Sun 和 Froese 在式 1 写出标准的失配：对所有接收器，把模拟数据与观测数据之差的平方对时间积分，再取一半。

每算一次失配，每个震源都要做一次波场模拟。波形实验在 60 乘 60 的网格上求解声波方程，四周加吸收边界，模型共有 3600 个未知波速。观测数据来自空间和时间步长都减半的细网格，所以反演从不拟合由自身离散格式生成的数据。

$$
J(\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
$$

## 一次反传模拟给出整个梯度

有限差分梯度每次扰动一个波速，再重跑一次模拟，计算量随未知量个数增长。伴随状态法则把波动方程乘上一个乘子场加到失配里，分部积分，再选取乘子场，让所有含波场未知变化的项都消失。

这样选出的乘子场本身满足一个波动方程：在接收器处由数据残差驱动，从终止时刻倒着往回算。两个波场都算出后，每一点的梯度就是伴随场乘以正演场拉普拉斯项的时间积分。每个震源只需一次正演和一次伴随模拟，与未知量个数无关。

Weibull 和 Ahmed 在第 4.2 节对一个有 180 个未知量的振幅反演做了同样的比较。伴随梯度只花两次正演的计算量；有限差分每个未知量大约要两次正演，而且即使取最佳步长，也只和伴随梯度吻合到约百亿分之一。波形实验用的是自身时间步进格式的精确伴随，有限差分和点积检验都确认了这个梯度。

$$
\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
$$

## 半个周期决定你拟合的是哪一个周期

取一个记录到的子波和一个时间上平移了的模拟子波。最小二乘失配逐点比较两者。只要平移小于半个周期，减小平移就会减小失配。一旦超过半个周期，模拟波峰和下一个记录波峰对得更齐，失配在那里出现一个局部极小。Yang 等人在第 4.1 节用两个平移的 Ricker 子波展示了这一点，并指出最小二乘的伴随震源只修正振幅差，这正是周期跳跃的根源。

他们在第 4.2 节重做了 Camembert 检验：半径 0.6 km、波速 3.6 km/s 的圆盘，放在 3.0 km/s 的岩石中；震源是 10 Hz 的 Ricker 子波，去掉了 2 Hz 以下的频率；11 个震源、201 个接收器；初始模型是均匀的 3.0 km/s。最小二乘在 100 次 L-BFGS 迭代后停在一个局部极小；他们的最优输运失配对时移是凸的（定理 2），10 次迭代就收敛了。

## 从半个周期较长的地方开始

更早的办法是保留最小二乘、改变数据：先反演低频。Yang 等人在引言里也提到了这种做法。频率越低，周期越长，同样的走时误差只占它的一小部分。低频模型消除了大部分时延之后，高频段的起点就落在半个周期以内了。

波形实验从均匀模型出发，两种结果都能看到。只用 10 Hz 时，十次迭代后参与拟合的接收器失配降到起始值的 46%，模型误差却升到 121%，剩余时延增加到 1.89 个半周期：拟合在变好，模型却离真值越来越远。先用 4 Hz 时，模型误差降到 49%；再在 10 Hz 迭代十次，失配降到约 1%，模型误差降到 39%。

完整例题

## 实验圆盘的时延、半周期和计算量

实验中的圆盘半径 0.4 km、波速 4 km/s，周围岩石 3 km/s。一条竖直路径穿过圆心，在圆盘内走 0.8 km；按均匀初始模型计算，这条路径慢了 0.8 乘以三分之一减四分之一，即十五分之一秒，0.0667 s。Camembert 圆盘的时延恰好相同：1.2 km 乘以三分之一减 3.6 分之一。

10 Hz 时半个周期是二十分之一秒，时延等于三分之四个半周期，即 1.33，均匀初始模型违反了半周期准则。4 Hz 时半个周期是八分之一秒，比值为十五分之八，即 0.533。频率为 7.5 Hz 时比值正好等于一。

这条准则是警示线，不是截然的边界。穿过圆心的路径时延最大，擦过圆盘边缘的射线时延要小一些。用实验的模型从均匀初始模型出发，只用一个频段，各迭代十次：4、5、7、8 Hz 结束时剩余时延都不到 0.06 个半周期，6 Hz 停在 0.37 个半周期，10 Hz 则发生了周期跳跃。

实验有 5 个震源、3600 个未知波速。单侧有限差分梯度对每个震源要做一次基准模拟，再为每个波速做一次扰动模拟，共 18005 次。伴随梯度每个震源只需一次正演、一次反传，共 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
$$

带着问题动手

## 先预测，再改变，最后解释

1. 在波形实验中选择“只用高频：周期跳跃”。预测失配曲线和模型误差曲线会不会朝同一方向变化。
2. 运行它，再选择“先低频，后高频”，比较两组曲线。
3. 用“圆盘时延除以半周期”读数解释：为什么同样的 10 Hz 数据，先做过 4 Hz 就拟合得好，不做就拟合得差。

[拟合波形，留意周期跳跃](https://sandboxphysics.com/zh/labs/adjoint-waveform-inversion/)

这些实验使用平坦、各向同性的弹性或声学岩石，波速是虚构但接近实际的数值，都不对应真实的观测。每个实验在模型说明里写明模型和适用范围，并可导出读数背后的数据。

## 试着自己解释

### 1. 只用 6 Hz 一个频段，从均匀模型出发安全吗？

展开答案与解释

6 Hz 的半个周期是十二分之一秒，即 0.0833 s，十五分之一秒的时延等于十五分之十二，即 0.80 个半周期，小于一，起点落在正确的一侧。在实验中，6 Hz 迭代十次后，剩余时延降到 0.37 个半周期，模型误差降到 72%：进展比先做 4 Hz 慢，但方向是对的。

### 2. 在周期跳跃的那次运行中，留出接收器的失配也降到了 49%。为什么留出检验没能发现模型错了？

展开答案与解释

留出接收器用来发现对参与拟合的接收器上噪声的过度拟合。发生周期跳跃的模型是一个错误的模型，但它对所有道（无论是否参与拟合）的波形都比初始模型预测得好。只有需要真值的模型误差，或者时延比这样的检查，才能揭示问题。

### 3. 把圆盘波速提高到 4.6 km/s。反演需要消除多大的时延？单一频段的峰值频率最高取多少，起点才落在半个周期以内？

展开答案与解释

时延是 0.8 乘以三分之一减 4.6 分之一，约 0.0928 s。半个周期必须大于它，所以频率要低于 1 除以 2 倍的 0.0928 s，约 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}
$$

## 可以放在旁边读的来源

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](https://arxiv.org/abs/2512.13172)

   附录 A 重述经典的 Knott–Zoeppritz 解（入射 P 波）：共同的射线参数（式 35），以及反射 P 波和转换 S 波系数的闭合表达式（式 36 至 40）。正文用伴随状态梯度和有限内存拟牛顿法拟合反射振幅。

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)](https://arxiv.org/abs/1612.05075)

   式 1 是最小二乘波形失配。第 4.1 节比较两个错开的子波的伴随源；第 4.2 节重做 Camembert 检验：3 km/s 背景中一个半径 0.6 km、波速 3.6 km/s 的圆盘，子波是 10 Hz 的 Ricker 子波。从均匀模型出发，最小二乘经过 100 次 L-BFGS 迭代后停在局部极小；Wasserstein 失配则能收敛。

[上一章 走时层析成像与分辨率矩阵](https://sandboxphysics.com/zh/stories/seismic-imaging/travel-time-tomography-and-resolution/) [下一章 读 Rawlinson 与 Spakman（2016）论地震层析的分辨率检验](https://sandboxphysics.com/zh/stories/seismic-imaging/reading-rawlinson-spakman-2016/)
