跳到主要内容
返回时间线
SIAM Journal on Scientific Computing来源发表:

用MLP与能量最小化学习非线性有限元解算子,在参数化泊松、高斯随机场与非线性弹性算例中给出小学习误差,并让牛顿法以网络预测为初值提速

核心概要

作者提出并评估一种无数据、物理信息驱动的解算子学习方法:先用有限元离散化,再用多层感知机(MLP)把问题数据参数(边界条件、系数、右端项等)映射为有限元解的自由度,损失函数取能量泛函的期望,并给出可并行、可按单元随机分批的训练算法;在参数化泊松问题、高斯随机场系数问题与非线性neo-Hookean弹性梁三个算例中,网络学习误差较小(如参数化问题全网格、4·512网络下能量相对误差均值2.0e-4、L2为0.0020、H1为0.0092),推理约1毫秒,随机场算例中计算两个量之兴趣比同自由度有限元更快,弹性算例中把网络输出作为牛顿法初值可在保持精度的同时缩短求解时间。

AI-generated editorial illustration: Learning Nonlinear Finite Element Solution Operators Using Multilayer Perceptrons and Energy Minimization

深度剖析

提出把解算子学习的目标设为标准有限元离散解而非精确解,从而让有限元理论可直接用于误差分析。 与已有的场到场映射(如用卷积网络学习线性问题)或基于强残差的网格感知网络不同,这里用MLP学习参数元组到有限元空间的映射,且分析与算例都包含非线性。 论文给出一般框架(能量泛函、离散算子Ah、网络Ah,θ),并给出线性与非线性能量下能量差与H1半范数的关系引理,以及结合有限元误差与网络训练误差的近似误差估计定理。

给出基于能量泛函的损失函数与可并行、可按单元随机分批的训练算法。 损失取能量期望,避免生成训练数据;能量可按单元局部组装并在GPU上并行,大问题可每次只用网格中一小部分随机单元。 论文推导了按单元分解的损失表达式,并在算例中比较全网格与分批(如3277个单元,约占10%)的训练时间与误差,显示大网格下分批可缩短训练时间但学习误差上升。

在三个算例中量化了学习误差与推理速度,并展示与有限元软件结合的两条路径。 参数化泊松问题中给出不同网络宽度与分批设置下的能量、L2、H1相对误差;高斯随机场问题中比较神经网络与FEniCSx有限元计算量之兴趣的时间;非线性弹性问题中把网络输出作为牛顿法初值。 误差统计基于K=10^4(前两例)或K=10^3(弹性例)样本的均值与标准差;时间比较在A100 GPU与Apple M1 CPU上给出,弹性例中网络初值使总时间约为零函数初值的70%(基本弯曲)与42%(极端弯曲)。

指出把网络预测作为牛顿法初值可在保持最终精度的同时提速,且变形越大潜在提速越大。 与把网络预测当作最终解不同,这里把学习到的有限元解作为迭代初值,从而保留有限元精度并利用网络推理的毫秒级速度。 基本弯曲与极端弯曲两个算例中,网络初值与零函数初值收敛到相同能量值(如-0.014397与0.067984),但牛顿求解时间更短;论文同时给出需要求解足够多问题才能抵消训练时间的估算(如GPU训练下基本弯曲约81,034个、极端弯曲约20,921个)。

启示与展望

该框架面向具有能量泛函的参数化偏微分方程,输出是标准有限元离散解而非精确解,因此适用于希望与有限元理论或软件结合的场景,例如不确定性量化中需要大量实现、或非线性问题中需要好的迭代初值。对没有能量泛函的问题,论文指出可改用弱残差,但本文的分析与算例围绕能量展开。算例使用P1三角形单元与MLP,作者说明框架本身允许其他单元类型与更高阶多项式。

论文的误差估计依赖“网络训练良好”的假设(能量差不超过ε),实际中这一假设由算例中的小误差间接支持,但并非对所有问题自动成立。分批单元训练在大网格上可缩短训练时间,但相同迭代次数下学习误差会上升,如何权衡批次大小与迭代次数仍是开放问题。弹性算例中网络只能给出中间状态而非最终卷曲状态,因为训练时外力都施加在未弯曲梁上;作者提出引入时间依赖并让网络以当前梁位置为输入作为未来方向。此外,训练时间与推理时间的比较依赖具体硬件(A100 GPU、Apple M1 CPU)与问题规模,迁移到其他设置时需重新评估。

来源