论文Automatic discovery of optimal meta-solvers via multi-objective optimization《通过多目标优化自动发现最佳元解算器》主要讨论了一种新的方法,通过结合神经算子(Neural Operators)和经典的迭代求解方法,自动发现求解偏微分方程(PDE)离散化所产生线性系统的最优元解算器。
论文作者为Youngkyu Lee, Shanqing Liu, Jerome Darbon, George Em Karniadakis,来自Brown University。
1. 背景和动机
偏微分方程(PDEs)广泛用于描述自然科学和工程学科中的各种物理过程,例如热传导、流体流动、电磁场、材料变形等。在这些应用中,PDE求解的速度和精度是决定科学计算和工程设计效率的关键因素之一。
在科学计算中,特别是在涉及数十亿未知量的大规模问题中,找到高效的求解方法一直是一个巨大的挑战。此外,PDE求解在不确定性量化(Uncertainty Quantification)等多查询应用中也扮演重要角色,要求在不同的条件(初始条件、边界条件、材料属性等)下多次重复求解。这类应用对计算性能提出了更高的要求。
目前,最常用的求解PDE离散化方程组的方法包括经典的有限差分法、有限元法和谱方法等。在这些方法中,生成的离散化线性系统需要使用数值方法求解。早期,这些线性系统通常使用简单的迭代方法求解,如Jacobi、Gauss-Seidel,以及它们的变体SOR(Successive Over-Relaxation)和SSOR(Symmetric SOR)方法。随着计算规模的增大,Krylov子空间方法(如共轭梯度法Conjugate Gradient,GMRES和BiCGStab等)逐渐成为求解大规模线性系统的主流,因为这些方法具有更低的迭代计算成本,且适合并行计算环境。
近年来,科学机器学习(Scientific Machine Learning,SciML)得到了广泛关注,尤其是用于解决物理和工程中出现的PDE数值求解问题。SciML结合了传统数值方法与现代机器学习技术,提供了一种新的求解思路。特别是,深度算子网络(DeepONet)、傅里叶神经算子(FNO)等神经算子在PDE求解方面展现了很大潜力。然而,由于神经网络的光谱偏置(spectral bias)特性,神经算子在精细尺度上近似算子时存在挑战,难以有效处理高频误差。
为此,混合预条件策略应运而生,即利用神经算子定义迭代求解器的预条件器,而不是直接作为解算器。这些混合方法已被证明在减少计算时间和迭代次数方面非常有效,但如何自动找到最优的元解算器以适应不同的目标问题仍然是一个尚未解决的问题。本文的主要目标就是通过多目标优化来自动发现最优的元解算器。
2. 研究贡献
论文提出了两类元解算器,即relaxation-based方法和Krylov方法,这两类元解算器都结合了神经算子和经典数值解算方法的优势。
- relaxation-based方法的元解算器:通过将神经算子与简单的迭代解算方法(如Jacobi和Gauss-Seidel)结合,设计了一种混合求解策略。神经算子的优势在于它能够很好地近似误差的低频部分,而迭代解算方法则可以处理高频误差,达到快速收敛的效果。具体而言,这些神经算子使用了DeepONet的主干网络作为粗尺度的预条件器,用于加速整体收敛。
- 基于Krylov方法的元解算器:通过将神经算子与Krylov子空间方法结合(如GMRES、BiCGStab),进一步提高了求解的效率。在这种混合方法中,神经算子被用来定义一种特殊的预条件器,以此提升Krylov方法的收敛性能。
论文提出了一种多目标优化(MOO)框架来系统化地发现这些元解算器中的最优者。多目标优化考虑了多个评价指标,包括计算时间、相对误差、迭代次数、收敛速度、内存使用和训练时间等。最优的元解算器通过Pareto前沿的概念来选择,这些解算器在某些指标上表现出色,但在其它指标上可能稍逊一筹。
此外,论文引入了偏好函数的概念,允许用户根据实际需求(例如更关注速度还是更关注精度)选择特定场景下的最优解算器。偏好函数将多目标优化问题重新定义为一个经典的单目标优化问题,通过一个线性规划(LP)算法可以找到用户偏好的最优解算器。
3. 方法论
3.1 参数化元解算器
- relaxation-based方法的元解算器:这些解算器通过一个四维子空间来参数化,分别表示神经算子的选择、经典迭代解算器的选择、神经算子与传统解算器的比例以及多重网格的层数。
- 基于Krylov方法的元解算器:这些解算器通过一个五维子空间来参数化,除了选择神经算子和Krylov解算器,还包括relaxation方法的选择、relaxation步骤的策略以及多重网格的层数。
3.2 多目标优化与Pareto最优
在多目标优化的框架下,每个元解算器的性能用一个向量值函数来评估,这个向量的每个分量代表某一特定性能指标。由于在现实中很难找到一个解算器在所有指标上都是最优的,因此采用Pareto最优的概念来描述这些解算器。Pareto最优解是指不存在其它解算器在所有指标上都优于它的解算器。Pareto前沿是指所有Pareto最优解的集合,这些解算器代表了在不同指标组合下可能的最优性能。
3.3 偏好函数的发现
通过引入偏好函数,可以让用户在Pareto最优解中选择最符合特定需求的解算器。偏好函数是一个递增函数,用于对各个性能指标进行加权和选择。这样,优化问题就变成了在Pareto最优解集合中最小化偏好函数的值。
4. 数值实验
论文通过数值实验验证了所提方法的有效性,分别测试了一维、二维和三维泊松方程(Poisson Equation),这些方程在科学和工程中有着广泛的应用。
4.1 relaxation-based方法元解算器的实验结果
实验设计了588种不同组合的relaxation-based方法元解算器,用于三维泊松方程的求解。通过分析不同解算器在多目标指标下的表现,共发现了119个Pareto最优解算器。
在对这些最优解算器进行分析时,发现:
- JacobiKAN和ChebyKAN是最常出现在Pareto最优解算器中的神经算子。
- SSOR是最常使用的经典迭代解算器,占据了大部分的Pareto最优解算器。
- 两级多重网格方法在大多数情况下都表现得非常优秀,表明多重网格在减少计算时间和加速收敛方面起到了关键作用。
4.2 Krylov方法元解算器的实验结果
实验设计了900种Krylov方法元解算器,用于三维泊松方程的求解,发现了其中的210个Pareto最优解算器。
分析表明:
- FBiCGStab方法是最优解算器中最常出现的Krylov方法,其次是FGMRES方法。
- SSOR是最常使用的relaxation-based方法,特别是在结合多级网格技术时表现尤为突出。
- 多级网格的二级和三级方法对于提高整体性能至关重要,尤其是在大规模三维求解中,较高级的多重网格往往表现更好。
4.3 偏好函数下的最优解发现
论文通过不同的偏好函数来选择最优的元解算器。例如,当用户更加注重计算时间时,选择的解算器与注重误差或者内存使用的解算器会有所不同。实验中展示了不同偏好函数下的前3个最优解算器的具体组合,并分析了这些解算器在计算时间、误差、内存使用等指标上的表现。
5. 结论与未来工作
论文通过提出结合神经算子与传统迭代求解方法的元解算器,利用多目标优化和Pareto前沿的方法来系统化地自动发现最优解算器,显著提高了偏微分方程离散化系统的求解效率。未来,论文计划将这种自动化的方法扩展到非线性系统求解中,以及时间相关的PDE的求解问题上,以应对更多科学与工程中的复杂应用场景。