2. 反问题数据生成与划分策略
反问题模型的效果,往往在训练开始之前就已经被数据决定了。与常规监督学习不同,反问题的输入(观测)与输出(模型参数)之间存在物理约束,数据不能随意采集,而要靠正演模拟批量生成。本节围绕三件事展开:怎样用正演模拟造出可信样本、怎样注入贴近真实的噪声、以及怎样划分数据集才能既评估泛化又不泄漏信息。
一、正演模拟:反问题数据的“源头”
反问题的正演算子可抽象为 d = F(m) + n,其中 m 是待反演的模型参数(如波速、电导率、源位置),F 是已知的物理正演过程,d 是观测数据,n 是噪声。数据生成的核心思路是:先采样大量合理的 m,再用 F 算出对应的 d,把 (d, m) 作为训练样本对。
关键在于 m 的采样分布必须覆盖真实应用场景。以二维声波走时反演为例,可设定网格 64×64,速度范围 1500~4500 m/s,用平滑随机场叠加若干层状或透镜体异常来构造速度模型;异常体尺寸、位置、对比度都按任务先验随机化。若只生成单一平滑背景,模型在真实复杂结构上必然失效。建议显式记录采样参数(层数、异常比例、速度区间),形成可复现的生成配置:
# 示例:速度模型采样配置(合理假设,非实测)
grid: 64x64
v_background: [1500, 2500] # 背景速度均匀采样
n_layers: [1, 4] # 层数
anomaly_ratio: [0.05, 0.20] # 异常体面积占比
v_anomaly: [2500, 4500] # 异常体速度
n_samples: 8000
正演计算本身可能很贵。若单次正演耗时 0.5 s,8000 个样本约需 1.1 小时,尚可接受;若正演是三维波动方程,则需并行化或降采样。此时应优先保证样本多样性,而不是盲目堆数量——2000 个覆盖充分的样本,通常优于 20000 个高度相似的样本。
二、噪声注入:让训练分布贴近观测分布
真实观测总含噪声,若训练数据“干净”而测试数据含噪,模型会学到对噪声敏感的映射。噪声注入应遵循两条原则:一是噪声类型与真实采集一致(高斯白噪声、相关噪声、缺失道、异常值);二是信噪比范围覆盖实际工况。常用做法是对每个样本随机抽取一个信噪比 SNR ∈ [5, 40] dB,按 n = σ·randn、σ = RMS(d)/10^(SNR/20) 计算噪声强度后叠加。
需要注意,噪声应在正演之后、归一化之前注入,否则归一化会改变实际信噪比。此外可加入少量“困难样本”,如低信噪比、道缺失 10%~20% 的样本,提升模型鲁棒性。噪声参数同样要写入生成配置,保证训练集与测试集使用同一噪声模型但不同随机种子。
三、划分原则与数据泄漏防范
反问题数据最常见的泄漏不是“同一张图重复”,而是同源模型泄漏:同一个 m 生成的不同噪声样本、或同一地质体的不同观测角度,被分到训练集和测试集两侧,导致测试指标虚高。因此划分必须以“模型实例”为最小单位,而不是以样本为单位。
推荐按 70% / 15% / 15% 划分训练、验证、测试集,并遵循以下规则:
- 按模型 ID 分组划分:先给每个
m分配唯一 ID,同一 ID 的所有噪声样本只能进入同一集合。 - 分布外测试集:额外留出一组参数分布不同的模型(如更高速度对比度、更多层数),专门评估泛化。
- 固定随机种子:划分、噪声、采样各用独立种子并记录,保证可复现。
- 归一化统计量只用训练集:均值方差从训练集计算,再应用到验证和测试集。
四、实战任务:构建一份可复现的数据划分清单
下面给出一个可直接执行的任务闭环。假设已有 8000 个模型实例,每个实例生成 3 个不同噪声样本,共 24000 条样本。操作步骤如下:
- 为每个模型实例分配
model_id(0~7999),并记录其采样参数(层数、异常比例、速度区间)。 - 用固定种子
seed=42打乱model_id列表,按 70/15/15 切分为三组 ID 集合。 - 按 ID 集合把样本分配到训练、验证、测试集,确保同一
model_id的 3 条噪声样本落在同一集合。 - 从测试集中再筛出“分布外”子集:层数 ≥ 5 或异常比例 > 0.25 的模型,单独统计其误差。
- 仅用训练集计算输入
d与输出m的均值、标准差,保存为归一化参数文件,供验证和测试复用。 - 训练后在测试集上报告整体相对误差与分布外子集相对误差,两者差距过大说明泛化不足。
判断依据可以这样设定(示例阈值,需按任务调整):整体测试相对误差低于 8%,且分布外子集误差不超过整体的 1.5 倍,视为数据划分与模型泛化均达标;若整体误差很低但分布外误差骤增,应回到采样环节补充困难模型,而不是继续调网络。
综上,反问题数据工作的重心不在“造得多”,而在“造得对、分得清”。正演保证物理一致性,噪声保证分布贴近真实,按模型 ID 分组划分保证评估可信。三者共同构成后续交叉验证与泛化评估的数据基础。