图核网络-史上最详细解析
Neural Operator: Graph Kernel Network for Partial Differential Equations
摘要
神经网络的经典发展主要针对有限维欧几里得空间之间的映射或两个有限维欧几里得空间之间的映射。我们工作的目的是将神经网络推广到可以学习无限维空间之间(算子)的映射。我们工作的关键创新是,利用精心设计的网络架构中的一组网络参数,可以描述无限维空间之间的映射以及这些空间的不同有限维近似之间的映射。我们通过组合非线性激活函数和一类积分算子来形式化无限维映射的近似。核积分通过图网络上的消息传递来计算。这种方法具有重要的实际意义,我们将在输入数据与偏微分方程(PDEs)及其解之间的映射的背景下进行说明。在这种背景下,这种学习的网络可以在不同的 PDE 近似方法(例如有限差分法或有限元法)之间进行泛化,并且可以在不同的分辨率和离散化级别的近似之间进行泛化。实验确认了所提出的图核网络具有期望的属性,并且显示出与最先进求解器相媲美的性能。
解释:关于有限维无限维的解释请查看link:http://t.csdnimg.cn/GFqp1
1.引言
在许多应用中,学习 Banach 空间之间的映射是非常有用的。特别是,输入空间或输出空间,或两者,可能是无限维的。学习此类映射的可能性为神经网络的设计开辟了新领域,具有广泛的潜在应用性。新想法需要基于传统神经网络的构建,这些网络是从有限维欧几里得空间映射到类别,或者映射到另一个有限维欧几里得空间。我们研究了在输入和输出空间由定义在 R d \mathbb{R}^{d} Rd子集上的实值函数组成的情况下神经网络的发展。
1.1 文献回顾与背景
我们提出了一类新的神经网络,这类神经网络被定义为在一个有界的 D ⊂ R d D\subset\mathbb{R}^d D⊂Rd 集合上映射函数空间。此类神经网络一旦训练完成,具有一个重要特性,即它们对离散化具有不变性,能够在不同的离散化之间共享相同的网络参数。相比之下,传统神经网络架构在很大程度上依赖于离散化,难以在不同的网格表示之间进行泛化。
我们的方法具有一个基于 Nystrom 近似公式的底层结构(Nystrom, 1930),它将不同的网格链接到一组网络参数上。我们在偏微分方程 (PDE) 的背景下展示了这类神经网络的新概念性应用,以及在输入数据(以函数形式)与输出数据(求解 PDE 的函数)之间的映射。我们同时考虑了监督和半监督的设置。
在 PDE 应用中,定义方程通常是局部的,而求解算子具有非局部效应,尽管这些效应会衰减。这些非局部效应可以通过 Nystrom 类型的积分算子描述,它为通过不同网格或数据结构连接提供了一致的方法,解决了计算方法中的问题。由于这一原因,图神经网络在 PDE 求解算子中展现了巨大的潜力,这也是我们工作的出发点。
解释
- 离散化不变性:传统神经网络在处理不同的网格表示时表现不佳,特别是当输入数据以不同的离散程度方式呈现时,网络难以泛化。
- Nystrom 近似:Nystrom 近似是一种用于求解积分方程的数值方法,通过采样和权重来逼近积分。作者利用 Nystrom 近似来连接不同的网格,统一表示不同的离散化方法。这种方法使得神经网络可以在不同的网格结构之间应用相同的参数,提高了网络的适应性。
- 非局部效应和图神经网络:在 PDE 应用中,方程的局部性与解算子的非局部性之间存在差异。非局部效应是指解在空间中的某个点可能会受到其他远处点的影响。
偏微分方程 (PDEs)。许多重要的工程和物理问题由 PDEs 控制。在过去的几十年里,PDE 的制定(Gurtin, 1982)和求解(Johnson, 2012)方面取得了显著进展,这些 PDE 控制了从微观尺度问题(如量子和分子动力学)到宏观尺度应用(如土木和海洋工程)的许多领域。尽管在实际应用中使用 PDEs 取得了成功,但在解决这些问题的过程中仍然面临两个主要挑战。
首先,识别或制定适合特定问题建模的基本 PDE 通常需要对相关领域有广泛的先验知识,然后结合普遍的守恒定律来设计预测模型。例如,建模固体结构的变形和断裂需要详细了解组成材料中的应力和应变之间的关系。对于复杂系统(如活细胞)来说,获得这种知识往往是困难的,制定此类系统的控制 PDE 仍然是一项巨大的挑战;从数据中学习这种知识的可能性可能会彻底改变这些领域。
第二,求解复杂的非线性 PDE 系统(如湍流和塑性问题)在计算上非常耗费资源;再次,使用来自此类计算的数据设计快速近似求解器的可能性具有巨大的潜力。在这两个挑战中,如果神经网络能够充分利用日益增多的数据量,那么就需要将它们设计为能够很好地适应函数空间之间的映射。
我们首先概述了两种主要的基于神经网络的 PDE 方法。我们考虑如下形式的 PDE:
( L a u ) ( x ) = f ( x ) , x ∈ D u ( x ) = 0 , x ∈ ∂ D (\mathcal{L}_{a}u)(x)=f(x),\quad x\in D\\u(x)=0,\quad x\in\partial D (Lau)(x)=f(x),x∈Du(x)=0,x∈∂D
其中,解 u u u是定义在 D ⊆ R D\subseteq\mathbb{R} D⊆R上的实数值函数,参数 a a a 是定义在 D ⊆ R D\subseteq\mathbb{R} D⊆R上的实数值函数。域 D D D 被离散化为 K K K 个点(见第 2 节),并且 N N N 对参数函数和(近似的)解函数 { a j , u j } j = 1 N \{a_j,u_j\}_{j=1}^{N} {
aj,uj}j=1N被用来设计神经网络。
第一种方法是将解算子参数化为有限欧几里得空间之间的深度卷积神经网络 F : R K × Θ → R K F:\mathbb{R}^K\times\Theta\to\mathbb{R}^K F:RK×Θ→RK(Guo et al., 2016; Zhu and Zabaras, 2018; Adler and Oktem, 2017; Bhatnagar et al., 2019)。这种方法本质上并不与网格无关,需要对架构进行修改以适应不同的分辨率和离散化,从而尽可能保持一致的误差。我们在第 4 节中使用 Zhu and Zabaras (2018) 提出的架构来展示这个问题,该架构是为在 64×64 网格上求解方程设计的。此外,这种方法仅限于用于离散化空间的解,因为它不能在新点处查询解。
第二种方法 直接将解 u u u 参数化为神经网络 F : D × Θ → R \mathcal{F}:D\times\Theta\to\mathbb{R} F:D×Θ→R(E and Yu, 2018; Raissi et al., 2019; Bar and Sochen, 2019)。这种方法显然是网格无关的,因为解是定义在物理域上的。然而,参数依赖性体现在与网格相关的方式上。实际上,对于给定的新方程和新系数函数 a a a,需要重新训练一个新的神经网络 F a \mathcal{F}_a Fa 。这种方法与经典方法(如有限元法)非常相似,后者用有限集局部基函数的线性组合替代神经网络空间。这种方法存在与经典方法相同的计算问题:对于每个新参数,都需要解决一个优化问题。此外,该方法仅限于在已知的 PDE 情形中使用,而当函数之间的映射是完全数据驱动的学习时,这种方法不可行。我们提出的方法解决了这些问题。
我们的方法最接近经典的简化基方法(DeVore, 2014)或 Cohen 和 DeVore 的方法(Cohen and DeVore, 2015)。与当代的相关工作(Bhattacharya et al., 2020)一起,据我们所知,这是第一个实用的深度学习方法,专门用于学习无限维空间之间的映射。它解决了 Guo et al., 2016 和 Zhu and Zabaras, 2018 提出的网格相关问题,并通过产生与函数分辨率无关的近似质量,从而使解能够在网格之间转移。此外,它只需要对方程组 { a j , u j } j = 1 N \{a_j,u_j\}_{j=1}^{N} { aj,uj}j=1N行一次训练;随后对于新参数 a ∼ μ a\sim\mu a∼μ 的解。只需要进行一次网络的前向传播,从而缓解了 E and Yu, 2018 和 Raissi et al., 2019 所面临的主要计算问题。
最后,我们的方法不需要了解潜在的 PDE;实际上,映射 F 可以被视为一个黑盒,可能基于实验数据或昂贵计算机模拟的结果进行训练,而不必是 PDE 的形式。
图神经网络 (GNNs):图神经网络 (GNNs) 是一类作用于图结构数据的神经网络,近年来得到了广泛的发展并应用于各种领域。图神经网络包含了诸如图卷积、边卷积、注意力机制和图池化等技术(Kipf and Welling, 2016;Hamilton et al., 2017)。
GNNs 还被应用于物理现象的建模,如分子(Chen et al., 2019)和刚体系统(Battaglia et al., 2018),因为这些问题天然具备图结构的解释:粒子是节点,交互作用是边。Alet et al., 2019 的工作进行了初步研究,使用图网络来学习泊松方程的解,以及其他物理应用。他们提出了一种编码器-解码器设置,在潜在空间中构建图,并使用编码器和解码器之间的消息传递。然而,他们的模型使用了最近邻结构,当网格大小增加时,无法捕捉到非局部依赖性。
与之相反,我们直接构造一个图,节点位于输出函数的空间域上。通过消息传递,我们可以直接学习近似 PDE 解的网络核函数。当查询一个新位置时,我们只需将一个新节点添加到我们的空间图中,并将其连接到现有节点,通过利用 Nystrom 扩展避免插值误差。
连续神经网络 (Continuous Neural Networks):在无限维空间中定义神经网络的概念是一个长期研究的核心问题(Williams, 1996;Neal, 1996;Roux and Bengio, 2007;Globerson and Livni, 2016;Guss, 2016)。通常的思路是取无限宽极限,这将产生一种非参数方法,并与高斯过程回归有关联(Neal, 1996;Matthews et al., 2018;Garriga-Alonso et al., 2018),引入了深度高斯过程(Damianou and Lawrence, 2013;Dunlop et al., 2018)。然而,这些方法尚未产生可以与卷积神经网络或循环神经网络的成功相媲美的高效数值算法。
另一种思路是定义每一层为无限维空间之间的映射,具有有限维的参数依赖。这是我们在本工作中采用的方法,通过在每层之间共享参数,进一步推进这一思想。
1.2 贡献
我们引入了神经算子的概念,并通过图核网络(graph kernel networks)实现它,这是一种新型的深度神经网络方法,用于学习定义在 R D \mathbb{R}^D RD 上有界开集的无限维函数空间之间的映射。
-
与现有方法不同,我们的方法能够在不同的近似和网格之间学习函数空间之间的映射,这在图 1.1 中有所展示。
-
我们使用了 Nystrom 扩展,将函数空间上的神经网络与基于任意、可能非结构化网格的 GNN 系列连接起来。
-
我们展示了神经算子方法具有与经典方法和深度学习方法相当的近似精度。
-
数值结果还表明,神经算子只需要在少量样本上训练,就能泛化到整个问题类。
-
我们展示了进行半监督学习的能力,能够从少量点的数据中学习并泛化到整个域。
这些概念在一类典型的椭圆型偏微分方程(PDE)中得到了体现,该类问题广泛出现在科学和工程领域。
2. 问题设置
我们的目标是通过有限的输入-输出对集合,学习两个无限维空间之间的映射:监督学习。令 A A A 和 U U U 是可分的 Banach 空间,且 F † : A → U \mathcal{F}^{\dagger}:A\to U F†:A→U是一个(通常)非线性映射。假设我们有观察值 { a j , u j } j = 1 N \{a_j,u_j\}_{j=1}^{N} { aj,uj}j=1N,其中a_{j}\sim\mu 是从定义在 A A A 上的概率测度 μ μ μ 中独立同分布的序列,且 u j = F † ( a j ) u_j=\mathcal{F}^\dagger(a_j) uj=F†(aj)可能被噪声污染。我们旨在通过构建一个参数化映射 F : A × Θ → U ( 2 ) \mathcal{F}:A\times\Theta\to U(2) F:A×Θ→U(2)来逼近 F † \mathcal{F}^\dagger F†,其中 Θ \Theta Θ是一个有限维参数空间,通过选择 θ ∗ ∈ Θ \theta^{*}\in\Theta θ∗∈Θ使得 F ( ⋅ , θ ∗ ) ≈ F † \mathcal{F}(\cdot,\theta^*)\approx\mathcal{F}^\dagger F(⋅,θ∗)≈F†。
这是一个在无限维空间中学习的自然框架,因为我们可以定义一个代价函数 C : U × U → R C:U×U→R C:U×U→R,并求解问题的最小化:
min θ ∈ Θ E a ∼ μ [ C ( F ( a , θ ) , F † ( a ) ) ] \min_{\theta\in\Theta}\mathbb{E}_{a\sim\mu}[C(\mathcal{F}(a,\theta),\mathcal{F}^\dagger(a))] θ∈ΘminEa∼μ[C(F(a,θ),F†(a))]
这一问题与经典的有限维问题完全对应(Vapnik, 1998)。在无限维环境中,展示最小化解的存在性仍然是一个具有挑战性的开放问题。我们将通过训练-测试框架来处理这个问题,其中经验近似被用来计算代价。我们将我们的方法概念化为允许所有有限维近似共享一组网络参数,并在无限维环境中定义(无近似自由的)问题。
具体而言,我们将考虑 Banach 空间上的映射,它们由定义在 R d R^d Rd
上有界开集中的实值函数组成。这些映射将输入函数转换为 PDE 的输入,并将它们映射到 PDE 的解,其中输入和解都是定义在 R d R^d Rd上的实值函数。
一个常见的此类问题是对二阶椭圆 PDE 的逼近:
− ∇ ⋅ ( a ( x ) ∇ u ( x ) ) = f ( x ) , x ∈ D ( 3 ) -\nabla \cdot (a(x) \nabla u(x)) = f(x), \quad x \in D (3) −∇⋅(a(x)∇u(x))=f(x),x∈D(3) u ( x ) = 0 , x ∈ ∂ D u(x) = 0, \quad x \in \partial D u(x)=0,x∈∂D
对于某个有界开集 D ⊂ R d D \subset \mathbb{R}^d D⊂Rd,和一个固定函数 f ∈ L 2 ( D ; R ) f \in L^2(D; \mathbb{R}) f∈L2(D;R),该方程是众多应用中典型的 PDE,包括水文学和弹性力学的步伐(Bear and Corapcioglu, 2012; Antman, 2005)。对于给定的 a ∈ A = L ∞ ( D ; R + ) ∩ L 2 ( D ; R + ) a \in A = L^\infty(D; \mathbb{R}^+) \cap L^2(D; \mathbb{R}^+) a∈A=L∞(D;R+)∩L2(D;R+),方程 (3) 有唯一的弱解 u ∈ U = H 0 1 ( D ; R ) u \in U = H^1_0(D; \mathbb{R}) u∈U=H01(D;R),因此我们可以将解算子 F † \mathcal{F}^{\dagger} F† 定义为映射 a ↦ u a \mapsto u a↦u。尽管 PDE (3) 是线性的,解算子 F † \mathcal{F}^{\dagger} F† 并非如此。
由于我们的数据 a j a_j aj 和 u j u_j uj 通常是函数,为了数值计算,我们假设只能访问点评估数据。为了说明这一点,我们将继续使用上一段的例子,定义 P K = x 1 , … , x K ⊂ D P_K = {x_1, \dots, x_K} \subset D PK=x1,…,xK⊂D,这是域 D D D 的一个 K 点离散化,且假设我们有观测值 a j ∣ P K , u j ∣ P K ∈ R K a_j|{P_K}, u_j|{P_K} \in \mathbb{R}^K aj∣PK