3. 仿真数据生成与实验设计

在机器学习辅助仿真参数反演中,模型的上限往往不由网络结构决定,而由训练数据决定。仿真数据生成与实验设计要解决的核心问题是:在有限的仿真预算下,如何让采样点尽可能均匀地覆盖参数空间、尽可能多地携带关于反演目标的信息,并把批量运行产生的数据组织成可训练、可追溯的数据集。本节围绕参数采样策略、拉丁超立方、正交设计、自适应采样以及批量运行与数据管理展开。

一、参数空间与采样策略

设待反演参数为 x = (x₁, x₂, …, x_d),每个参数有物理可行区间 [xᵢ_min, xᵢ_max]。采样策略决定了训练样本在 d 维超立方体中的分布方式。常见策略包括:

  • 全因子/网格采样:每个维度取 m 个水平,共 m^d 个点。d=3、m=10 时已有 1000 个点,维度稍高即不可行,但低维时覆盖最均匀。
  • 随机均匀采样:实现简单,但容易出现局部聚集与空洞,样本效率低。
  • 拉丁超立方采样(LHS):将每个维度等分为 N 个区间,每个区间恰好取一个点,再随机配对。它保证每个维度的一维投影均匀,是中等维度下最常用的空间填充方法。
  • 正交设计(OA):用正交表安排多因素多水平实验,使任意两列的水平组合均衡出现,适合因素筛选与主效应分析。
  • 自适应采样:先用少量样本训练代理模型,再根据预测误差或不确定性,在“最值得补点”的位置追加仿真,迭代提升精度。

二、拉丁超立方与正交设计的实现要点

LHS 的构造可分解为三步:对第 j 维,将 [0,1] 等分为 N 段,在第 k 段内取随机点 u_kj = (k-1+rand)/N;对每一维生成一个 1…N 的随机排列 π_j;令 x_kj = x_j_min + u_{π_j(k),j}·(x_j_max − x_j_min)。这样每个维度每个小区间恰好被命中一次。若希望进一步降低样本间相关性,可采用“最大化最小距离”准则对排列做优化,即 Maximin LHS。

正交设计则依赖正交表 L_N(m^k),其中 N 为实验次数,m 为水平数,k 为因素数。例如 L₉(3⁴) 可安排 4 个三水平因素、共 9 次实验。其特点是任意两因素的水平组合出现次数相同,从而在拟合主效应时各因素互不混淆。正交设计适合参数维度不高、需要快速判断哪些参数对响应影响显著的场景;LHS 更适合需要在整个空间均匀布点、用于训练回归或反演模型的场景。

三、自适应采样:把仿真预算花在刀刃上

自适应采样的基本循环是:初始 LHS 采样 → 训练代理模型(如 Kriging、高斯过程或神经网络)→ 计算候选池中每个点的采集函数 → 选择采集函数最大的点做仿真 → 更新数据集并重训。常用采集函数包括:

  • 预测误差最大点:直接在代理模型误差大的区域补点,适合提升全局精度。
  • 期望改进(EI):兼顾预测均值与不确定性,适合寻找最优参数。
  • 不确定性采样:选预测方差最大的点,适合探索未覆盖区域。

实际使用中常采用“探索+利用”混合策略:前若干轮以不确定性为主,后若干轮以误差或 EI 为主。判断是否停止,可观察验证集 RMSE 是否连续若干轮下降小于阈值,或仿真预算是否耗尽。

仿真数据生成与实验设计流程 参数空间定义 x₁…x_d 上下界 物理可行区间 初始采样策略 拉丁超立方 LHS 正交设计 OA Maximin 优化 批量仿真运行 参数→求解器 并行/队列调度 响应结果回收 数据集管理 X 参数 / Y 响应 版本与元数据 代理模型训练 Kriging / 高斯过程 / 神经网络 输出预测均值与方差 采集函数选点 误差最大 / EI / 方差最大 候选池中选最优点 追加仿真点 停止判断 验证集 RMSE 连续下降 < 阈值 或 仿真预算耗尽 → 输出最终数据集 初始采样 仿真运行 自适应选点 数据管理

四、批量运行与数据管理

采样点确定后,需要把每个参数组合送入仿真求解器。工程上通常把参数写成 CSV 或 JSON 清单,每行一个样本,字段包括样本编号、各参数值、仿真状态、响应值、运行时间、随机种子等。批量运行可采用本地多进程、集群作业调度或容器化并行。关键实践要点:

  • 可复现性:固定随机种子,记录求解器版本、网格规模、边界条件等元数据。
  • 失败重试:对不收敛或超时的样本标记状态,避免污染训练集。
  • 增量写入:每完成一个样本即落盘,防止长任务中断导致数据丢失。
  • 数据校验:检查参数是否越界、响应是否出现 NaN 或异常量级。

下面给出一个批量运行与数据记录的配置示例,字段可根据实际求解器调整:

sample_id, x1, x2, x3, status, y1, y2, runtime_s, seed
S0001, 0.12, 3.40, 55.0, ok, 1.83, 0.42, 12.6, 20240501
S0002, 0.35, 2.10, 70.0, ok, 2.07, 0.38, 13.1, 20240501
S0003, 0.58, 4.80, 40.0, fail, NaN, NaN, 30.0, 20240501
S0004, 0.81, 1.60, 62.0, ok, 1.55, 0.51, 11.9, 20240501

数据管理层面,建议把“原始仿真输出”和“清洗后的训练集”分开存放,并保留每次采样轮次的版本号。这样在反演结果不理想时,可以回溯是采样覆盖不足、仿真异常,还是模型本身的问题。

当参数维度 d ≤ 4 且水平数较少时,正交设计能快速给出主效应结论;当 d 较大或需要训练连续回归模型时,优先使用 LHS 加 Maximin 优化,再配合自适应采样补点。
不要把失败样本直接删除后不记录。失败样本本身携带“该参数区域不可行”的信息,在反演中可用于约束搜索范围,但必须在数据集中以状态字段明确标记,避免被误当作有效响应参与训练。

综合来看,仿真数据生成不是一次性动作,而是一个“设计—运行—评估—补点”的闭环。初始采样保证覆盖,正交设计帮助理解主效应,自适应采样提升样本效率,批量运行与数据管理保证过程可复现、结果可追溯。只有把这几个环节配合好,后续的反演模型才有可靠的数据基础。