在一次工业数智化直播中,听众朋友留言想了解机理模型与统计模型的结合方法,鉴于这个话题与直播主题差别很大,当时没有详细展开,故写此文兼做探讨。
机理模型的范畴:定性与定量机理
很多朋友想了解的是深度学习与微分代数方程组(包括常微分方程、偏微分方程,或非线性方程组等)的结合方式,这个话题将在下一节讨论。本节对概念范畴做简要辨析,避免过度追求技术方法,以偏概全。
从字面上讲,机理模型就是描述过程机制或原理的模型。不仅仅包括定量的数学模型,也应该包括定性的描述变量间的驱动关系模型。定性机理模型和专家规则通常都是用非数学语言刻画的,但定性机理模型描述是变量间的驱动关系,而很多专家规则描述是研判逻辑或处理逻辑。把通过数值计算获得宏观结果的仿真模型也归为机理模型。把用微分代数方程组描述的机理模型暂称为“数学模型”。因此,本文中的机理模型分为三类,数学模型、仿真模型和定性机理模型。
机理是分层次的。以锅炉管道结垢为例,从微观层面上看[1],水中的钙镁等盐类受热、分解、蒸发浓缩等变化,在受热面上生成一层固态附着物,如图a所示,这样的机理对与降低结垢工艺与药剂的研发有帮助;对于结垢成份及其特性的机理,如图b所示,对于结垢厚度检测装置或除垢工艺有帮助;结垢后锅炉状态变化的定性机理,对于开发锅炉状态维修模型有帮助。从上面的讨论可以看出,机理不一定是因果,或者说因果也是分层次的。应该从待解问题的工程可解性角度选择合适的颗粒度。
统计模型与数学模型的4种融合范式
(1)分析模型为机理模型做模型校准,提供参数的点估计或分布估计,如Kalman滤波。
(2)分析模型为机理模型做后期处理或补充。例如,利用统计方法对WRF(Weather
Research and Forecasting
Model)天气预报模型的结果进行修正;或者利用统计方法综合多个机理模型,提高预测的稳定性。机理模型由于未建模因素、参数不精准造成精度低。机理模型的系统辨析需要有效激励输入,但实际的工业系统为了安全和寿命,会限制激励信号的形式。这造成了机理模型与物理过程存在一定偏差。分析模型虽然是数据自适应,但在参数维度高的时候对训练数据集要求过高,泛化能力差。通常做法是分析模型去拟合机理模型的残差[2]。
(3)机理模型的部分结果作为分析模型的特征。例如,在风机结冰预测中,计算出风机的理论功率、理论转速等并将其作为统计分析模型的重要特征。更进一步,就是把机理模型作为深度学习模型结构的一部分。如果使用传统的深度学习,即使训练数据满足所有的物理规律,训练好的深度网络仍然可能违反物理规律限定,例如惯性矩阵非正定,外插无约束。深度拉格朗日网络(Deep
Lagrangian Networks,
DeLaN)[3]和哈密尔顿神经网络(Hamiltonian Neural
Networks,
HNNs)将力学系统作为先验知识成为深度网络模型的一部分,保证了关键物理量的合法性,比传统的前馈神经网络训练速度更快,预测结果更物理,对新的径迹预测也更健壮。
(4)分析模型与机理模型做集成。例如,在空气质量预测中,WRF-CHEM、CMAQ
(The Community Multiscale Air Quality Modeling
System)等机理模型可及时捕获空气质量的全局动态演化过程,而统计模型可对空气质量的局部稳态周期模式有较高精度的刻画。模型集成可有效融合两类模型各自的优势。
除了严格意义上的融合,对于计算量大的机理模型,分析模型还可以替代机理模型。例如,物理神经网络(Physics-informed
Neural
Networks,
PINN)[4]用来替代复杂的有限元计算,在训练时,将微分方程或偏微分方程作为深度学习模型损失函数的一部分。物理神经网络已经被广泛用于解决方程求解、参数反演、模型发现、控制与优化等问题。对于基于复杂的动力学仿真的优化,强化学习可以用来学习最佳控制策略,强化学习也可以用来求解大规模组合优化问题[5]。
统计模型与仿真模型的2种融合模式
仿真模型通常用来做模拟分析(What-if
Analysis),用来做设计验证与预案设计。按照时空尺度,仿真模型可以分为如下4种类型:①系统层级的仿真,包括机械、电子、电力、液压、热力学、控制系统等仿真,覆盖了元件级、组件级、部件级、套件级以及机组级等不同工业系统级别。②连续介质理论的CAE(Computer
Aided Engineering)模拟,包括有限元FEM(Finite Element
Method)、计算流体力学CFD(Computational Fluid
Dynamics)、电磁仿真以及多物理场耦合仿真等。③非连续介质理论或者介观尺度的模拟方法,涉及微观组织的演变以及缺陷、断裂和损伤等各类问题。④离散事件仿真,主要仿真活动过程等离散事件下的系统性能。第③类因为涉及微观尺度,通常缺乏大量测量数据的支撑,所以目前工业大数据和第①、②、④类仿真结合比较多。
如果仿真模型结果和实际运行状态相比有一定的可信度,仿真模型将有可能用来指导工业系统的运行控制与运维管理。这时候,仿真模型与统计模型有两种典型融合方式。
现实世界中数据的场景覆盖度有限,故障样本数量更有限,这对统计学习模型训练通常是不够的。这时候可以发挥仿真模型场景覆盖全面的优势,模拟在工业现场出现不了或极少出现的场景(如重大故障、极端工况)。仿真模型为统计模型生成训练数据,统计模型基于这些数据进行训练与验证,可以验证统计模型的技术可行性与性能。也可以用统计仿真去训练一个基础模型,根据实际现场数据做迁移学习。反过来,用强化学习,根据统计学习的结果调整仿真参数,让仿真更有针对性。很多动力学问题的逆问题(根据当前状态和目标状态,求解最佳控制策略)比较复杂,很多时候不存在唯一解,直接求解难度大。基于仿真实验,利用强化学习等策略去学习最佳控制策略。
这里需要注意,统计模型的输入数据要素要保持和工业现场相同。仿真模型输出大量状态变量,但现实世界可测量只是其中的一部分。统计模型学习的也不是整个系统机理生成式模型,而是解决某个具体问题(例如故障诊断)的模型。
很多仿真模型计算时间长,不能支撑在线生产决策或控制。可以基于离线仿真结果库,利用统计学习的回归分析算法(神经网络、随机森林等),训练得到一个回归预测模型。在线时利用回归模型进行预测计算,快速得到一个相对可信的估算值。深度学习在这方面也有不少研究,前面介绍的PINN、DeLaN、HNNs等模型明确将机理或守恒关系构建为深度学习模型的损失函数或模型结构,深度学习模型训练和仿真是独立的两个过程,需要大量额外存储。还有一种方式,就是深度学习模型训练伴随仿真计算,不需要额外存储中间结果数据,
ModelingToolkit.jl、Modelica等系统仿真语言通常要求系统模型为微分代数方程(Differential-
Algebraic Equation,
DAE)形式,如果神经网络可以表达为DAE形式,就可以实现训练与仿真的伴随执行,目前主要神经网络模型包括CTESN(Continuous
Time Echo State Networks,连续时间的回声状态网络)[6]、隐性深度学习(Deep Implicit
Layers)[7]等。回声状态网络使用大规模随机稀疏网络(存储池)作为信息处理媒介,将输入信号从低维输入空间映射到高维度状态空间,在高维状态空间采用线性回归方法对网络的非随机连接权重进行训练。回声状态网络的优点是训练简单,可以作为递归神经网络的简化方法。而CTESN可以近似为DAE形式,和仿真软件引擎有良好的融合接口。文献[6]将CTESN作为代理模型开发JuliaSim软件,训练后CTESN模型可以替代仿真模型做快速推演预测。目前的深度学习是用多层显式(explicit)非线性结构y=f(x)来实现强大的拟合能力,但其本质仍是寻找复杂系统的不变点。因此,隐性深度学习尝试用隐性(implicit)联合函数分布g(x,y)=0来表达系统的不变关系,以期望以形式简洁、内存需求量小的模型实现复杂系统不变点的表达。主要有DEQ
(Deep Equilibrium Model)、Neural ODE(Ordinary Differential
Equation)[7]、Differentiable
Optimization,一旦表达为DAE形式,就很容易结合Modelica等系统仿真引擎去训练深度学习模型。文献[8]对物理信息神经网络的应用有不错的总结。
统计模型与定性机理模型的融合
模型的精髓在于对物理世界的合理简化。很多复杂系统并不存在用数学语言表达的机理模型(或者需要做很强假设才有数学表达式),这时候定性机理模型也许是一种很好的模型形式。
在过去的工业系统故障诊断研究中,已经提出了很多定性的变量驱动关系图,如下表所示。
以磨煤机为例,其系统动力学图如下图所示[11]。其中可观测的变量用框标出,67%左右的重要状态变量并不可以直接观测。在[12]中,我们也展示了靠能量守恒、物质守恒和热力场假设建立的数学模型精度并不高,反而不如基于定性模型构建的统计模型。
定性机理模型一方面可以用于经典机器学习模型输入变量的选择,甚至特征变量的自动生成。另外机理模型的图结构和图神经网络也可以有较好的结合[13]。
参考文献
[1] 仪记敏. 锦91块注汽锅炉炉管结垢对传热性能影响规律数值计算[D].东北石油大学,2017.[2] REINHART R
F, SHAREEF Z, STEIL J J. Hybrid analytical and data-driven modeling for
feed-forward robot control[J]. Sensors, 2017, 17(2): 311.[3] LUTTER M, RITTER C, PETERS J. Deep lagrangian
networks: Using physics as model prior for deep learning[C]//7th International
Conference on Learning Representations (ICLR), 2019: 1-17.[4] RAISSI M, PERDIKARIS P, KARNIADAKIS G E.
Physics-informed neural networks: A deep learning framework for solving forward
and inverse problems involving nonlinear partial differential equations[J].
Journal of Computational physics, 2019, 378: 686-707.[5] 李凯文, 张涛, 王锐,等. 基于深度强化学习的组合优化研究进展[J]. 自动化学报, 2021,
47(11): 2521-2537.[6] RACKAUCKAS
C, ANANTHARAMAN R, EDELMAN A, et al. Composing modeling and simulation with
machine learning in Julia[C]//Proceedings of the 14thInternational Modelica
Conference, 2021: 97-107.[7] BAI S, KOLTER J Z, KOLTUN V. Deep equilibrium
models[C]// Proceedings of the 33rd International Conference on Neural
Information Processing Systems, 2019: 690-701.[8] 李硕,刘天源,黄锋,解鑫,张金义.工业互联网中数字孪生系统的机理+数据融合建模方法[J].信息通信技术与政策,2022(10):52-61.[9] SETTLES Burr, Active Learning[M]. Williston,
VT: Morgan & Claypool, 2012.[10] 赵越. 用于核电站故障诊断和规程改进的DUCG理论及应用研究[D].清华大学,2017.[11] 田春华. 工业大数据分析算法实战[M]. 北京:机械工业出版社, 2022.[12] 田春华, 李闯, 刘家扬等. 工业大数据分析实践[M]. 北京:电子工业出版社, 2021.[13] Wu D, Zhao J. Process topology convolutional
network model for chemical process fault diagnosis[J]. Process Safety and
Environmental Protection, 2021, 150: 93-109.