4. 联合反演框架设计
多组实验联合反演的核心,是把来自不同观测手段、不同物理量纲、不同噪声水平的数据放进同一个反演框架中,让它们共同约束同一套模型参数。单组数据反演往往存在零空间和病态性:例如仅用重力数据难以分辨浅部薄层与深部厚层,仅用地震走时对密度变化不敏感。联合反演的价值就在于用一组数据的敏感方向去填补另一组数据的零空间,从而压缩解的非唯一性。本节围绕框架设计的三个关键环节展开:目标函数如何构建、权重如何分配、联合优化如何求解。
一、多组数据目标函数构建
联合反演通常写成带正则化的最小二乘形式。设模型参数向量为 m,第 i 组数据的正演算子为 G_i,观测数据为 d_i,则总目标函数可写为:
Φ(m) = Σ_i λ_i · ||W_i (G_i(m) − d_i)||² + α · ||L (m − m_ref)||²
其中:
W_i —— 第 i 组数据的数据加权矩阵(通常取噪声协方差逆的平方根)
λ_i —— 第 i 组数据的目标函数权重
L —— 正则化算子(一阶差分/二阶差分/平滑核)
m_ref —— 参考模型或先验模型
α —— 正则化强度
构建目标函数时有三个要点必须明确。第一,数据加权矩阵 W_i 要反映真实噪声结构。若各组数据的噪声水平差异很大,仅靠 λ_i 一个标量难以同时压制高噪声组、保留低噪声组的有效信息,因此 W_i 通常按各数据点的标准差归一化,使残差项在进入求和前已处于“无量纲、同量级”的状态。第二,正演算子要统一到同一模型参数化上。例如重力正演用密度、走时正演用速度,若联合反演的是速度模型,就需要通过岩石物理关系(如速度—密度经验公式)把密度表示为速度的函数,或引入交叉梯度项把两类参数耦合起来。第三,正则化项要针对模型的实际结构设计。层状介质宜用一阶差分做块状约束,连续变化介质宜用平滑算子,存在已知界面时可用参考模型约束。
二、权重分配策略
权重 λ_i 决定了各组数据在总目标函数中的话语权,是联合反演中最需要经验与试验的环节。常用策略有三类。
基于噪声水平的权重是最基础的做法:λ_i 取该组数据噪声方差的倒数,噪声小的数据获得更大权重。这种方法物理意义清晰,但忽略了不同数据对目标参数的敏感度差异——一组低噪声数据若对模型几乎不敏感,给它高权重反而会放大系统误差。
基于敏感度的权重则考虑正演算子对模型的影响程度,可用雅可比矩阵的范数或数据分辨率来度量。敏感度高的数据组适当降权,避免其主导整个反演、压制其他数据的贡献。实践中常把噪声权重与敏感度权重相乘,得到综合权重。
基于残差平衡的自适应权重在迭代中动态调整:每若干次迭代统计各组残差的均方根,若某组残差明显大于其他组,则适当提高其权重,迫使优化过程兼顾该组数据。这种策略能缓解初始权重设置不当带来的偏差,但需要设置权重变化的上限,防止振荡。
| 策略 | 权重依据 | 优点 | 风险 |
|---|---|---|---|
| 噪声水平权重 | 各组噪声方差倒数 | 物理意义明确、易实现 | 忽略敏感度差异 |
| 敏感度权重 | 雅可比范数/分辨率 | 平衡各组贡献 | 计算量较大 |
| 自适应权重 | 迭代中残差均方根 | 自动纠偏 | 可能振荡,需限幅 |
一个可操作的示例:假设联合反演重力与地震走时两组数据,重力数据 120 个测点、噪声约 0.05 mGal,走时数据 60 条射线、拾取误差约 10 ms。先按噪声归一化得到 W_重 与 W_走,再计算两组雅可比范数之比约为 3:1,则初始权重可取 λ_重 = 1.0、λ_走 = 3.0,使两组残差项在总目标函数中量级相当。迭代 5 次后若走时残差均方根仍比重力残差高一个量级,可将 λ_走 上调至 5.0 再继续,但单次调整幅度不宜超过 2 倍。
三、联合优化求解思路
目标函数确定后,求解方式主要有三类。第一类是整体法:把所有数据拼成一个大方程组,一次性对总目标函数求极小。实现上可用高斯—牛顿法或 Levenberg—Marquardt 法,每次迭代求解线性化方程 (JᵀWJ + αLᵀL) Δm = −(JᵀW r + αLᵀL(m − m_ref))。整体法理论严谨、收敛性好,但雅可比矩阵规模大,对内存和计算要求高,适合数据量中等、正演较快的场景。
第二类是交替法:固定一组数据的反演结果去约束另一组,轮流迭代。例如先单独反演重力得到密度模型,用岩石物理关系转换为速度作为走时反演的参考模型,再反过来用走时结果修正密度。交替法实现简单、可复用已有的单组反演程序,但收敛速度较慢,且两组数据耦合不紧密时可能收敛到次优解。
第三类是分块法:把模型参数按数据类型分块,构造块状雅可比矩阵,利用块结构做分块求解或预条件。它介于整体法与交替法之间,兼顾了耦合性与计算效率。
无论采用哪种求解方式,都需要设置收敛判据与质量控制。常用判据包括:总目标函数相对下降量小于 1%(如从 1.0 降到 0.99 以下)、模型更新量范数小于阈值、或达到最大迭代次数。同时应监控各组数据的残差均方根,若某组残差在迭代中持续上升,说明该组权重过低或正演算子存在系统偏差,需要回头检查权重与参数化方案,而不是盲目增加迭代次数。
最后需要强调,框架设计完成不等于反演成功。建议先用合成数据做一次完整闭环测试:给定已知模型,按各组数据的实际噪声水平生成合成观测,运行联合反演,检查恢复的模型与真实模型的偏差是否落在预期分辨率范围内。合成测试通过后,再接入实测数据,并把合成测试中确定的权重与正则化参数作为初值。这样能把“框架是否合理”与“实测数据是否有异常”两个问题分开排查,显著提高联合反演的可靠性。