摘要:PINA 0.3.2 将 Agent Skills 接入 Problem、Domain、Equation、Condition、Model、Solver 和 Trainer 工作流,帮助用户按正确顺序搭建科学机器学习实验,但物理建模、可辨识性、训练稳定性与工程验证仍需专家负责。
项目:PINA-org/PINA
方向:PINN、神经算子、图网络、时序模型、科学机器学习 Agent
适合读者:工业仿真团队、物理 AI 研发人员、算法工程师、工业软件平台团队
摘要
物理信息神经网络的概念很容易理解:把偏微分方程、边界条件、初始条件和观测数据写进损失函数,让神经网络在训练过程中同时满足数据与物理约束。进入实现阶段后,问题迅速变多:选哪种 Problem 类型,怎样定义空间与时间域,方程残差如何求导,条件怎样绑定到域,模型用普通 MLP、FNO、DeepONet 还是图网络,训练要不要因果加权、残差注意力或自适应权重,最后如何判断模型确实学到了物理规律。
PINA 是一个建立在 PyTorch、PyTorch Lightning 和 PyTorch Geometric 之上的科学机器学习框架,覆盖 PINN、神经算子、数据驱动模型和图时序条件。0.3 系列对内部架构进行了较大调整,采用更可组合的 mixin 结构,并加入自回归、多模型、时间序列与图时间序列等能力。0.3.2 又增加了一组 Agent Skills,引导用户完成问题定义、域、方程、条件、模型、求解器和训练器配置。
这意味着 Agent 开始进入科学计算工具链的“建模配置层”。它可以帮助用户沿着正确顺序搭建代码、减少 API 误用、解释模型和求解器选择,却不能替代物理建模、数值分析和实验验证。理解这条边界,是判断 Agentic SciML 能否进入工业仿真的关键。
一、PINN 的门槛主要来自流程耦合
一个最简单的 PINN 可能只有几十行代码,但工业问题往往同时包含空间、时间、参数、未知物理量、观测数据和多个边界区域。每增加一种条件,训练和验证难度都会上升。
以设备热场为例,模型输入可能是空间坐标 (x, y, z)、时间 t、环境温度、功率和材料参数,输出是温度场。物理约束来自热传导方程,边界条件包含对流、固定温度和热流,初始条件给出启动温度,传感器数据又只覆盖少数位置。若还要反演导热系数或换热系数,问题会变成逆问题。
在这种任务中,代码错误和物理错误常常混在一起。域没有正确离散、变量标签错位、边界条件绑错区域、自动微分维度不对、损失权重失衡,都可能造成训练失败。即使损失下降,也不代表结果满足守恒或具有外推能力。
PINA 试图通过标准抽象把这些因素拆开。用户依次定义 Problem、Domain、Equation、Condition、Model、Solver 和 Trainer。每一层有明确职责,便于替换和测试。
二、PINA 的核心抽象
1. Problem:描述问题属于哪一类
PINA 提供多种问题基类:
BaseProblem:监督或无监督的数据驱动任务;SpatialProblem:只依赖空间坐标的 ODE/PDE;TimeDependentProblem:包含时间维;ParametricProblem:包含变化参数;InverseProblem:包含待识别物理参数。
这些基类可以多重继承。时空 PDE 可以组合 SpatialProblem 和 TimeDependentProblem,带未知参数的热传导可以再加入 InverseProblem。
Problem 定义输入输出变量、空间域、时间域、参数域和条件。它相当于科学机器学习任务的总契约,后续模型的输入输出维度、Solver 可用范围和 Trainer 数据都从这里派生。
2. Domain:管理物理区域与采样
域可以是连续空间、时间区间、参数区间或它们的组合。内部域、边界、初始时刻和观测点通常分别建立命名 Domain。随后通过网格、随机或其他方式离散为训练点。
PINN 对采样非常敏感。均匀采样可能忽略边界层和局部高梯度区域,随机采样又可能导致训练波动。Agent 可以提醒用户完成域定义和离散,却无法仅凭 API 自动确定最优采样策略。工业应用往往需要根据物理特征做自适应采样或残差驱动加密。
3. Equation 与 Condition:把物理和数据绑到具体区域
Equation 使用 PyTorch 自动微分计算网络输出对输入的导数,形成 PDE 或 ODE 残差。Condition 将方程、固定值、观测目标等绑定到某个 Domain 或输入数据。
例如热传导内部域绑定能量方程,外表面绑定对流边界,热源面绑定热流,初始域绑定初始温度,传感器点绑定目标数据。Solver 根据不同 Condition 计算对应损失,再进行聚合。
0.3 版本把条件评估逻辑进一步放回 Condition 自身,降低训练循环与问题逻辑的耦合。这有利于添加新条件类型,也为 Agent 逐步构建任务提供了稳定接口。
4. Model:从 MLP 扩展到神经算子和图模型
PINA 的模型选择覆盖普通前馈网络、残差网络、PirateNet、KAN、DeepONet、MIONet、FNO、图神经算子和多种消息传递模块。用户也可以直接传入 PyTorch nn.Module。
模型选择应由数据几何和任务决定:
- 坐标到场值的点对点映射,可先用 MLP;
- 多尺度或高频解,可加入 Fourier Feature Embedding 或采用更适合的网络;
- 规则网格上的函数到函数映射,适合 FNO;
- 传感器输入到完整场,适合 DeepONet 或 MIONet;
- 不规则网格、点云和网络结构,可考虑图网络或 GNO;
- 数据量有限且希望参数效率,可以实验 KAN,但仍需严格基准对比。
PINA 的 Agent Skill 特别强调先识别输入输出维度、数据结构和任务类型,再做推荐。这比根据方程名称直接选择网络更合理。
5. Solver:决定如何计算和优化损失
PINA 0.3 的 Solver 架构围绕条件类型和模型数量组织。
纯输入—目标条件可使用监督单模型或深度集成 Solver;时序条件使用自回归 Solver;方程条件进入 Physics-Informed Solver。物理信息单模型又可进一步选择:
- 标准 PINN;
- 梯度增强 PINN;
- 因果 PINN;
- 残差注意力 PINN;
- 自适应权重 PINN;
- 竞争式或对抗式 PINN。
不同 Solver 并非简单的“高级版本”。因果加权适合时间演化,残差注意力用于聚焦难点区域,梯度增强会增加计算开销,自适应和竞争式方法还涉及多个优化器。选择错误可能比使用普通 PINN 更差。
6. Trainer:统一训练设备与过程
Trainer 基于 PyTorch Lightning,负责 epoch、设备、多卡、日志和训练控制。PINA 的 Agent 工作流要求在配置 Trainer 前确认所有物理域已经离散,避免训练开始后才发现条件没有数据。
三、Mixin 架构为何重要
0.3 系列将许多 Solver 行为拆成单一职责的 mixin,例如 PhysicsInformed、GradientEnhanced、ResidualBasedAttention、Autoregressive、ManualOptimization 和 ConditionAggregator。
这种设计的意义在于,科学机器学习的训练方法往往是组合式的。研究人员可能希望把因果权重与集成结合,把梯度增强与特殊损失结合,或设计多个模型交替训练。单一巨型 Solver 类很快会出现大量分支。
Mixin 允许从基础的单模型、多模型或集成 Solver 出发,组合必要行为,只覆盖 _compute_condition_loss 或 training_step 等少数方法。对框架开发者而言,这提高了扩展性;对 Agent 而言,组合规则可以被写进 Skill,模型按照条件类型和训练需求选择组件。
不过,Python 多重继承和方法解析顺序也会带来复杂性。自定义 Solver 需要理解 mixin 顺序、自动或手动优化、多个优化器和状态管理。Agent 生成的组合必须经过单元测试、梯度检查和小样例验证。
四、PINA 的 Agent Skills 实际做了什么
0.3.2 增加的 Agentic PINA 定位为科学机器学习工作流助手。仓库提供了一组面向 opencode、Codex 和 Claude 的技能文件,并未承诺自动求解所有 PDE。
入口 pina-workflow 把流程划分为:
1 | 问题定义 |
每一阶段都有独立 Skill 和检查清单。入口 Skill 要求在进入下一阶段前读取对应文件、完成当前对象并确认条件。Problem Skill 根据数据驱动或物理驱动选择基类;Model Skill根据输入输出、网格、图和序列结构推荐架构;Solver Skill 检查 Condition 类型,再选择监督、自回归或物理信息 Solver;Trainer Skill 最后处理训练参数。
这类 Agent 的首要价值是降低“框架使用错误”。它能够防止用户忘记离散域、把时序条件交给不兼容 Solver、猜错输入输出维度,或在已有 Problem 对象时重复定义。
第二个价值是把专家经验写成可更新规则。模型和 Solver 的选择依据被整理为机器可以逐步执行的技能,减少了对文档检索和个人记忆的依赖。
第三个价值是生成可审查代码。相比黑盒自动建模,Skill 引导用户得到标准 Python 对象和脚本,研究人员可以继续修改、测试和版本管理。
它的边界也很清楚。Agent 不知道企业设备的真实物理条件,不会自动判断 PDE 是否缺项,也不能保证边界条件、材料参数和观测数据正确。它帮助用户“按框架正确表达问题”,物理问题本身仍需专家负责。
五、一个工业热场逆问题示例
假设希望根据电机壳体少量温度传感器,识别等效换热系数,并建立启动阶段温度场代理模型。
1. 定义问题
输入为 (x, y, z, t, power),输出为温度 T。问题同时继承空间、时间、参数或逆问题基类。未知参数可以是对流换热系数 h,也可以加入等效导热系数。
2. 定义方程与条件
内部域满足瞬态热传导方程:
1 | ρ c ∂T/∂t - ∇·(k∇T) - q = 0 |
外表面满足对流边界:
1 | -k ∂T/∂n = h(T - T_ambient) |
初始域给出启动温度,传感器位置加入数据条件。若几何过于复杂,可以先在简化域或有限元采样点上实验。
3. 选择模型
坐标到温度的基线可采用带 Fourier 特征的 MLP。若要对多种功率曲线和边界参数学习整个算子,可考虑 DeepONet 或 FNO;若数据来自不规则有限元网格,可实验图神经算子。
4. 选择 Solver
标准 PINN 可作为第一基线。时间演化明显时可以比较 Causal PINN;局部热源附近残差集中时可比较残差注意力;逆参数识别需要同时关注物理残差、传感器误差和参数可辨识性。
5. 验证
训练损失只是第一层。还需要检查:
- 未参与训练的传感器误差;
- 不同功率与环境温度下的外推;
- 能量守恒和边界热流;
- 识别参数的置信区间与多初值稳定性;
- 与有限元或实验数据的对照;
- 网络预测速度和硬件占用。
这个例子说明 Agent 可以自动搭建大量样板代码,但建模取舍和验证标准仍来自热学、数值计算和试验专家。
六、PINA 应怎样与传统 CAE 配合
PINN 和神经算子更适合作为传统求解器的补充。
一种常见路线是先使用高保真 FEA/CFD 生成不同参数和工况下的数据,再用 PINA 训练代理模型。物理残差用于约束稀疏区域,观测数据用于校准模型偏差。部署时代理模型快速给出场预测,超出训练分布或物理残差升高时回退到传统求解器。
第二条路线是逆问题。传统仿真提供前向模型,PINA 将少量传感器和物理方程结合,识别边界参数、材料参数或隐藏源项。识别结果再回写 CAE 进行确认。
第三条路线是数字孪生。在线传感器更新模型状态,PINA 提供快速预测,设备运维智能体读取预测、残差和不确定性,决定是否触发高保真仿真或工单。这里可以与 AssetOpsBench 式的工具和评测框架结合。
在任何路线中,必须保存数据来源、求解器版本、网格、参数空间、训练配置、随机种子、模型权重和验证报告。科学机器学习若缺少这些工件,很难进入工程审计。
七、PINN 的已知困难不会因 Agent 消失
1. 多尺度、刚性和高频问题难训练
普通 MLP 存在频谱偏置,容易先学习低频部分。边界层、冲击、湍流和刚性系统需要更合适的网络、采样、归一化和优化策略。
2. 多项损失难平衡
PDE、边界、初值和数据损失的量纲与梯度大小不同。固定权重可能让某一项主导,自适应权重也可能引入不稳定。需要监控每项残差、梯度和物理量。
3. 逆问题存在不可辨识性
有限传感器可能不足以同时识别多个参数。模型可以得到较低损失,却对应多组等价参数。需要敏感性分析、先验、实验设计和不确定性估计。
4. 复杂几何和边界处理仍困难
工业零件的多材料、接触、移动边界和复杂拓扑很难只靠坐标采样表达。将有限元网格、图网络、域分解和神经算子结合,往往比直接套用标准 PINN 更现实。
5. 物理残差低不代表工程可靠
方程可能不完整,参数可能错误,边界条件可能与现场不符。模型满足了输入的物理,却不一定符合真实设备。必须保留实验或高保真仿真验证。
Agent 可以减少 API 配置错误,却可能把错误物理表达得更加完整。因此,Agentic SciML 系统应把方程、单位、边界、参数和验证项都列为显式工件,并设置专家审查。
八、建议的本地试验路线
对希望快速评估 PINA 的团队,可以从一维或二维热传导、Burgers 方程或悬臂梁代理模型开始。
第一阶段只用普通 FeedForward 与标准 Physics-Informed Solver,建立可重复基线。固定随机种子,保存采样点、损失曲线和误差图。
第二阶段逐项比较 Fourier 特征、因果 Solver、残差注意力或自适应权重,每次只改变一个因素。观察精度、训练时间和稳定性,而不是只看最好一次结果。
第三阶段加入少量噪声传感器数据,测试数据—物理混合训练与逆参数识别。用多初值和不同噪声水平评估参数稳定性。
第四阶段接入企业真实小任务,例如规则几何的温度场、梁结构位移场或设备时序预测。传统求解器继续作为基准和回退路径。
第五阶段再引入 Agent Skills,比较人工配置与 Agent 配置的耗时、错误率和可复现性。评测目标应是“是否正确搭建并验证实验”,不能只统计代码生成速度。
九、结语
PINA 0.3.2 把 Agent Skills 接入科学机器学习工作流,是一个很有代表性的变化。科学计算框架开始把 Problem、Domain、Equation、Condition、Model、Solver 和 Trainer 的使用经验写成可执行流程,用户可以通过对话完成标准化配置。
这会降低入门门槛,也有利于企业沉淀物理建模模板。但科学机器学习的核心难题仍在:物理是否正确、数据是否可信、问题是否可辨识、训练是否稳定、结果是否经过独立验证。Agent 适合做流程导航、代码搭建、实验编排和证据整理,工程结论仍应由模型、数值、试验和领域专家共同确认。
对工业智能团队而言,PINA 最值得尝试的定位是“可编程物理 AI 实验底座”。结合传统 CAE、高质量数据集、传感器和 Agent 评测,它可以成为设计仿真软件、数字孪生和工业智能体中的一层新能力。