2. 代理模型建模任务定义
代理模型(Surrogate Model)的本质,是用一个计算代价极低的近似函数 ŷ = f̂(x) 去逼近高保真仿真或实验所定义的映射 y = f(x)。在动手训练任何模型之前,最关键的一步不是选算法,而是把“建模任务”本身定义清楚:输入是什么、输出是什么、它们各自在什么范围内取值、允许采多少样本、以及最终要同时满足怎样的精度与效率要求。这一步定义得含糊,后面无论用高斯过程、径向基函数还是神经网络,都会陷入“模型能跑但不可用”的困境。
一、输入变量设计:从物理量到可采样的设计变量
输入变量 x 是代理模型的“自变量”,它必须同时满足三个条件:对输出有实质影响、在仿真或实验中可被独立设定、且取值有明确物理意义。以翼型气动代理模型为例,输入通常取几何参数与前流条件,如弯度 m、弯度位置 p、厚度 t、攻角 α、马赫数 Ma。而像“网格分辨率”这类数值设置,虽然会影响结果,但它属于仿真配置而非物理设计变量,一般不应放进输入向量,否则代理模型学到的将是“数值误差的映射”而非物理规律。
输入设计还要区分连续变量与离散/类别变量。连续变量(攻角、厚度)可直接归一化后送入模型;离散变量(翼型族编号、材料牌号)需要独热编码或嵌入表示。若输入维度较高(如 20 维以上),应先做敏感性分析(Sobol 指数、Morris 筛选)剔除弱影响变量,否则样本需求会随维度指数增长,这就是所谓的“维数灾难”。
二、输出变量设计:单响应与多响应
输出 y 是我们要快速预测的目标量。工程中常见两类任务:单响应回归(如只预测升力系数 Cl)和多响应回归(同时预测 Cl、阻力系数 Cd、俯仰力矩 Cm)。多响应可以训练多个独立模型,也可以训练一个多输出网络共享特征提取层。需要注意输出量纲差异:Cl 约在 0~1.5,Cm 可能在 -0.1~0.05,若不做标准化,损失函数会被大量纲输出主导。常用做法是对每个输出分别做 z-score 标准化:y' = (y - μ)/σ,预测后再反变换回物理量。
此外要明确输出是标量场还是标量。若输出是沿翼面的压力分布(上百个点),则属于场预测问题,需要降维(POD/自编码器)后再建模,不能简单当作多输出回归处理。
三、参数空间与响应空间
参数空间(设计空间)是输入变量张成的空间,通常用一个超矩形定义上下界,例如 m∈[0,0.06]、p∈[0.2,0.6]、t∈[0.08,0.16]、α∈[-4°,12°]、Ma∈[0.3,0.75]。响应空间则是输出所在的取值空间,它由参数空间经真实映射 f 映射而来。理解两者关系非常重要:参数空间是我们能主动布点的区域,响应空间是我们最终关心的区域。代理模型的误差应在响应空间中有意义的范围内评估,而不是只看参数空间的均匀性。
参数空间还需注意可行域约束。例如厚度 t 与弯度 m 不能任意组合,否则几何自交;攻角过大可能导致仿真不收敛。这些约束会切掉参数空间的一部分,采样时必须只在可行域内进行,否则会产生大量无效样本。
四、采样约束:决定代理模型上限的关键
采样约束来自两方面:计算预算和可行域。高保真 CFD 单次计算可能耗时数小时,因此样本量往往被限制在几十到几百。此时采样策略比模型选择更重要。常用方法包括:
- 拉丁超立方采样(LHS):保证每个维度上样本均匀分布,适合中低维参数空间;
- 正交采样:适合因素水平较少的实验设计;
- 自适应采样:先粗采样训练初始模型,再在预测误差大或梯度大的区域加密,如基于高斯过程方差的主动学习;
- 边界与极值点补充:工程中往往关心设计边界附近的性能,可额外加入边界样本。
需要强调的是,采样必须在可行域内进行。若忽略几何约束,可能生成大量无法仿真的样本,浪费预算。一个实用做法是先用低精度模型或几何检查快速筛除不可行点,再对可行点做高保真计算。
五、精度与效率权衡:定义可接受的指标
代理模型的“好”不是绝对的,而是相对于任务需求而言。定义任务时应明确两个指标:精度指标和效率指标。精度常用决定系数 R²、均方根误差 RMSE、最大相对误差 MRE;效率则看单次预测时间、模型体积、是否支持批量预测。例如在气动优化中,若代理模型单次预测需 10 ms,而 CFD 需 3 小时,加速比约 10⁶,即使 R²=0.95 也足以支撑数千次设计迭代。
权衡的典型策略是:先用少量样本训练一个快速但粗糙的模型,用于筛选设计空间;再对候选区域加密采样,训练高精度局部代理模型。这种“粗筛 + 精修”的两级策略,能在有限预算下同时兼顾全局探索与局部精度。
- 输入变量是否全部可独立设定?是否剔除了数值配置类变量?
- 输出是否已标准化?多输出量纲是否统一?
- 参数空间上下界是否来自真实工程范围?可行域约束是否明确?
- 采样预算 N 是多少?采用 LHS 还是自适应?
- 精度目标:R² ≥ ?,RMSE ≤ ?;效率目标:单次预测 ≤ ? ms。
- 验证集如何划分?是否留出独立测试点?
把上述要素写成一份简短的“建模任务卡”,再进入模型选型与训练,能显著减少返工。代理模型的上限由采样质量决定,而它的可用性由精度与效率的平衡决定——这两点,都必须在任务定义阶段就明确下来。