计算力学中的深度学习:综述
Deep learning in computational mechanics: a review
摘要
深度学习研究的迅速发展,包括在计算力学领域内,已经产生了广泛而多样的文献。为了帮助研究人员识别该领域中的关键概念和有前景的方法,我们提供了一个关于确定性计算力学中深度学习的概述。本文确定并探讨了五个主要类别:仿真替代、仿真增强、作为神经网络的离散化、生成方法和深度强化学习。本文重点关注深度学习方法,而不是计算力学的应用,从而使研究人员能够更有效地探索该领域。因此,本文并不一定针对对深度学习有广泛了解的研究人员——其主要读者是那些即将进入该领域或试图对计算力学中的深度学习有一个概览的研究人员。因此,所讨论的概念尽可能简单地解释。
1 引言
1.1 动机
1.2 计算力学中深度学习技术的分类
1.3 深度学习
2 仿真替代
2.1 数据驱动建模
2.2 物理信息学习
3 模拟增强
3.1 预处理
3.2 物理建模
3.3 数值方法
3.4 后处理
4 离散化作为神经网络
4.1 有限元法
4.2 有限差分法
4.3 材料离散化
4.4 神经微分方程
5 生成方法
5.1 应用
6 深度强化学习
6.1 应用
7 结论与展望
1 引言
1.1 动机
近年来,由于大量数据的获取和机器学习的快速进展,计算机视觉、推荐系统、医学诊断和金融预测等领域取得了杰出的成果【1】。然而,学习算法的影响远不止于此,已经进入了许多科学学科【2】。 科学文献中详细记录了对机器学习,尤其是计算力学领域的快速兴趣。通过考虑处理“人工智能”、“机器学习”、“深度学习”和“神经网络”的出版物数量,可以量化这种兴趣。图1a显示了自1999年以来Elsevier和Springer所有期刊的趋势,而图1b通过考虑Elsevier和Springer的代表性期刊显示了计算力学社区内的趋势。2017年前的趋势略有不同,总体上呈稳步增长,但计算力学领域的兴趣有限。然而,大约在2017年,两条曲线都显示出趋势的变化,即出版物的急剧增加,突显了人工智能及其子主题在各种应用中的兴趣和潜在前景。 由于深度学习领域研究的快速增长【21】(见图1a),我们提供了确定性计算力学中各种深度学习方法的概述。为了限制本文的范围,我们专注于确定性方法和计算力学中的问题。已经出现了许多关于特定应用的深度学习综述文章(见【22,23】关于拓扑优化,【24】关于全波形反演,【25-29】关于流体力学,【30】关于连续介质力学,【31】关于材料力学,【32】关于本构建模,【33】关于生成设计,【34】关于材料设计,以及【35】关于航空学)。然而,本文的目的是专注于一般方法,而不是应用,其中相似的方法常常应用于不同的问题。这有可能通过突出方法之间的相似性来弥合科学社区之间的差距,从而明确最先进的技术状态。
1.2 计算力学中深度学习技术的分类
为了以结构化的方式讨论深度学习方法,我们引入了以下分类:
仿真替代(第2节) 数据驱动建模(第2.1节) 物理信息学习(第2.2节) 仿真增强(第3节) 作为神经网络的离散化(第4节) 生成方法(第5节) 深度强化学习(第6节)
仿真替代用代理模型替换整个仿真,在深度学习的背景下,这些代理模型是深度神经网络(NN)。模型可以通过监督学习进行训练,这完全依赖于标记数据,因此被称为数据驱动建模。通过物理信息学习可以减少这些模型的泛化误差。在这里,物理约束被强加到可学习的空间上,使得只学习物理上可接受的解。
仿真增强仅替换仿真链的部分组件,而其余部分仍由经典方法处理。此类别中的方法与各自的应用密切相关,因此将在其特定用例的背景下呈现。将讨论数据驱动和物理信息方法。
通过从神经网络的基本构建块(即线性变换和非线性激活函数)构建离散化,可以将离散化视为神经网络。因此,可以利用深度学习框架中的技术——如自动微分、基于梯度的优化和高效的基于GPU的并行化——来改进经典仿真技术。
生成方法处理基于数据集创建新内容。其目标不是重现数据,而是生成统计上相似的数据。这在多样化设计空间或增强数据集以训练代理模型时非常有用。
最后,在深度强化学习中,智能体学习如何与环境互动,以最大化环境提供的奖励。在深度强化学习的情况下,智能体通过神经网络建模。在计算力学的背景下,环境由控制物理方程建模。强化学习提供了一种替代基于梯度的优化方法,这在梯度信息不可用时非常有用。
所提出的独特分类法源于方法论观点,而不是应用【22-35】或问题【42】导向的视角。然而,可以与【42】中确定的挑战和提出的机器学习研究领域进行类比。同样,区分机器学习增强和替代机器学习模型的方法也做了说明。此外,还强调了鲁棒性、可解释性以及处理复杂和高维数据的挑战。【42】以及【43】也对物理信息学习和数据驱动建模进行了区分。有趣的是,较早的综述【3,4】也得出了类似的类别,并额外包括了作为更高效实现手段的神经网络,即作为神经网络的离散化。只有最后两类提出的生成方法和深度强化学习未被突出为计算力学综述中的方法。但这些在机器学习社区内已广为人知【44-47】,且足够独特,可以单独处理。
1.3 深度学习
在继续讨论与计算力学相关的主题之前,简要介绍神经网络(NN)和本文中使用的符号。本质上,NN是能够逼近任何连续函数的函数逼近器【50】。由可学习参数(通常由权重和偏置组成)参数化的NN学习函数,其逼近关系。NN通过嵌套的线性变换结合非线性激活函数构建。最基本的NN是全连接NN,通过全连接神经元层(见图2)实现,其中每个神经元(第层的第个神经元)的激活通过前一层的线性组合和非线性激活函数获得:
如果使用多个层(不包括输入和输出层),则NN被视为深度NN,其训练过程因此称为深度学习。NN的评估,即预测,被称为前向传播。预测质量由代价函数确定,目标是最小化该函数。其关于参数的梯度通过自动微分【51】获得,具体在NN的上下文中称为反向传播。梯度在基于梯度的优化中用于更新参数,从而改进预测。监督学习依赖于标记数据建立代价函数,而无监督学习不依赖于标记数据。定义用户定义训练算法和NN架构的参数称为超参数。图2总结了这一概念,显示了一个全连接的多层,即深度NN。本文讨论的更高级的NN架构在附录A中描述。
符号备注 1 数据集用上标表示,即,其中是数据集大小。
符号备注 2 尽管和可能表示向量量,但我们不会用粗体表示它们。相反,这保留用于问题中的所有个自由度,即。例如,可以是使用个网格点采样的域或由个自由度组成的系统。然而,矩阵仍然用粗体大写字母表示。
符号备注 3 本文将讨论多种NN架构,为此我们引入缩写和下标。最主要的是全连接NN FFNN (FC-NN)【44, 54】,卷积NN fCNN (CNN)【55-57】,循环NN fRNN (RNN)【58-60】,和图NN fGNN (GNN)【61-63】。如果网络架构与方法无关,则网络表示为。
2 仿真替代
在计算力学领域,数值程序被开发出来以解决或求解偏微分方程(PDEs)。一个通用的PDE可以写成:
其中非线性算子 作用在PDE的解 和PDE的系数 上,这些系数位于时空域 上。在正问题中,需要计算解 ,而在逆问题中,非线性算子 或系数 被视为未知数。
进一步区分方法是将时间维度 视为连续体,如时空方法【67】(见第2.1.1节和第2.2.1节),或在离散的时间步长中,如时间步进程序(见第2.1.2节和第2.2.2节)。为了简化,但不失一般性,将在时间步进程序中讨论一阶时间导数的PDE:
其中非线性算子为 。另一个计算力学中的任务是常微分方程(ODEs)系统的正向建模和识别。为此,我们将考虑以下形式的系统:
这里, 是时间依赖的自由度, 是定义方程系统的右侧项。接下来将讨论计算 的正问题和识别 的逆问题。
2.1 数据驱动建模
数据驱动建模完全依赖于标记数据 。神经网络学习 和 之间的映射 ,从而对尚未见过的数据点进行插值。数据驱动损失 ,例如均方误差,可以用作代价函数 。
2.1.1 时空方法
为了简化符号,但不失一般性,本节将省略时间维度 ,因为在这些方法的范围内可以将其视为其他空间维度 。即将到来的方法的目标是学习一个正向算子 ,一个系数的逆算子 ,或一个非线性算子的逆算子 。这些方法将用正向算子来解释,但它们同样适用于逆算子。唯一区别在于输入和输出。
在坐标 处的解预测 或整个域 上的 是基于一组逆系数 进行的。代价函数 类似于方程 (5) 进行公式化:
2.1.1.1 全连接神经网络
最简单的方法是用全连接神经网络(FC-NN) 近似算子 :
应用实例包括流动分类【68, 69】,透平机械中的流体流动【70】,基于以前测量的动态梁位移【71】,湍流中的壁面速度预测【72】,传热【73】,湍流模型中的源项预测【74】,全波形反演【75-77】,以及基于移动形变杆的拓扑优化【78】。然而,这种方法仅限于简单问题,因为需要大量数据。因此,提出了几种改进方法。
2.1.1.2 图像到图像映射
应用FC-NN解决计算力学问题的一个缺点是,它们通常需要从头学习空间关系。CNN由于其基于核的结构,天生考虑了这些空间关系。因此,提出了使用CNN的图像到图像映射,其中图像,即系数 的均匀网格(见图3),用作输入。
这导致了对整个图像,即域的解 的预测。应用实例包括翼型周围的压力和速度预测【80-83】,从几何形状和边界条件预测应力【84, 85】,稳态流动预测【86】,制造特征检测【87, 88】,全波形反演【89-100】,以及拓扑优化【101-110】。设计学习算法时一个重要的选择是输入数据的编码。对于几何形状和边界条件,二进制表示是最直接的方法。然而,正如【86】中讨论的那样,这对于CNN来说具有挑战性。符号距离函数【86】或粗网格上的模拟提供了更优的替代方案。对于逆问题,可以使用初始猜测的逆场的初始正向模拟来编码所需的边界条件【105, 108-110】。CNN的另一种可能性是域的分解。映射可以在整个域【111】、较小的子域【112】或甚至单个像素【113】上进行。在后两种情况下,接口需要特别处理。
CNN映射的缺点是受限于矩形域上的均匀网格。这可以通过使用作用于图数据(如网格)的GNN来绕过,例如【114-116】中的网格,或作用于点云数据(如【119】中的点云数据)的点云NN【117, 118】。与CNN一样,GNN操作于数据的不变结构元素,对于GNN是连接顶点的边(见附录A.2),而对于CNN是对齐在结构化网格上的像素。实际上,GNN可以看作是CNN的泛化,因为它们可以处理更广泛的数据结构,即图(包括图像)。这与纯CNN相比,代价是较低的实现效率。
2.1.1.3 模型降阶编码
无论NN架构如何,通过将NN应用于能够捕获数据的低维空间可以帮助学习。对于复杂问题,可以使用模型降阶技术识别到低维空间(也称为潜在空间或潜在向量) 的映射 。因此,在仿真替代的情况下,识别出 (在所有样本点 上采样)的低维编码 。这作为输入提供给NN,以在降低的潜在空间中预测解场 。在解码步骤 中获得完整的解场 (在所有样本点 上)。预测如下:
降维可以通过主成分分析【120, 121】进行,如【122】中提出的,适当的正交分解【123】,或降阶流形学习【124】。这些技术已被应用于学习主动脉壁应力【125】,动脉壁应力【126】,粘塑性流动中的流速【127】,以及从加压几何中识别未加压几何的逆问题【128】。目前,数据驱动代理建模中最令人印象深刻的结果是通过模型降阶编码结合NN实现的【129, 130】,这些可以与本文中提出的大多数其他方法结合使用。
另一种降维技术是自编码器【131】,其中 和 由NN建模。这些在附录B.1中详细讨论,启用了非线性编码。一个早期的研究见【132】,将适当的正交分解与NN关联。应用领域包括从降低的潜在空间预测声散射器的设计【133】,或从桥梁的动态响应到损伤的映射【134】。此外,必须指出,许多图像到图像映射技术依赖于受自编码器启发的NN架构,如U-net【135, 136】。
2.1.1.4 神经算子
代理建模中最新的趋势是神经算子【137】,它在函数空间之间进行映射,而不是函数之间。神经算子依赖于将通用逼近定理【50】扩展到非线性算子【138】。两个最突出的神经算子是DeepONet【139】和傅里叶神经算子【140】。
DeepONet在DeepONet【139】中,如图4所示,预测算子 的任务被分为两个子任务:
预测 基函数 (TrunkNet), 预测对应的 问题特定系数 (BranchNet)。
基函数由TrunkNet使用参数 通过在坐标 处进行评估来预测。系数则从系数 中使用BranchNet参数化 进行估计,因此,特定于正在解决的问题。通过在评估的基函数和系数上进行点积得到解预测 。
应用实例见【141-153】。DeepONet还结合了物理信息损失函数【154-156】。
傅里叶神经算子傅里叶神经算子【140】从空间变化的系数 预测在均匀网格 上的解 。由于目标是学习函数之间的映射,在每一层可以执行非局部映射。例如,可以使用积分核【158, 159】,拉普拉斯变换【160】,和傅里叶变换【140】。这些变换增强了NN的非局部表达能力,其中傅里叶变换由于快速傅里叶变换实现的计算效率特别有利。
如图5所示,傅里叶神经算子由傅里叶层组成,其中在空间维度 上进行傅里叶变换 后执行线性变换 。随后,应用逆傅里叶变换 ,其结果加上在傅里叶空间外执行的线性变换 的输出。因此,NN可以跳过傅里叶变换。最后一步是激活函数 。傅里叶层内的操作如下:
其中 是偏置。线性变换 , 和偏置 都是可学习的,因此是参数 的一部分。可以使用多个傅里叶层,通常与编码网络 和解码网络 结合使用。
应用实例见【161-171】。基于转换器注意机制的扩展【172】见【173】。与DeepONet类似,傅里叶神经算子也结合了物理信息损失函数【174】。
2.1.1.5 神经网络逼近能力
尽管NN架构取得了进展,NN代理在学习通用PDE的解方面仍然存在困难。通常,只有在参数空间相对较小的参数化PDE中——或者在不考虑精度、可靠性或泛化的情况下取得成功。然而,已证明,无论是简单架构如FC-NN【175, 176】还是高级架构如DeepONet【177】,NN都具有优秀的理论逼近能力,能够捕捉各种PDE的解。目前,有两个障碍阻碍了识别具有这些理想NN参数空间的足够好的最优值【175】:
训练数据:泛化误差, 训练算法:优化误差。
缺乏足够的训练数据导致泛化不良。这可以通过使用更快的数据生成方法(例如更快和专用的经典方法【178】)或改进的采样策略来缓解,即找到以特定方式分布的所需数据点的最小数量以训练代理。此外,当前的训练算法仅收敛到局部最优。研究改进的优化算法,例如计算更好初始权重的当前趋势【179】,从而减少优化误差。同时,训练时间大大减少,提高了竞争力。
2.1.2 时间步进程序
对于时间步进程序,我们将考虑方程 (3) 和 (4)。
2.1.2.1 循环神经网络
对时间序列数据建模的最简单方法是使用FC-NN预测下一个时间步 ,从当前时间步 开始:
然而,这种方法缺乏捕捉不同时间步之间的时间依赖性的能力,因为每个输入都独立处理,不考虑多个前一个时间步的情况。通过直接使用RNN可以实现数据的顺序性质。RNN保持一个隐藏状态,捕捉前几个时间步的信息,用于下一个时间步的预测。通过展开RNN,可以预测整个时间历史。
RNN的缺点,如学习长期依赖性时的梯度消失或爆炸问题,通过更复杂的架构如长短期记忆网络(LSTM)【59】、门控循环单元网络(GRU)【180】和转换器【172】得到解决(见【181】有关转换器在增材制造中热分析的最新贡献)。循环单元的概念也结合了其他架构,如CNN【182】和GNN【114, 115, 183-187】。
RNN的进一步应用包括全波形反演【188-190】、高维混沌系统【191】、流体流动【40, 192】、裂缝扩展【116】、非线性动态系统中的传感器信号【193, 194】,以及隧道诱发的沉降场预测【195】,其扩展到受影响结构中的损伤预测【196, 197】。RNN通常与降阶模型编码结合【198】,在降低的潜在空间中预测动力学,如【199-205】所示。进一步的变体在通过自编码器获得的降阶潜在空间上使用经典的时间步进方案【206, 207】。
2.1.2.2 动态模态分解
另一种为系统动力学(即方程(4))设计的方法是动态模态分解(DMD)【208, 209】。DMD的目的是识别一个线性算子 ,将两个连续的快照矩阵 , 相关联:
为了解决这个问题,将其重新构建为回归任务。通过最小化 和 之间差异的弗罗贝尼乌斯范数来近似算子 。这种最小化可以使用Moore-Penrose伪逆 进行(见例如【38】):
一旦确定了算子,它可以用于向前推进动力学,使用当前状态 近似下一个状态 :
然而,这个框架仅适用于线性动力学。通过应用库普曼算子理论可以扩展DMD以处理非线性系统【210】。根据库普曼算子理论,通过使用一个无限维的库普曼算子 作用于一个变换后的状态 可以表示一个非线性系统为线性系统:
理论上,库普曼算子 是一个无限维的线性变换。然而,实际上使用有限维的近似。这种方法在扩展DMD【211】中得以应用,其中对更高维状态 依赖于正交基函数词典 进行回归(方程(17))。或者,可以使用NN学习词典,即 ,如【212, 213】中所示。通过最小化预测状态 (方程(18))与词典空间中的真实状态之间的失配来训练NN。正交性不是必需的,因此不强制执行。
当学习到词典时,可以使用库普曼模态分解来重建状态预测,如【212】中详细解释的那样。
或者,可以使用自编码器执行到扩展状态的映射,这同时允许直接映射回原始空间【214-217】。因此,一个编码器学习降低的潜在空间 ,一个解码器学习逆向映射 。这些网络通过三个损失函数进行训练:自编码器重建损失 ,线性动力学损失 和未来状态预测损失 。
代价函数 由损失项 ,, 的加权和以及加权项 ,, 组成。此外,【216】允许 根据状态变化。通过一个辅助网络预测 的特征值并从中构建矩阵来实现这一点。
2.1.3 主动学习与迁移学习
最后,一种独立于神经网络(NN)架构且适用于时空和时间步进方法的重要机器学习技术是主动学习【218】。与预先计算标记数据集不同,数据仅在NN预测质量不足时才提供。此外,数据不是任意选择的,而是仅在失败预测的附近选择。在计算力学中,可以使用误差指示器评估NN的预测。如果结果不足,使用经典仿真的结果重新训练NN。随着时间的推移,NN的估计在各自的应用领域内会有所改善。由于误差指示器和经典模拟,预测是可靠的。有关计算力学中主动学习的示例见【219-221】。
另一种技术,迁移学习【222, 223】,旨在加速NN训练。首先在类似任务上训练NN。随后,将其应用于感兴趣的任务——相比于未训练的NN,它收敛得更快。计算力学中的应用见【98, 224】。
2.2 物理信息学习
在第2.1节讨论的监督学习中,预测质量强烈依赖于训练数据的数量。在计算力学中获取数据可能很昂贵。为了减少所需数据量,提出了强加物理约束的方法。主要有两种方法【43, 225】。一种方法是通过惩罚不物理预测的惩罚项修改代价函数,从而起到正则化的作用。即将讨论可能的修改。另一种方法是通过构造强制物理约束,即通过将可学习空间减少到物理上有意义的空间。此方法高度特定于其应用,因此将在第3节中主要探讨。第2.2.3节将简要介绍。
这两种方法可以在综述文章中找到,其中【43】定义了四种总体方法:(i) 使用先验知识增加训练数据,(ii) 修改模型,即通过构造强制约束,(iii) 通过正则化项增强学习算法,即通过代价函数强制约束,(iv) 检查最终估计,从而丢弃违反物理的结果(例如,使用误差指示器)。最突出的两种方法,即修改代价函数和通过构造强制约束,在【225】中同样提到,相应地称它们为物理信息和物理增强。术语的其他变体见【182, 226】,他们将用于多个解的物理信息NN称为物理约束深度学习,或【227】将通过构造强制物理约束的NN称为物理增强NN。由于在这个相对较新且相互关联的领域中有许多名称,我们在物理信息学习的总体术语下涵盖了这些变体。
2.2.1 时空方法
再次为了简化符号,但不失一般性,本节将省略时间维度。然而,与第2.1.1节不同,以下方法不适用于正向和逆向问题。因此,分别处理解的预测、PDE系数和非线性算子。
2.2.1.1 使用神经网络求解微分方程
求解PDE的概念在1990年代首次提出【8-10】,但最近因所谓的物理信息神经网络(PINNs)【228】而普及(见【229-231】的最新综述文章和SciANN【232】、SimNet【233】、DeepXDE【234】的库)。
为了说明PINNs的思想和变体,我们将考虑一个静态弹性杆的微分方程
这里,算子由方程的左侧给出,解是轴向位移,空间变化的系数由截面性质和分布载荷给出。此外,还规定了边界条件,这些条件可以是Dirichlet边界条件(在上)或Neumann边界条件(在上):
物理信息神经网络
PINNs【228】用FC-NN近似解、系数或两者。
与方程(6)中使用标记数据训练网络不同,考虑PDE的残差。在一组NN点(称为配点)上评估残差。通过对残差评估取均方误差得到PDE损失
通过NN近似,使用自动微分【51】获得关于的可能预测(即,和)的梯度。同样,边界条件在边界点上强制执行。
代价函数由PDE损失、边界损失和可能的数据驱动损失组成
变分物理信息神经网络
计算非线性算子的高阶导数是昂贵的。因此,变分PINNs【237, 238】考虑PDE的弱形式,这降低了微分的阶数。对于杆方程,弱PDE损失为
在【237】中,使用个三角函数和多项式测试函数。通过用弱PDE损失替换方程(32)中的PDE损失得到代价函数。注意,Neumann边界条件现在不包括在边界损失中,因为它们已经包含在弱形式中(方程(33))。通过数值积分方法(如高斯求积法、蒙特卡洛积分法【239, 240】或稀疏网格求积法【241】)评估积分。通过NN输出的数值积分可能引入严重的不准确性——为此【242】提出了补救措施。
弱对抗网络
与其指定测试函数,弱对抗网络【243】使用第二个NN作为测试函数
通过极小极大优化学习测试函数
其中测试函数不断挑战解。
深度能量方法和深度Ritz方法
通过最小化势能,深度能量方法【244】和深度Ritz方法【245】克服了对测试函数的需求。这导致了以下损失项
注意,一般情况下,逆问题不能通过最小化势能来解决。例如,考虑方程(37)中的杆方程的势能,在逆设置中不适定。这里趋向于在域内,趋向于在处最小化势能。
扩展
PINN方法存在许多扩展。有关详细综述,请参见【229-231】。
学习多个解
目前,PINNs主要用于学习单个解。由于训练工作量超过经典求解器的求解工作量,因此PINNs的可行性值得怀疑【246】。然而,PINNs也可以用于学习多个解。通过将PDE的参数化,即作为网络的附加输入,可以实现这一点,如第2.1节讨论的那样。这使得新解的预测阶段无需重新训练即可实现。一个可能的例子是【247】,其中不同的几何形状以点云的形式捕捉,并用基于点云的NN处理【117】。
边界条件
通过方程(31)中的惩罚项强制执行边界条件会导致不平衡优化,因为方程(32)中的损失项、、相互竞争。解决方法之一是通过乘以一个函数来修改NN输出,以便先验满足Dirichlet边界条件,即,如【37, 248】中所示。
这里,是边界条件的平滑插值,是边界处为零的符号距离函数。对于Neumann边界条件,【249】建议使用单独的网络预测及其导数,以便通过修改导数网络强制执行Neumann边界条件。这需要额外的约束,确保导数预测与的导数相匹配。对于复杂域,和无法解析求解。因此,【248】使用NN以监督方式学习和,通过规定边界处的值或边界处的零值并限制域内的值为非零。同样地【250】建议使用径向基函数网络,其中假设。通过求解由边界条件构造的线性方程组确定径向基函数网络。在均匀网格上,通过带有常数填充项的专用CNN内核【204】(用于Dirichlet边界条件)和幽灵单元(用于Neumann边界条件)可以实现强制执行。受限反向传播【251】也被提出用以确保边界条件的执行【252, 253】。
另一种可能性是为每个损失项引入加权项,,。这些要么是超参数,要么在优化过程中通过注意力机制学习【254-256】。通过对所有加权项进行极小极大优化实现。
扩展这个想法,每个用于损失项的配点可以视为一个单独的等式约束。因此,为每个配点分配一个加权项,如方程(30)中的PDE损失所示。
这具有额外的优势,即对更重要的配点赋予更大的权重,即导致更大残差的点。这种方法与依赖于增广拉格朗日方法【259】和竞争性PINNs【260】的方法密切相关,其中一个附加NN对惩罚权重进行建模。这类似于弱对抗网络,但用强形式公式化。
安萨茨
另一个重要的话题是选择哪种安萨茨。安萨茨的类型,例如,由不同的NN架构(见【261】的比较)或与经典安萨茨公式的组合决定。除了使用FC-NNs,一些作者【182, 226】使用CNNs来利用数据的空间结构。可以通过使用二进制编码【262】或符号距离函数【86, 263】将结构嵌入矩形域来处理不规则几何形状。另一种选择是将坐标转换为矩形网格【264】。CNN需要一个全网格离散化,这意味着坐标在预测时与预测无关。因此,的梯度不是通过自动微分获得的,而是通过数值微分,例如有限差分。或者,CNN的输出可以表示插值的系数,如在样条PINNs【265】中使用Hermite样条提出的那样。这再次允许自动微分。同样应用于不规则几何形状【266】,其中GNNs与分段多项式基组合使用。使用经典基的额外优势是可以精确满足Dirichlet边界条件。另一种变体是用FC-NNs近似经典基的系数。这在【267】中使用B样条在等几何分析的意义上进行了展示【268】。这也在分段多项式中类似地进行了【269】。然而,与其直接最小化方程(30)中的PDE残差,不如利用有限元离散化【270, 271】。因此,损失可以根据非线性刚度矩阵、力向量和自由度公式化。
在正问题中,由FC-NN近似,而在逆问题中,FC-NN预测。类似地,【272, 273】通过使用节点坐标处的NN评估作为相应的基函数系数,将NN映射到有限元空间。这也允许通过如【79】中展示的CNN强制执行Dirichlet边界条件。节点表示为像素(见图3)。
可以通过特征层将解的先验信息结合在一起【274】。例如,如果已知解由三角函数组成,可以在输入层后应用具有三角函数的特征层。因此,将已知特征直接提供给NN以帮助学习。在没有已知特征的情况下,也可以通过修改任务来改进学习。受有限元自适应性的启发,通过NN的额外层逐步学习细化【275】(见图6)。因此,首先学习一个粗略解,然后通过一个额外层细化为,再次细化为,直到达到最深的细化层次。
域分解
为了提高PINNs对更复杂问题的可扩展性,提出了几种域分解方法。一种方法是hp-变分PINNs【238】,将域分解为多个小块。在每个小块上分别定义分段多项式测试函数,而解由一个全局作用的NN近似。这使得每个小块的数值积分分开进行,提高了其准确性。
在另一种公式中,每个子域可以使用一个NN。这被提出为保守PINNs【276】,在接口处强制执行守恒定律以确保连续性。在这里,以最小二乘法方式对接口处的解和通量的差异进行惩罚。这种方法的优势是双重的:首先,可以实现并行化【277】,其次,可以引入自适应性。对于平滑解,可以使用较浅的网络,而对于更复杂的解,可以使用更深的网络。该方法在扩展PINNs的背景下推广为适用于任何PDE【278】。在这里,接口条件以残差和解的差异形式公式化。
加速方法
与第2.1节讨论的监督学习类似,可以将迁移学习应用于PINNs【279】,例如在相场断裂【280】或拓扑优化【281】中展示。这些是非常合适的问题,因为在相场断裂中,裂纹和位移场主要局部变化。对于拓扑优化,每次优化迭代之间预期只有微小更新【281】。
通过更好的采样策略可以改进原始形式的PINNs的性能。在重要性采样中【
282, 283】,配点密度与代价函数的值成正比。或者,基于残差的自适应细化【234】在代价函数较高的区域附近添加配点。
另一个NN的基本主题是输入、输出和损失项的归一化【284, 285】。对于时间依赖性问题,可以使用时间依赖性归一化【286】,以确保无论时间步长如何,解始终在相同范围内。
此外,可以通过包括残差的导数来增强代价函数【287】。导数也应最小化,因为在正确解处,残差及其导数都应为零。然而,代价函数公式中的一个普遍问题仍然存在。代价函数应对应于误差的范数,而这并不一定是这样。这意味着代价函数的减少不一定会提高解的质量。误差范数可以表示为范数,根据【288】,可以通过傅里叶变换高效地在矩形域上计算。因此,范数可以直接用作代价函数并最小化。
另一个方面是数值微分,这对PDE的残差有利【289】,因为自动微分可能由于配点之间的伪振荡而出错。因此,数值微分强制正则性,这在【289】中通过结合自动微分和数值微分以保持自动微分的优势被利用。
提出了对NN架构的进一步专门修改。自适应激活函数【290】显示出加速收敛的效果。极限学习机【291, 292】完全消除了迭代的需求。在极限学习机中,所有层都随机初始化,只有最后一层是可学习的。没有非线性激活函数,参数通过最小二乘回归找到。这在【293】中对PINNs进行了展示。不是仅学习最后一层,可以将问题分为非线性和线性回归问题,分别解决【294】,以保持NN的全部表达能力。
正问题的应用
PINNs已应用于各种PDE(见【229-231】的概述)。例如,固体力学中的正问题见【284, 295, 296】,流体力学见【297-304】,热力学见【305, 306】。目前,就给定工程相关精度而言,PINNs在速度上不如经典求解器(如有限元方法)【246, 307】。作者的经验和判断认为,即使采用上述扩展,尤其在正问题中也是如此。通常,与经典正向求解器相比,提到的收益忽略了训练工作量,仅报告评估时间。
将解的大部分以测量形式结合到数据驱动损失中可以改进PINNs的性能,从而在某些情况下成为一种可行的方法。然而,【308】指出,数据驱动方法优于PINNs。因此,PINNs不应被视为数据驱动方法的替代品,而应视为减少数据驱动方法泛化误差的正则化技术。
逆问题的应用
然而,PINNs特别适用于具有完整域知识的逆问题,即解在整个域内可用。例如,这已在材料性质识别中得到证明【285, 309-312】。相比之下,对于仅有部分知识的逆问题,PINNs的适用性有限【313】,因为必须同时学习正解和逆解。因此,大多数应用仅限于较简单的反演,如尺寸和形状优化。示例见【295, 314-319】。处理整个场识别的例外见全波形反演【320】,拓扑优化【321】,弹性力学和热方程【322】。
2.2.1.2 逆问题
PINNs能够通过学习算子或系数来发现控制方程。然而,结果算子并不总是可解释的,而在识别系数的情况下,假设了基础PDE。为了发现可解释的算子,可以应用稀疏回归方法【323】。在这里,假设潜在的微分算子作为非线性算子的输入。
随后,NN使用插入方程(42)的观察解学习相应的系数。通过首先用NN插值解来实现对微分算子的评估。稀疏性通过正则化确保。
一个更复杂和完整的框架是AI-Feynman【324】。依次应用维度分析、多项式回归和暴力搜索算法,以识别数据中的基本规律。如果不成功,NN插值数据,可以查询对称性和可分性。对称性的识别导致变量的减少,即输入空间的减少。在可分性的情况下,将问题分解为两个子问题。将减少的问题或子问题迭代输入框架,直到识别出一个方程。AI-Feynman已成功应用于费曼讲义中的100个方程【325】。
2.2.2 时间步进程序
对于时间步进程序,再次考虑方程(3)和(4)。
2.2.2.1 物理信息神经网络
本着域分解的精神,parareal PINNs【326】将时间域分解为子域。通过共轭梯度求解器从简化形式的PDE开始提供解的粗略估计。然后在每个子域中独立应用PINNs以校正估计。随后,从开始再次应用共轭梯度求解器。这个过程重复,直到遍历所有时间步长。一个密切相关的方法见【327】,在这里,PINN在连续的时间段上重新训练。然而,通过对已学习的时间段的数据驱动损失项确保保持前几个时间步长。
另一种方法是离散时间PINNs【228】,它以离散方式考虑时间维度。使用阶段的Runge-Kutta方法离散化方程(3)中的微分方程【328】:
其中
NN 预测所有阶段的输入:
然后通过重新排列方程(43)和(44)构建代价。
的个预测,必须与初始条件匹配,其中均方误差用作损失函数来学习所有阶段。该方法已应用于流体力学【329, 330】。
2.2.2.2 逆问题
对于时空方法中的逆问题(第2.2.1.2段),可以学习非线性算子。对于时间问题,这对应于方程(3)中PDE的右侧和方程(4)中ODE系统的右侧。然后,可以使用经典时间步进方案来预测时间序列,如【331】中所建议的。基于类似原则的更复杂的方法在下文中介绍。具体来说,我们将讨论用于发现PDE的PDE-Net,用于发现ODE系统的可解释性的SINDy方法,以及依赖于多步方法的ODE系统方法。多步方法导致右侧的不可解释,但更具表达性。
PDE-Net
PDE-Net【332, 333】旨在学习系统动力学及其遵循的基础微分方程。对于方程(3)形式的问题,右侧可以作为解的坐标和梯度的函数近似。
算子由NN近似。第一步涉及使用可学习卷积滤波器估计空间导数。滤波器设计为根据与基础测量的拟合调整其近似阶数,同时预定义梯度类型。因此,NN学习如何最好地近似特定于基础数据的空间导数。随后,的输入与点对点CNN【334】或符号网络在【332】中组合。两者都产生一个可解释的算子,从中可以提取解析表达式。
为了构建损失函数,使用前向欧拉方法离散化方程(3)和(49):
这种时间离散化逐步应用,导出的函数与测量数据之间的差异作为损失函数。
SINDy
非线性动态系统的稀疏识别(SINDy)【335】处理发现方程(4)形式的动态系统。任务被构建为稀疏回归问题。状态快照矩阵及其时间导数通过候选函数在处评估使用未知系数相互关联:
通过稀疏回归(如顺序阈值最小二乘或LASSO回归)确定系数。通过包括偏导数,SINDy已扩展到PDE的发现【336, 337】。
通过将坐标变换为允许系统动力学更简单表示的表示,可以进一步提高SINDy的表达能力。这可以通过自编码器实现(由编码器和解码器组成),如【338】中建议的,其中在减少的潜在空间上使用SINDy学习动力学。通过梯度下降同时优化NN参数,和SINDy参数。损失根据自编码器重建损失和方程(51)在减少的潜在空间和原始空间的残差定义。正则化促进稀疏性。
与方程(24)一样,使用带权损失函数,权重为,,。可以利用减少的潜在空间进行已识别系统的正向模拟。通过在减少的潜在空间中使用经典时间步进方案求解系统,解在全空间中通过解码器获得,如【339】中概述的那样。因此,识别了一个先前未知系统的降阶模型。缺点是模型在全空间中不再可解释。
2.2.2.3 多步法
另一种从方程(4)中学习系统动力学的方法【340】是直接用神经网络近似右侧项,其中。考虑线性多步法,可以公式化一个残差。通常,这些方法的形式如下:
其中,,,,是特定多步方案的参数。可以将该方案重新公式化为一个代价函数,如下所示:
其中
该方法的思想与第2.2.2.1节中介绍的离散时间PINN密切相关,通过Runge-Kutta方法的重新公式化得到学习正向解所需的代价函数。
2.2.3 通过构造强制物理约束
到目前为止,本综述仅考虑通过PDE残差的惩罚项间接强制物理约束的情况。唯一的例外是通过修改神经网络输出强制执行边界条件【37, 204, 248】,这导致边界条件的满足与神经网络参数无关。对于PDE,这可以通过操纵输出来实现,使解自动遵守基本物理定律。例如,预测流函数并随后求导以确保质量守恒【341】,使用完整基底【342】或不变量【343】引入对称性,使用完整基底【344】。通过学习拉格朗日函数或哈密顿函数,用相应的拉格朗日神经网络【345-347】和哈密顿神经网络【348】处理动力系统。通过可微分的神经网络获得感兴趣的量并与标记数据进行比较。通过拉格朗日或哈密顿函数间接学习感兴趣的量保证了能量守恒。通过构造强制物理约束也称为物理约束学习,因为可学习空间受到了限制。然而,请注意,限制可学习空间也会使学习算法更具挑战性,因此可能会使收敛更加困难。因此,【225】通过引入一个次级无约束网络来放宽满足物理定律的要求——该网络在解上加性地作用,其影响由超参数进行缩放。更多通过构造强制物理约束的示例在第3.2节中讨论的模拟增强上下文中提供。
3 模拟增强
模拟增强类别涉及任何直接与经典模拟组件交互并因此改进经典模拟的深度学习技术。这是最为多样化的类别,因此将细分为经典模拟管道的各个步骤:
预处理 物理建模 数值方法 后处理
以下将讨论数据驱动和物理信息方法。
3.1 预处理
讨论的预处理方法以监督方式训练,依赖第2.1节中介绍的技术和标记数据。
3.1.1 数据准备
数据准备包括几何提取等任务。例如,通过分割从图像中检测裂缝【349-351】,随后可用于模拟评估识别裂缝的影响。此外,CNN已被用于准备从计算机断层扫描(CT)获取的体素数据,例如在【352】中移除扫描伪影。同样,神经网络可以用于增强测量数据。例如,在【353】中,神经网络作为去噪器用于无损检测中的磁信号。同样,使用神经网络进行全波形反演的低频外推【354-356】。
3.1.2 初始化
除了准备数据,还可以通过初始化加速模拟。例如,通过神经网络提供初始猜测,为经典迭代求解器提供更好的起点【357】。通过使用预训练的神经网络安萨茨,其参数随后由经典求解器调整,可以实现更紧密的集成,如在全波形反演中所示【224】。
3.1.3 网格划分
最后,许多模拟技术依赖于网格。这可以通过预测网格密度函数【358-362】间接实现,包含专家知识或误差估计,然后使用经典网格生成器。然而,神经网络(特别是let-it-grow神经网络【363】)也被直接提出作为网格生成器【364, 365】。
3.2 物理建模
准确捕捉物理现象的物理模型是力学的核心组成部分。深度学习提供了三种主要的物理模型方法。首先,神经网络直接用作物理模型(模型替代)。其次,假设一个基础模型,其中神经网络确定其系数(模型参数识别)。最后,整个模型可以由神经网络识别(模型识别)。在第一种方法中,神经网络集成在模拟管道内,而后两种方法依赖于经典意义上的已识别模型的结合。
为了说明这些方法,大部分示例将使用本构模型。这里的任务是将应变与应力相关联,即找到函数。这可以在有限元框架中使用,如【366】中详细说明。
3.2.1 模型替代
在模型替代中,神经网络替代模型,得到预测。通过使用标记数据、的代价函数(方程5)评估模型质量。该方法应用于各种问题,其中关键区别在于输入和输出量的定义。可以使用与数据驱动模拟替代(第2.1节)相同的深度学习技术。
应用包括从应变预测应力【366, 367】、从温度、应变率和应变预测流变应力【368, 369】、屈服函数【370】、从应力预测裂缝开口响应【371】、从穿透和接触压力预测接触刚度【372】、从有限元相邻节点位置预测接触点【373】或从NURBS曲面控制点预测【374】。源项或较粗离散的简化方程也已用于湍流【74, 375, 376】和波动方程【377】。这里,参考——高保真模型——尽可能由源项捕捉。
变体还间接预测感兴趣的量。例如,从变形张量中预测应变能密度,随后通过自动微分求导得到应力【378, 379】。该方法还可以扩展以包含不确定性量化【380】。通过扩展输入空间与微观结构信息,内置均质化添加到本构模型中【381-383】。因此,在积分点上,宏观模拟考虑了微观结构,在FE2的意义上【384, 385】,但没有额外的有限元计算。包含微观结构需要大量现实的训练数据,可以通过生成方法(第5节讨论)获得。主动学习可以减少这些几何体上所需的模拟次数【221】。
在【386】中使用一种专门的神经网络架构,首先神经网络估计变形张量的不变量,然后预测应变能密度,从而模拟经典本构建模方法。另一种网络扩展是使用循环神经网络(RNN)学习依赖历史的模型。这在【381, 382, 387, 388】中展示,用于从应力-应变历史预测应力增量,从应变能历史预测应变能【389】,以及基于先前裂缝和晶体取向预测裂缝模式【390, 391】。
然而,学习到的模型不一定遵守基本物理定律。在【392-394】中进行了使用惩罚项将物理作为约束的尝试。尽管如此,物理一致性并不能保证。相反,可以选择神经网络架构,使其通过构造满足物理要求。在本构建模中,通过仅使用变形不变量作为输入可以强制客观性【395】,通过架构可以强制多凸性,如输入凸神经网络【396-399】或神经常微分方程【395, 400】。研究表明,确保基本物理方面如不变量结合多凸性,在外推时对未见数据表现得更好。
输入凸神经网络【401】通过专门的激活函数(如对数求和指数函数或软正函数)结合对神经网络权重的约束来强制凸性,以确保权重为正,而神经常微分方程【402】(第4节讨论)近似应变能密度的导数并确保非负值。或者,可以定义从神经网络到凸函数的映射【403】,以确保任何神经网络输出的凸函数。相关的还有基于热力学的神经网络【404, 405】,例如在【406】中应用于复杂微观结构,这些神经网络通过构造遵守基本热力学定律。这些方法的训练可以以监督方式进行,依赖应力-应变数据,或以无监督方式进行。在无监督环境中,本构模型集成在有限元求解器中,针对特定边值问题生成位移场。计算得到的场和测量数据一起,产生一个称为修改的本构关系误差(mCRE)【407-409】,通过最小化以改进本构关系【410, 411】。与此类似,【412, 413】以边界力的形式公式化不匹配。有关深度学习中本构模型替代的深入概述,见【32】。
3.2.2 模型参数识别
模型参数识别通过假设一个基础模型并训练神经网络来预测其参数来实现。在本构模型示例中,可以假设线性弹性模型表示为本构张量,即。本构张量可以从材料分布(通过整个域定义的异质弹性模量)中预测
典型的应用是均质化,其中从几何和材料分布中预测有效属性。示例包括基于CT扫描的CNN均质化【414, 415】,从几何中预测主动脉壁的活体本构参数【416】,从仪器化压痕结果预测弹塑性属性【417】,依赖多保真方法【418】,从微加工微悬臂梁中的几何预测应力强度因子【419】,从有限元中的边界条件和施加的应力估计有效骨骼属性,并通过在代表性体积单元上训练神经网络来包含中尺度信息【420】。
3.2.3 模型识别
用作经典方法替代品的神经网络模型不可解释,而仅识别已知模型的模型参数限制了模型的能力。通过以简约数学表达式的形式识别模型,可以弥合这一差距。
通常的程序是将问题构建为候选函数,并识别最相关的项。这一方法受到SINDy【335】的启发,并在高效无监督本构法则识别和发现框架(EUCLID)【421】中引入。该方法是无监督的,因为应力-应变数据仅通过位移场和相应的反应力间接获得。变形张量的不变量插入候选库,其中包含候选函数。结合相应的权重,确定应变密度:
通过自动微分求导应变密度,确定应力。然后将问题转换为弱形式,在弱形式下强制线性动量平衡。弱形式然后使用固定点迭代方案最小化(灵感来自【422】),使用正则化促进的稀疏性。尽管该方法尚年轻,但已经应用于塑性【423】、粘弹性【424】及其组合【425】,并通过贝叶斯模型【426】引入不确定性。此外,该方法已经通过输入凸神经网络的集合扩展【413】,产生更准确但解释性较差的模型。
最近进行了一项类似的努力【427, 428】,设计神经网络以保持可解释性。通过稀疏连接结合代表候选函数的专门激活函数来实现,以捕捉经典形式的本构项。通过网络中的稀疏连接和专门的激活函数,神经网络的权重变为物理参数,产生可解释的模型。最好通过参考图7来理解这一点,其中应变能密度表示为
通过对预测的应变能密度关于不变量求导,得到本构模型,将应力和应变相关联。
3.3 数值方法
本节描述使用神经网络替代或增强经典数值方案以求解PDE的工作。
3.3.1 算法增强
可以通过学习常见数值误差的校正或估计算法中的可调参数来增强经典算法。例如,在有限元背景下,校正用于数值求积【429】。其中,神经网络用于从节点位置预测对畸变单元的求积权重和位置的调整,从而提高准确性。同样,神经网络已被应用于畸变单元的应变-位移矩阵校正【430】。
神经网络还用于提供改进的梯度估计。具体而言,【431】修改梯度计算以匹配在粗网格上的精细尺度模拟:
系数由神经网络从当前的粗解预测。对施加特殊约束以保证准确的导数。另一个应用是用于损伤力学的专门应变映射,嵌入到个别有限元中,由PINNs学习【432】。甚至建议部分替代求解器。例如,【433】在流固耦合问题中替代流体或结构求解器为代理模型。
学习可调参数通过RNN作用于自编码器的潜在向量来估计最大可能时间步长【434】。同样,为了改进稳定性,学习了有限元的最优测试函数【435】。另一种学习数值参数以进行模拟的方法在【436】中提出,其中学习与相似性拓扑优化相关的超参数——具体地,从基于先前拓扑优化的不相似度量预测能量缩放因子。这些方法的共同点是,它们免去了用户执行多个模拟以调整数值参数的需求。
3.3.2 多尺度方法
提出了多尺度方法,以有效地集成和解决在多个尺度上作用的系统。一种方法是第3.2节中学习到的结合微观结构的本构模型。这实质上是通过均质化在宏观模拟中使用中尺度方法。
相关的方法是单元子结构化【437, 438】,其中超单元模拟一组经典基本有限元的行为。在【439】中,超单元通过神经网络增强,神经网络从边界位移预测单元内的位移和应力以及边界处的反作用力。通过在全局有限元系统中组装反作用力,使用Newton-Raphson求解器达到平衡。同样,方法【440】从超单元的粗自由度中学习内力。这些方法特别有价值,因为它们可以无缝地结合历史依赖行为,使用RNN。
最后,多尺度分析还可以通过首先求解粗略全局模型,然后进行局部分析来实现。这称为缩放方法。在【441】中,神经网络学习全局模型,从而预测局部模型的边界条件。同样,DeepONets已应用于局部分析【442】,而全局分析由有限元求解器进行。两者交替进行直到收敛。
3.3.3 优化
优化是计算力学中的一项基本任务,因此需要单独讨论。它不仅用于找到最优结构,还用于解决逆问题。通常,该任务可以
表示为最小化代价函数,关于参数。在计算力学中,通常作为输入到正向模拟,得到的解插入代价函数。如果梯度可用,基于梯度的优化是最先进的方法【443】,其中梯度用于更新。为了访问梯度,正向模拟必须是可微的。这一要求在深度学习分支中称为可微物理【36】。将数值求解器中的梯度信息结合到神经网络中可以提高学习、反馈和泛化。对可微物理的概述和介绍见【36】,应用见【215, 402, 431, 444-446】。
图8中说明了迭代的基于梯度的优化过程。关于优化中的神经网络的深入处理,见最新综述【22】。
在优化问题中插入一个学习到的正向算子,如第2.1节中讨论的那些,提供了两个优势【447-451】。首先,较快的正向算子导致更快的优化迭代。其次,梯度计算更简单,因为通过正向算子进行自动微分相对简单,而不是伴随状态法【452, 453】。然而,请注意,对于时间步进方法,如【313】所示,自动微分的计算成本可能更高。应用包括全波形反演【313】、拓扑优化【454-456】和控制问题【70, 72, 444】。
同样,可以学习替代敏感度计算的算子【456-459】。这可以通过预先计算的敏感度以监督方式实现,以减少代价【456, 458】,或通过意图最大化梯度更新后的代价函数改进【457, 459】。在【457, 459】中,为一般情况中未能轻松获得敏感度,使用了进化算法。如果在优化阶段引入自适应训练,如果代价不减少,可以改进处理特定问题的神经网络【456】。将这一理念推向极致,神经网络在特定优化的初始梯度更新上进行训练。之后,单独由神经网络提供敏感度【460】,每次更新进行监督更新以提高准确性,其中是超参数。在【455】中,结合了学习正向算子和敏感度算子的思想,其中指出通过学习到的正向算子进行自动微分的敏感度可能不准确,尽管正向算子是准确的。因此,在代价函数中添加了一个附加损失项,通过使用伴随状态法获得的标签强制敏感度的正确性。或者,可以通过校正在粗网格上进行的敏感度计算来增强敏感度计算,如【461】中提出的那样,类似于第3.3.2节讨论的多尺度技术。这里,敏感度计算的伴随场通过适当的正交分解和更粗的离散化进行减少。随后,通过超分辨率神经网络【462】校正粗略估计。同样,【456, 463】将粗网格上的正向解映射到细网格上的设计变量敏感度。类似的应用是在固定点迭代器中的校正项,如【464】所述。
与敏感度预测相关的方法是直接预测更新状态。目标是减少总迭代次数。实际上,结合预测和经典基于梯度的更新进行【111-113, 465】。这些方法的主要变体在于输入以及预测的距离。在【111】中,从当前状态和梯度中获得更新,而【113】从初始更新的历史中预测最终状态。【112】也考虑了历史,但在子区域上进行预测,然后拼接在一起。
引入神经网络到优化循环的另一种选择是使用神经网络作为的安萨茨,例如【313, 444, 466-474】。在逆问题的背景下【313, 444, 466-470】,神经网络作为空间变化逆量的正则化器,提供更平滑和更锐利的解。对于拓扑优化,使用神经网络参数化密度函数【471-474】,没有观察到正则化效果。然而,通过神经网络的不同初始化可以获得更大的设计多样性。使用用于隐式表示的专门神经网络架构的扩展【475-480】在拓扑优化中提出【481】。此外,【313, 468, 472】展示了如何在不通过求解器进行自动微分的情况下进行梯度计算。通过链式法则分割梯度计算:
第一个梯度通过伴随状态法计算,因此可以将求解器视为一个黑箱。第二个梯度通过自动微分获得。神经网络安萨茨的另一个优势是,如果应用于具有问题特定输入的多个解,神经网络可以进行训练。因此,在足够多次反演后,神经网络可以作为预测器使用,如【482】所示。训练也可以结合标记数据进行,产生一种半监督方法,如【224, 483】所示。
3.4 后处理
后处理涉及修改和解释计算的解。一个动机是减少计算解的数值误差。这可以通过依赖于计算机视觉的专门CNN架构的超分辨率技术实现【484, 485】。使用匹配的粗细模拟作为标记数据,可以以监督方式获得粗到细映射,如湍流【462, 486】和拓扑优化【487-489】中所示。通常进行从粗到细的解场映射,但也提出了从后验误差进行映射【490】。在去均质化背景下,还提出了对代价函数的进一步专门扩展【491】。
这些方法可以类似地应用于时间数据,其中每个时间步长精细化解,例如,通过RNN作为降阶模型的修正器【492】所示。然而,动态模型中的粗离散化导致误差积累,随着时间步长的增加而增加。因此,每个时间步长简单的粗到细后处理是不够的。为此,【445, 446】在求解器预测下一个时间步之前在每个时间步进行修正。由于修正通过求解器传播,因此必须计算求解器的敏感度以进行反向传播。因此,必须使用可微求解器(即可微物理)。这显著优于纯监督方法,其中在不进行中间修正的情况下应用整个粗略轨迹。进行的步数是一个超参数,增加准确性但伴随更高的计算开销。这一概念称为“在环求解器”。
其他变体在子区域基础上进行粗到细映射,其中接口需要特殊处理【493】。另一种方法是使用神经网络将粗解映射到数据库中存储的最近的细解【494】。映射在域的子区域上进行。
其他后处理任务包括特征提取。拓扑优化后,神经网络已被用来提取基本形状,以便在后续的形状优化中使用【495, 496】。通过后处理可以确保可制造性。
最后,自适应网格细化也属于后处理类别。与第3.1.3节中讨论的网格划分方法密切相关,神经网络已被提出作为误差指示器【361, 497】,以监督方式进行训练。随后,误差指示器可以根据误差适应网格。
4 离散化作为神经网络
神经网络由线性变换和非线性函数组成,这些是大多数PDE离散化的基本构建块。因此,构建利用PDE离散化的神经网络的动机有两个。首先,可以在经典的离散化框架内利用深度学习技术。其次,产生了新的神经网络架构,这些架构更适合计算力学中的许多物理问题,但也可能在该领域之外找到其用例。
4.1 有限元法
一种方法是有限元神经网络【14, 498】(见【499-504】的应用),我们考虑从有限元离散化得到的方程系统,刚度矩阵、自由度和体积载荷:
假设材料属性在一个单元内是常数且单元是均匀的,可以对局部刚度矩阵进行预积分,如【505】所示。目标是将材料系数从积分中提取出来,得到全局刚度矩阵的组装:
将组装插入方程(64)的方程系统中,得到
嵌套求和与全连接神经网络(FCNN)有相似的结构,
因此,刚度矩阵是隐藏层。在正向问题中,是不可学习的权重,而包含来自施加的Dirichlet边界条件的可学习和不可学习权重的混合。可以根据体积载荷不匹配公式化损失,即
在逆问题中,变为可学习的,而则固定。对于逆问题中的部分域知识,变为部分可学习。
另一种方法是层次深度学习神经网络(HiDeNNs)【506】,并在【507-512】中进行了扩展。在这里,形状函数被视为由基本构建块构建的神经网络。例如,考虑一维线性形状函数
可以将其表示为神经网络,如图10所示,其中权重取决于节点位置。在元素域内有效的插值位移场通过与节点位移相乘得到,节点位移作为共享的神经网络权重。
它们是共享的,因为节点位移也用于相邻单元。最后,通过所有元素位移场的叠加得到整个域上的位移,首先将其乘以在对应元素域内为1,外部为0的阶跃函数。
通过最小化变分损失函数解决正向问题,如第3.2节中所述,节点值作为可学习权重。根据【506】的说法,这相当于有限元中用于大型方程组的迭代求解过程。额外的优点是无缝集成-细化【513-515】(也称为自适应网格细化),即通过使节点位置可学习来将节点位置移动到最佳位置。需要特别注意避免元素反转,这是通过附加的损失项来处理的。逆问题也可以通过使用可学习的输入参数来解决,如拓扑优化【512】中所示。
该方法已经与降阶模型技术结合【508】。此外,形状函数已经通过卷积进行扩展【510, 511】。具体来说,引入了权重场,即带有可学习扩展参数的核(例如,径向基函数),通过卷积增强有限元空间,从而增加空间的表达性和连续性:
这在元素之间引入了平滑效果,可以通过使用神经网络高效地实现,从而获得更有利的数据结构以充分利用GPU的并行化能力【511】。增强空间已被纳入HiDeNN框架。虽然独立的确认仍然缺失,但作者承诺与传统有限元求解器相比,速度提升了几个数量级【512】。
最后,另一种与有限元相关的方法被称为FEA-net【516, 517】。在这里,全局刚度矩阵和解向量的矩阵-向量乘法以及全局刚度矩阵的组装被卷积替代。换句话说,力向量的计算用于计算残差。
假设均匀网格和均质材料属性,网格由图11所示的部分定义。自由度仅与其相邻单元和的刚度贡献相互作用。因此,作用于节点的力分量可以通过卷积表示:
这可以类似地应用于所有自由度,假设每个单元具有相同的刚度贡献,卷积滤波器为。
然后,可以在最小化方程(72)中的残差的迭代方案中利用卷积。这节省了构建和存储全局刚度矩阵的工作量。通过将滤波器构建为相邻单元材料属性的函数,可以考虑异质性【517】。如果使用相同的迭代求解器,FEA-Net能够在均匀网格上的非线性问题中超越经典有限元方法。
4.2 有限差分法
类似的思想也被用于有限差分法【518】,例如在【313】中使用卷积核作为利用GPU能力的高效神经网络库的模板实现。这里,可学习参数可以是逆问题的有限差分模板或正向问题的输出。例如,在全波形反演背景下,这是通过RNN建模的【519, 520】。模板被写为卷积滤波器,并反复应用于当前状态和相应的输入。这些输入是波场、材料分布和源。然后可以将问题视为RNN。然而,执行整个时间步长的自动微分以获得全波形反演的灵敏度在计算上非常昂贵,无论是内存还是计算时间。解决方法是将自动微分与伴随状态法结合使用,如【313, 468, 472】和
第3.3.3节讨论的那样。
将这一想法更进一步,可以将离散化波动方程视为模拟RNN【521】,其中权重是材料分布。这里,在源和探测位置之间的可训练区域中学习二元材料。输入编码为信号并作为源发射,在探测位置处测量输出。通过积分输出,可以对输入进行分类。
4.3 材料离散化
深度材料网络【522, 523】从材料分布中构建神经网络。输出由基本构建块构建,灵感来自于分析均质化技术。给定两个材料,定义它们的柔顺张量和体积分数,计算一个分析有效柔顺张量。随后,使用旋转张量对有效张量进行旋转,该张量根据三个旋转角定义,得到旋转后的有效张量。因此,构建块将两个柔顺张量作为输入,输出旋转后的有效柔顺张量,其中是可学习参数(见图13)。通过连接这些构建块,可以创建一个大型网络。该网络应用于RVE的均质化任务【522, 523】,评估过程中变化相的材料。
4.4 神经微分方程
在更一般的设置中,神经常微分方程【402】考虑常微分方程的前向欧拉离散化。具体来说,RNN被视为连续变换的欧拉离散化【524-526】。考虑RNN隐藏状态的迭代更新规则。
这里,是RNN中一个递归单元的评估。在时间步长的极限,隐藏单元的动态可以用常微分方程参数化
网络的输入是初始条件,输出是时间处的解。神经网络的输出是通过解方程(76)用微分方程求解器得到的。权重更新的灵敏度计算使用伴随状态法【453, 527】,因为通过求解器的每个时间步长进行反向传播会导致高内存成本。这也使得可以将求解器视为一个黑箱。类似的扩展到PDE【525】被提议通过考虑带有残差连接的递归CNN,其中CNN充当空间梯度。
类似地,【528】建立了深度残差RNN与迭代求解器之间的联系。神经网络中的残差连接允许信息绕过神经网络层。考虑使用经典求解器估计PDE的下一个状态。残差根据真实解确定:
用神经网络制定迭代校正方案。迭代以上标(k)表示。
注意,残差连接,即在预测时直接使用,允许信息传递超过递归单元。相关方法见【529】,其中自编码器迭代作用于解直到收敛。在第一次迭代中,随机初始解作为输入。
5 生成方法
生成方法(详见[33]在设计领域的深度综述和[530]的实用教科书)旨在建模数据集的潜在概率分布,以生成类似于训练数据的新数据。主要有三种方法:
自动编码器 生成对抗网络(GAN) 扩散模型
这些方法在附录B中有详细描述。目前,在计算力学中的两个主要应用领域是微结构生成(见5.1.1节)和生成设计(见5.1.2节),前者旨在为替代模型生成足够数量的现实训练数据,后者依赖算法在设计者设定的约束内高效地探索设计空间。
5.1 应用
5.1.1 数据生成
变分自动编码器和GAN在计算力学中的最简单应用是基于现有示例生成新数据。如[531-535]所示,这在微结构中得到了验证,在全波形反演中使用的速度模型在[93]中有验证,并在[536]中使用GAN进行了优化结构的验证。变分自动编码器也被用于在进化算法中建模交叉操作,从父设计中创建新设计[537]。使用扩散模型生成微结构的应用见[538-540]。
微结构由于其固有的三维特性,往往只能获得二维参考图像,因此提出了能够从代表性二维切片创建三维结构的专门架构[541-543]。该方法通常涉及将三维体素数据视为二维像素切片序列。从单个切片预测图像序列,最终形成三维微结构。在[544]中,RNN被应用于二维参考图像,生成额外的维度,从而创建三维结构。RNN应用于编码器-解码器架构中的潜在向量,使RNN的输入和输出尺寸相对较小。类似地,[545, 546]将变压器[172]应用于潜在向量。使用变分自动编码器GAN的另一种方法在[547]中提出,用于从二维图像重建三维多孔介质模型。
生成的数据集可以随后用于训练替代模型,如[536, 548-550]中所示,使用CNN验证设计的物理性质,以及[551]中使用CNN对微结构进行均质化的研究。类似地,[93, 552]生成了真实的材料分布,如速度分布,以训练用于全波形反演的逆算子。
5.1.2 生成设计和设计优化
在生成设计中,生成器也可以视为设计空间的重新参数化,减少设计变量的数量。使用自动编码器时,潜在向量作为设计参数[553, 554],然后进行优化【25】。类似地,[556]发现点云自动编码器[117, 557, 558]作为几何降维工具(可能结合性能特征)可以有效地探索设计空间。在GAN的背景下,优化任务旨在提供给生成器的随机输入ξ。这种方法在多项研究中得到了验证,例如用NURBS曲面参数化船体设计[559],用贝塞尔曲线表示翼型形状[560, 561],结构优化[562],以及全波形反演[563]。对于优化,变分自动编码器GAN尤为重要,因为GAN确保了高质量的设计,而自动编码器则确保了良好的梯度行为。这在[564]中对微结构优化进行了验证。
生成设计的一个重要要求是设计的多样性。实现这一点需要确保生成的数据覆盖整个设计空间。为此,可以扩展成本函数,如[565]所示,使用行列式点过程[566]或在[559]中使用一个空间填充项[567]。
其他策略专门致力于促进设计多样性。这涉及通过新颖性评分[568]来识别新颖设计。这些设计中的新颖性被分段并使用在[569]中概述的方法修改GAN。另一种由[570]提出的方法量化创造力并最大化它。这是通过判别器对预先确定的类别进行分类来实现的。如果分类不成功,则设计必须在类别之外,因此被视为创造性的。这样,生成器则试图最小化分类准确性。
然而,由于美学[571]或可制造性[572]等因素,一些应用需要类似于以前的设计。在[571]中,包含了与以前设计的像素级L1距离【26】。一个完整的工作流程包括生成设计,强制以前设计的相似性以及用于量化机械性能的替代模型训练,这在[573]中有描述。另一种选择是使用样式迁移技术[555],这在[574]中被纳入传统拓扑优化方案[575]作为损失中的约束。这些工具旨在为拓扑优化中基于以前设计的模糊约束提供支持。
GAN还可以应用于逆问题,如[576]中所示,用于全波形反演。生成器预测材料分布,用于可微模拟提供正向解的形式。判别器试图区分间接来自生成器的地震图和测量的地震图。通过梯度下降确定基础材料分布。
5.1.3 条件生成
如前所述,GAN可以接受特定输入以决定输出的性质。与第2.1节的数据驱动替代模型的关键区别在于,GAN提供了一种工具,可以在给定相同条件输入的情况下生成多个输出。因此,它们适用于具有多个解决方案的问题,例如设计优化或数据生成。
条件生成的示例包括从汽车草图生成汽车渲染图[577]、分层形状生成[578],其中子形状考虑其父形状,以及拓扑优化,从未优化结构的初始场(如应变能)预测最佳结构[579, 580]。物理属性也可以用作输入。生成后通过可微分求解器计算这些属性,并将其纳入损失中。例如,[581]中呈现了飞机形状,[582]中呈现了逆均质化。对于全波形反演,[583]训练了一个条件GAN,以地震图作为输入预测相应的速度分布。类似的努力见[584],使用CycleGANs[585]绕过配对数据的需求。这里,一个生成器生成地震图,另一个生成相应的速度分布。预测由两个独立的判别器进行判断。此外,循环一致性损失确保从预测到预测,即或,与初始输入或匹配。这种循环一致性损失确保了在地震图和速度分布之间转换时,所学习的变换保留了原始地震图或速度分布的基本特征和结构。
最后,如第3.4节所讨论的,粗细映射也可以通过GAN学习。例如,在拓扑优化中,这在条件GAN细化从经典优化[579, 586]或CNN预测[102]获得的粗略设计中得到验证。对于流体流动等时间问题,时间步之间的时间一致性是一个额外的挑战。可以通过第二个判别器来确保时间一致性,该判别器接收三个连续帧的数据或生成器的数据,并决定它们是真实的还是生成的。该方法称为tempoGAN[587]。
5.1.4 异常检测
最后,生成模型的另一个应用是异常检测,见[588]的综述。这对于无损检测尤为有价值,可以识别出存在异常的样品。该方法依赖于生成模型,并尝试重建几何。在评价过程中,测试结构被输入神经网络。在自动编码器的情况下,如[589],被输入到编码器和解码器。对于GAN,如[590-592]所讨论,生成器的输入被优化以尽可能适应输出。重建中的不匹配提供了一个空间相关的度量,以确定异常(即缺陷)的位置。
另一种方法是直接使用判别器,如[593]所示。如果给定一个有缺陷的样品给判别器,它将被分类为假的,因为在训练期间它不属于无损结构。判别器还可以用于检查替代模型的应用域是否有效。与替代模型使用相同的训练数据进行训练,判别器估计待测试数据与训练数据之间的差异性。对于大差异,判别器检测到替代模型变得无效【27】。
6 深度强化学习
在强化学习中,智能体通过一系列动作 (a_t) 与环境进行交互,如图14所示。执行动作 (a_t) 后,智能体从环境中获得更新的状态 (s_{t+1}) 和奖励 (r_{t+1})。智能体的目标是最大化累积奖励 (R_\delta)。环境可以被视为一个黑盒子,这在可微分物理不可行的计算力学(例如碰撞模拟[594])中是一种优势。强化学习在游戏(如Atari[20]、围棋[595]和StarCraft II[596])中取得了令人印象深刻的成果,还在机器人学中得到了成功应用,例如自主直升机飞行中的复杂机动学习[598-600]。全面回顾强化学习超出了本工作的范围,因为它代表了机器学习的一个主要分支。介绍请参见[25, 38],详细教科书见[45]。然而,在这些领域的交叉点是深度强化学习,它使用神经网络来建模智能体的动作。在附录C中,我们介绍了深度强化学习的主要概念,并深入探讨了两个突出的方法:深度策略网络(附录C.1)和深度Q学习(附录C.2),以及它们在计算力学中的应用。
6.1 应用
深度强化学习主要用于逆问题(见[25]关于流体力学的综述),其中PDE求解器被视为一个黑盒,假定不可微分。
最突出的应用是控制问题。一个例子是发现鱼类的游泳策略——目标是高效地减少与领导鱼的距离[601, 602]。环境由Navier-Stokes方程给出。另一个例子是使用尽可能少的力平衡刚体与流体喷射[603]。类似地,[604]通过控制喷射来减少圆柱体周围的阻力。控制圆柱体尾迹中的小旋转圆柱以减少阻力的复杂例子[605]。更复杂的例子是控制无人飞行器[606]。控制方案通过与模拟交互学习,然后在实验中应用。
在逆问题方面的其他应用包括学习滤波器以扰动流动以匹配目标流动[607]。还可以识别本构律。本构律中的各个算术操作可以表示为图。智能体构建图以最佳匹配模拟和测量[608],从而得出可解释的本构律。
拓扑优化也已通过强化学习解决。具体来说,期望只预测二进制状态(有材料或无材料),而不是中间状态,如固体各向同性材料惩罚法(SIMP)[609, 610]。这已在二进制桁架结构中得到验证,建模为图,以在应力约束下最小化总结构体积。在[611]中,智能体从现有结构中移除桁架,在[612]中添加桁架。类似地,[613]移除固体结构中的有限元以修改拓扑。相反,[614]追求设计多样性。这里,神经网络替代模型从参考设计中预测接近最优的结构。智能体然后学习生成参考设计作为输入,使对应的最优结构尽可能多样化。
高维PDE也已通过强化学习求解[615, 616]。这是通过将PDE重新表述为随机控制问题,从而通过强化学习求解。
最后,自适应网格细化算法已通过强化学习学习[617]。智能体根据当前状态(即网格和解)决定是否细化元素。奖励随后根据误差减少来定义,并通过真实解计算。训练后的智能体可以应用于以前未见过的仿真中的自适应网格细化。
6.1.1 扩展
每次与环境交互都需要求解微分方程,由于多次交互,强化学习变得昂贵。可以通过一些基本修改来加速学习。可以通过同时使用多个环境来完全并行化学习[618],或者在同一环境中使用多个智能体[619]。另一种想法是构建环境的替代模型,从而利用基于模型的方法[620-623]。一般程序包括三个步骤:
模型学习:学习环境的替代模型 行为学习:学习策略或价值函数 环境交互:应用学习到的策略并收集数据
大多数方法通过数据驱动建模(第2.1节)构建替代模型,但也提出了物理信息方法[620, 622](第3.2节)。
7 结论与展望
为了结构化地展示最突出的计算力学中使用的深度学习方法,本文概述了五个主要类别:仿真替代、仿真增强、作为神经网络的离散化、生成方法和深度强化学习。
尽管文献丰富多样,但与经典方法相比,少有方法具有竞争力。这在文献中缺乏将基于神经网络的方法与经典方法进行比较时表现得尤为明显。我们发现很少有证据表明基于神经网络的方法在计算力学中真正优于经典方法。然而,除少数例外,目前的研究仍处于早期阶段,主要关注展示可能性,而不是过多关注准确性和效率。未来的研究必须转而更加深入地研究所开发方法的性能,包括与任务专用的经典方法进行全面而有意义的比较。这与最近关于拓扑优化中深度学习的综述文章[22]的观点一致,后者呼吁进行更为严格和公平的评估。这包括确定泛化能力,通过包括最坏情况表现等来提高透明度,以及计算时间而不忽略训练时间。
基于此,并根据我们的了解,我们提供了对讨论方法的潜力和局限性的最终概述。
仿真替代在需要多次评估的参数化模型的替代建模方面具有潜力。然而,目前这仅能在小参数空间内实现,因为所需数据量巨大,不太可能取代已建立的方法,如[42]所述。如果通过模型阶次缩减技术先将复杂问题简化到低维空间,神经网络替代模型仍然可以解决复杂问题。物理信息学习进一步减少了所需数据量,提高了泛化能力。然而,通过惩罚项强加物理约束增加了计算负担,且解仍不一定满足相应的物理定律。相反,通过构造强加物理定律保证其遵守,比通过惩罚项增加约束更为有利。 仿真增强目前是最有前途的研究领域之一。它特别有利于经典方法难以解决的任务。一个很好的例子是本构律的公式化,这些公式本质上是现象学的,因此非常适合使用深度学习等工具从数据中识别。此外,仿真增强使得能够利用计算力学自诞生以来发展起来的经典方法的见解。此外,目前用神经网络学习仿真链中的较小部分而不是整个模型更为现实。这些部分最好是昂贵的,且对准确性和可靠性的要求有限。最后,评估深度学习增强的方法是否优于经典方法更为容易,因为直接和公平的比较是很容易实现的。 作为神经网络的离散化是一项有趣的研究方向,因为这提供了发现专门为计算力学任务设计的神经网络的潜力,如用于计算机视觉的卷积神经网络(CNN)或用于自然语言处理的循环神经网络(RNN)和变压器。在计算力学中,它们的主要优势似乎在于能够利用为深度学习更广泛社区创建的工具和硬件的计算优势——如为GPU编程的神经网络库,这些库实现了高效且轻松的大规模并行化。在我们的评估中,没有发现任何方法能够在使用可比的计算资源时一致地优于经典方法。 生成方法已被证明在计算力学中的应用非常多样,因为在这里对特定实例的准确性关注较少。它们已被用于生成统计上等效的数据以训练其他机器学习模型,将基于数据的模糊约束纳入优化框架,以及检测异常。 深度强化学习已经显示出令人鼓舞的结果,例如在复杂物理环境中控制无人飞行器。它主要适用于无法获得高效可微分物理求解器的问题,因此在湍流控制问题中很受欢迎。然而,在存在可微分求解器的情况下,基于梯度的方法仍然是最先进的[443],因此被优先考虑。
💙整理不易,希望各位道友能够多多支持宝库,支持邪云宝库!你的一个点赞、一次转发、 随手分享,都是宝库前进的最大动力~
💛2024,不忘初心,宝库会给大家带来更好的内容,让我们2024,一起暴富!