Large linear systems are ubiquitous in modern computational science and engineering. The main recipe for solving them is the use of Krylov subspace iterative methods with well-designed preconditioners. Deep learning models can be used as nonlinear preconditioners during the iteration of linear solvers such as the conjugate gradient (CG) method. Neural network models require an enormous number of parameters to approximate well in this setup. Another approach is to take advantage of small graph neural networks (GNNs) to construct preconditioners with predefined sparsity patterns. Recently, GNNs have been shown to be a promising tool for designing preconditioners to reduce the overall computational cost of iterative methods by constructing them more efficiently than with classical linear algebra techniques. However, preconditioners designed with these approaches cannot outperform those designed with classical methods in terms of the number of iterations in CG. In our work, we recall well-established preconditioners from linear algebra and use them as a starting point for training the GNN to obtain preconditioners that reduce the condition number of the system more significantly. Numerical experiments show that our approach outperforms both classical and neural network-based methods for an important class of parametric partial differential equations. We also provide a heuristic justification for the loss function used and show that preconditioners obtained by learning with this loss function reduce the condition number in a more desirable way for CG.
翻译:大型线性系统在现代计算科学与工程中无处不在。求解这类系统的主要方法是使用带有精心设计预条件子的Krylov子空间迭代法。深度学习模型可作为非线性预条件子,在线性求解器(如共轭梯度法)的迭代过程中使用。在此设置下,神经网络模型需要大量参数才能实现良好近似。另一种方法是利用小型图神经网络,通过预定义的稀疏模式构建预条件子。近期研究表明,GNN已成为设计预条件子的有前景工具,相比经典线性代数技术能更高效地构建预条件子,从而降低迭代方法的整体计算成本。然而,采用这些方法设计的预条件子在CG迭代次数方面仍无法超越经典方法设计的预条件子。本研究回顾线性代数中成熟的预条件子,将其作为训练GNN的起点,以获得能更显著降低系统条件数的预条件子。数值实验表明,对于一类重要的参数偏微分方程,我们的方法在性能上超越了经典方法和基于神经网络的方法。我们还对所使用的损失函数给出了启发式论证,并证明通过该损失函数学习得到的预条件子能以更适合CG的方式降低条件数。