在CFD这个方向待久了,最近两年听到最多的词就是PINN。2025年物理信息神经网络相关的论文数量还在往上走,但和头两年那种啥都要用PINN试一把的风气相比,今年的工作明显实在了很多。我粗略翻了一遍今年公开的论文、开源库和几个会议的workshop,发现大家已经不满足于在Lid-driven cavity或Burgers方程上刷精度,而是开始认真思考和传统CFD求解器怎么协作、怎么给结果做可靠性评估、怎么让训练过程不再靠玄学调参。这篇盘点的主旨很直接:把2025年我看到的有价值的PINN创新点按架构、训练、CFD应用和不确定性量化几个维度梳理一遍,顺便把我踩过的坑和觉得真正能落地的点子一起放出来,给准备入坑或已经在坑里的朋友一个参考。
1. 2025年的PINN:从“炫酷玩具”到“可插拔求解器”的转折年
1.1 三年老问题还得承认
PINN的优点很容易说出来:无网格、自动微分、不用画网格就能拟合PDE,处理反问题、数据同化和稀疏数据场景时尤其有优势。但真想把PINN当作传统求解器的替代品,你得先面对几个绕不开的老问题。第一是收敛慢,一万步Adam跑下去,往往还在和边界条件纠缠;第二是精度虚高,训练集上的L2误差看着很漂亮,换一组参数或者换一个初始条件立刻就崩;第三是超参数特别敏感,一个损失权重改0.1个量级,结果可能从收敛变成发散。
这些痛点从2021年PINN火起来开始就被反复讨论,但相当长一段时间里,多数论文依然选择在标准算例上做“精度锦标赛”,解决的都是别人已经解决过的问题。到了2025年,风向明显变了,大家开始接受一个很务实的判断:PINN不是来替代现有数值方法的,而是来补位的。这个心态一转,整个研究重心就不一样了,不再试图用一个网络把全场算出来,而是思考怎么让PINN作为一个可调用的模块,介入到已有CFD流程里。
1.2 混合范式:把PINN塞进传统求解器流程
今年新工作里,我关注最多的是“混合范式”。不是拿PINN把整个流动区域解出来,而是把PINN塞进传统CFD流程的某个环节。比如帮有限体积法提供更精确的初场,给边界层区域做一个局部加密修正,或者在湍流模型里用PINN替代某个经验系数。这样做的好处非常直接:不需要面对传统求解器已经处理得很好的强非线性方程全局收敛问题,只需要在局部小规模区域里发挥PINN的逼近能力,训练时间大幅下降,精度验收也更容易过。
另一个明显的趋势是“求解器友好设计”。以前的PINN喜欢在单位立方体、完全归一化坐标里做测试,一到复杂几何就抓瞎。2025年的不少论文开始把几何处理、边界条件强制满足、不同物理场之间的耦合关系考虑进来。比如用符号距离函数(SDF)把复杂几何边界编码进网络,或者用分区训练处理多材料界面。这让PINN不再只是实验室里的数学玩具,而是可以被包装成模块,挂到开源CFD框架里跑“真实尺寸”问题的组件。
1.3 转折年到底转在哪里
如果让我用一句话总结这个转折,那就是:研究目标从“提高PINN在标准方程上的精度”变成了“提高PINN在工业流程中的可用性”。精度当然还是追求,但不再是无脑追求到小数点后八位,而是要求稳定、可复现、能给出置信区间。这种变化反映在论文里,就是评估指标不再只有误差曲线,还有训练时间、内存占用、对初始猜想的鲁棒性这些更工程向的指标。
我自己的体感也很明显。2023年我做混合CFD/PINN时,光是打通PyTorch和OpenFOAM之间的数据通道就折腾了两周,也没找到太多参考。到了2025年,已经有人把这种耦合封装成了标准接口,几百行代码就能把粗网格解拉进PINN做修正,再把修正后的场送回CFD做下一步迭代。这种基础设施层面的积累,才是比任何单个算法突破都值得关注的变化。所以2025年真正让我兴奋的,不是某个特定网络结构,而是整个生态开始从“论文演示”走向“工程集成”。
2. 架构层创新盘点:KAN、隐式神经表示与多尺度编码的混战
2.1 KAN-PINN:把可训练激活函数做到“根”上
KAN全称Kolmogorov-Arnold Network,是2025年PINN圈里出现频率最高的关键词之一。它和MLP最重要的区别在于:MLP把激活函数固定在神经元上,只训练线性权重;KAN把激活函数本身做成可学习的样条函数,这让网络在逼近复杂函数时,可以用更少的参数拿到相近的精度。对PINN来说,更小的参数量意味着更快的训练,而样条形激活函数在求导时也更容易获得光滑的高阶导数,这对PDE损失里的二阶项格外友好。
我实际复现过一个KAN-PINN解二维稳态热传导的算例,发现它对学习率的敏感度比MLP-PINN低不少,但缺点也很明显:样条函数的控制点数量一多,参数量反而会爆炸,而且KAN在GPU上的并行效率目前还是不如常规卷积。所以2025年很多工作在做“KAN和MLP的混合层”,不是全面替换,而是把KAN用在最需要光滑性导数的那几个输入变量上,其余维度继续用MLP压缩。这个思路比较务实,至少我在做流固耦合问题时,混合层的表现确实比纯KAN稳定。
2.2 隐式神经表示与位置编码:坐标不再是裸奔的(x,y,t)
另一个架构层的进展是把图形学里的隐式神经表示(INR)和位置编码搬到PINN里来。坐标输入直接喂进MLP往往会出现频谱偏置,低频分量学得快、高频分量学不动。2025年比较成熟的做法是:先用傅里叶特征或小波基对坐标做编码,再进入网络,这样高频涡结构、激波间断这类小尺度特征能更快被捕捉。你可以把位置编码理解成给坐标做“预强调”:相当于告诉网络这里可能有高频成分,你需要分配更多容量去学。
哈希编码在多分辨率数据上更有效。用一个可学习的哈希表把不同level分辨率的特征拼在一起,相当于让网络在低分辨率下先看到大尺度流场、高分辨率下再补充细节。对CFD用户来说,这意味着可以用同一套网络兼顾粗网格和细网格的数据,训练时不需要担心输入尺度的剧烈变化。不过哈希编码的坏处是内存占用随分辨率线性涨,而且黑盒程度更高,想靠它做物理可解释性分析比较困难。所以2025年实际落地时,大家往往是在傅里叶特征和哈希编码之间做个折中:先用傅里叶特征做粗调,再加一层可学习的张量分解做细调。
2.3 多尺度架构:一个网络拆成多个“专科医生”
多尺度架构的思想也很直接:不同物理过程的时间和空间尺度差异很大,一个单网络很难同时学好吃透。2025年比较典型的做法是给网络划分“尺度的专家”,比如低频支路负责大尺度平均流,高频支路专门学习边界层和涡量脉动,最后通过一个门控网络把两者加权融合。这有点像把一支全科医生团队拆成心内科、神经科和骨科,每个方向各司其职,联合会诊。
我个人的判断是,多尺度架构在湍流问题和多相流问题里潜力很大,因为这类问题的特征尺度跨度往往超过两个数量级。但在内存和时间成本上,多尺度架构并不便宜。如果只是解一个稳态的层流问题,单网络加位置编码就够了,没必要为了创新而创新。下面给个简单的选型速度表,方便新手快速对号入座。
| 问题特征 | 推荐架构方向 | 不推荐的方向 |
|---|---|---|
| 稳态、光滑解、几何简单 | MLP/FFN + 傅里叶特征 | 高度复杂多尺度结构 |
| 局部高梯度或弱间断 | KAN混合层 + 残差注意力 | 单层简单MLP |
| 宽谱湍流、多物理场 | 多尺度分支 + 门控融合 | 哈希编码硬拼 |
| 几何复杂、装配体 | SDF几何编码 + INR | 裸坐标输入 |
2.4 架构创新的真正驱动因素
2025年架构类创新有一个共同底色:大家不再把网络当成万能逼近器,而是开始研究“先验怎么注入”。KAN注入的是光滑性先验,位置编码注入的是频谱先验,多尺度架构注入的是尺度分离先验。一个网络能不能在CFD场景里跑出好结果,很大程度上取决于你注入的先验和问题本身的匹配程度。这也解释了为什么同一个创新点在不同方程上的效果天差地别——如果你解的是强非线性、强间断的激波问题,却在输入坐标上做光滑性很强的样条激活,结果不理想是大概率事件。
3. 训练策略的隐性进步:损失函数加权、因果训练与优化器配平
3.1 损失函数加权不再是玄学
PINN的损失函数通常由PDE残差、边界条件、初始条件、数据项四部分加权组成。以前大家喜欢手动调权重,或者用简单的梯度归一化。2025年的主流是让权重在训练中自适应当前各损失项的梯度量级和NTK特征值。这个思路其实2021年就有雏形,但今年在工程实现上更成熟了:权重更新可以和反向传播并到同一个循环里,几乎不带来额外耗时。
我自己的经验是,NTK引导的权重尤其适合“多物理场耦合”问题,比如流固耦合或电热耦合;而在单一PDE问题上,梯度统计类的加权方法更省心。关键是要注意:自适应权重改变了原有损失景观,训练曲线看起来“变好了”,实际可能是权重把最难的损失压下去了。所以每个月都会冒出新的自适应损失方案,但很少能成为通用标配。真正稳定好用的,还是“先花几百步统计梯度量级,定好基准权重,再开启自适应”这种带预热的做法。
3.2 因果训练:时间顺序不是装饰,是本能
对于瞬态PDE,PINN的一个经典失效方式是只学会了最终稳态,中间过程完全不对。这其实是因为损失函数把所有时间点的残差都平等地加在一起,网络自然优先拟合最容易的那一段。因果训练(causal training)的思路是给时间维度加一个因果权重,必须等前面的时间片学好了,后面的时间片才进入损失项;训练过程像是把时间看作一个需要逐步解锁的游戏关卡。
2025年这个技巧几乎成了瞬态PINN的默认配置。我在做一维波动方程和二维圆柱绕流的瞬态模拟时都试过,加了因果权重之后,早期振荡明显减少。但因果训练不是免费午餐:它需要更大的batch来覆盖不同的时间段,否则会出现“前面还没学好、后面完全没数据”的问题。一个经验做法是把时间窗口设成总时间步数的前10%到20%,每隔几百步扩展一次窗口,等到窗口覆盖完整段时间后再切换到常规训练。
3.3 优化器和采样策略的配合
最后聊一个容易被忽视但很影响结果的部分:优化器和采样策略。PINN的损失函数非凸、多尺度且地形复杂,现在比较公认的是Adam先干几千步把损失拉低,再用L-BFGS精修。但L-BFGS对损失曲面的曲率估计需要稳定的梯度,如果用了mini-batch做随机采样,L-BFGS反而容易翻车。2025年越来越多的代码默认采用“自适应采样+完整batch的L-BFGS”组合:先用残差自适应采样把配点往误差大的区域集中,然后切换到完整批次的L-BFGS做精细收敛。
这里有一个很容易被忽略的细节:L-BFGS在PINN里的“内存”是很宝贵的,如果你把几百万个配点一次性塞进去,它会直接拒绝计算。所以实际操作时要先做一遍K-D tree聚类或稀疏化,把配点数量降到十万量级再去跑L-BFGS。我见过不少人在这一步卡住,反复报错说内存爆炸,其实不是算法错了,而是配点规模没有适配二阶优化器的口味。
4. PINN+CFD的进击:混合求解器如何撬动工业流体仿真
4.1 为什么纯PINN替代不了CFD
直观地说,纯PINN在强对流、激波、湍流这类问题上,要做到和OpenFOAM、ANSYS Fluent同样精度的解,成本还高得离谱。原因在于PINN的损失是基于配点采样估计的,在高维或强非线性情况下,采样点不足、模型容量有限、优化又容易陷入局部解。CFD用了数十年积累的离散格式、网格自适应、湍流模型,这些经验不是简单塞到神经网络里就能超过的。所以2025年关于“PINN vs CFD”的讨论已经不再是对立,而是各司其职。
CFD强在格式稳定性,PINN强在函数逼近和数据融合。混合求解器正是把两者结合起来。最直观的理解是:把CFD当成一个很靠谱但很老派的工程师,把PINN当成一个学习能力很强但没见过世面的实习生。你让实习生负责把老师傅没空细扣的局部问题钻研清楚,而不是直接让实习生接管整个项目,效果自然好得多。
4.2 混合求解器的三种典型范式
第一种叫“粗网格求解+PINN局部加密”。先用传统CFD在粗网格上快速算一遍,PINN只负责预测粗网格解和真实高分辨率解之间的残差,然后再把修正加回去。第二种叫“场重构与代理模型”,用一批CFD计算结果训练PINN超分辨率重构,相当于给CFD结果做了一个可微的降阶模型。第三种是“物理约束数据驱动”:用PINN把实验测量数据、传感器数据和CFD计算结果揉在一起,得到满足PDE约束、又能匹配实测的重构场。
这三种范式是2025年工业场景里最被看好的。前两种对工程用户很友好,因为可以直接挂在现有流程后面;第三种适合实验数据稀缺但物理规律明确的场景,比如血液流动、电池热管理。我在做工业项目时常用第二种,因为客户手里往往已经有大量历史CFD数据,只是缺少一个快速预测新工况的工具。用这批数据训一个带物理约束的PINN代理模型,比重新跑一遍三维算例快两三个数量级。
4.3 湍流建模里的PINN机会
PINN和CFD结合得最“甜”的区域是湍流建模。雷诺平均N-S方程(RANS)和大涡模拟(LES)都需要封闭模型,而这些模型很多是基于简单涡粘假设,对复杂分离流、旋转流并不准。2025年有不少论文从DNS或高保真LES数据出发,用PINN学习雷诺应力张量与平均流场之间的映射关系,同时用物理约束保证张量的对称性、正定性和可实现性。这个思路非常务实:你不需要用PINN去解整个湍流场,只需要让PINN替代一个经验系数,就能提升RANS在特定工况下的精度。
我这边做翼型绕流时也试过类似方案,用PINN学到一个横流项修正,把升力系数的预测误差从12%拉低到5%左右。代价是准备训练数据和做特征工程比较费劲,但比单纯增加网格密度划算。如果你在工业里遇到“同一套湍流模型在不同工况下忽准忽不准”的问题,2025年的PINN修正方案绝对值得一试。
4.4 实测感受与坑
混合求解器也有自己的坑。最典型的是“数据泄漏”:如果训练数据来自某一种CFD网格,换成新网格时,PINN输出的修正项可能完全失效。还有一个常见问题是“耦合不收敛”:PINN和传统CFD迭代耦合时,反馈项的雅可比矩阵很难精确获得,容易导致外循环振荡。解决办法一般是加松弛因子,或者让PINN输出的修正项只更新到某一步阈值后就不再变化,让CFD后续用内部迭代慢慢把解拉稳。我在第一次做这类耦合时也被“振荡”折腾了很久,最后发现只是缺了一个简单的松弛系数,调到0.6左右就稳定了。
5. 不确定性量化与主动学习:工业信任感的真正来源
5.1 给PINN装上“不确定度计”
PINN是确定性模型,一个权重矩阵对应一个输出。但在工程决策里,光知道“预测的流速是多少”不够,还得知道“这个预测有多可信”。2025年几乎所有面向工业的PINN应用都会配套不确定性量化(UQ),因为主管和审查方需要风险指标,而不是一个干巴巴的数值。这就像你问一个工程师“这个阀门会不会坏”,对方只回你“会”和“不会”都不够,还得告诉你概率是多少、置信区间是多大。
最常用的做法仍然是Bayes-PINN的后验采样版本,但2025年更多是轻量级的Deep Ensemble,也就是用不同随机种子训练10个以上的PINN,用这组模型预测的方差来近似不确定性。好处是实现简单,代价是训练成本涨10倍。另一个方向是把不确定性拆成“模型不确定性”和“数据噪声不确定性”,前者反映网络没有见过的输入区域,后者反映观测误差,两者合起来才是总不确定度。这个拆分有一个特别实用的地方:当测试点落在训练数据分布之外时,模型不确定性会迅速增大,你就能提前知道“这个预测不可信”。
5.2 主动学习:误差往哪儿钻,就往哪儿补点
为了降低训练成本,主动学习策略也很重要。常规做法是训练一段时间后,计算当前配点的PDE残差值,把残差大的区域增加采样点,然后重新训练。2025年的改进是把这个过程放进单个训练epoch内,不需要每次都重新切网格,而是用残差的梯度流做“在线重采样”。我试过把这种策略用在近壁面区域的采样上,同样是5000步训练,均匀采样和残差自适应采样最后误差能差出近一个量级。
这里的关键是不要盲目在“残差最大的点”周围加采样点,因为残差大也可能是因为权重还没有收敛到那个区域。更稳的做法是结合不确定性量化:同时看残差大小和模型预测方差,两个指标都高的地方才是值得加点的位置。单纯追着残差跑,很容易在某个噪声点上重复堆样本,浪费算力。
5.3 从“可信”到“可解释”
另一个和工业信任强相关的方向是PINN可解释性。虽然说神经网络是黑盒,但PINN有一个天然优势:它的物理残差本身就是一种解释载体。2025年的论文开始用残差场、各损失项随训练进度的变化、NTK矩阵的低秩结构等指标来回答“这个PINN在哪里学懂了、哪里还没学会”。这些信息可以直接反馈给CFD工程师,告诉他们应该在哪块区域加密网格或增加实验测点。
我自己的做法比较简单粗暴:训练结束后,把每个配点的PDE残差值映射成云图,覆盖在流场云图上。你会发现残差最大的地方往往就是物理最复杂的区域,比如剪切层、分离点、激波位置。这个图不用解释太多,领导一看就明白网络在哪些地方还不自信,也更容易接受后续的补充计算方案。
6. 我的选型建议与避坑清单:到底哪些“创新点”值得跟进
6.1 按问题类型匹配创新点
结合前面的讨论,我整理了一个选型表,不一定对所有场景适用,但对大多数CFD和PINN交叉的场景有参考价值。
| 你遇到的问题 | 值得跟进的创新点 | 不建议优先尝试 |
|---|---|---|
| 稳态低雷诺数流动 | 傅里叶特征+MLP、自适应损失权重 | KAN多尺度大而全架构 |
| 强瞬态/波动问题 | 因果训练、时间分段训练 | 直接上混合求解器 |
| 稀疏实验数据+物理方程 | 物理约束数据驱动、UQ | 纯数据神经网络拟合 |
| 高雷诺数湍流建模 | PINN替代湍流模型系数、混合修正 | 用PINN直接解全流场 |
| 工业快速迭代代理模型 | Deep Ensemble、在线重采样 | 哈希编码+可解释性分析 |
这张表的核心逻辑是:先看你的瓶颈是“精度不够”还是“数据不够”或是“响应太慢”,再决定要不要上复杂创新点。我在很多项目里发现,真正制约PINN效果的不是缺一个惊艳的网络结构,而是数据配比、归一化处理、损失权重初始化这些“脏活”没做好。把这些基础步骤捋顺了,哪怕用最简单的MLP也能拿到比花里胡哨架构更好的结果。
6.2 判断创新点价值的三个标准
复现论文创新点时,一定要先确认“创新点”是真正帮助了结果,还是只是换了更贵的训练资源。我的判断标准很简单,现在也推荐给同行用。第一,把创新点去掉,用最基础的Adam+MLP跑同一个算例,如果差距在10%以内,那这个创新点大概率是锦上添花,不值得现在跟;如果差距在一个数量级以上,那就值得继续追。第二,看作者有没有把代码里面的随机种子、初始化方案、学习率调度完整放出来,如果有,复现成本会低很多;如果只给个大概,那大概率是代码里藏了关键经验,追起来会很费劲。第三,看创新点能不能在多个方程和算例上泛化,如果只是在某个二维测试函数上有效,到三维圆柱绕流就失效,那它的价值也要打个问号。
6.3 2025年值得持续关注的方向
从趋势上看,我会继续关注三个方向。第一,PINN与生成式模型结合,比如扩散模型负责生成流场的初始猜测,再交给PINN做物理精修,这有望把混合求解器的收敛速度再提一个档次。第二,基于大语言模型自动生成损失函数、配点策略甚至网络结构,现在已经有早期工作出现,虽然还不太实用,但一旦跑通,对CFD流程的影响会是结构性的。第三,PINN在数字孪生和实时控制场景里的部署,比如基于PINN的快速状态估计器能否跑到实时频率,这决定了它能不能进到产线控制回路里,而不只是做离线分析。
最后再分享一个我今年踩过的最深的坑:不要一开始就在完整三维翼型上调试PINN创新点。先把创新点在二维Burgers方程或者平板边界层上跑通,确认训练稳定性和精度变化趋势,再一步步升级到工程问题。这个流程看着慢,实际上比反复在三维算例上撞墙快得多。希望这篇盘点能给你省点时间。