Learning Neural PDE Solvers with Convergence Guarantees

Jun-Ting Hsieh, Shengjia Zhao, Stephan Eismann, Lucia Mirabella, Stefano Ermon

Introduction

Partial differential equations (PDEs) are ubiquitous tools for modeling physical phenomena, such as heat, electrostatics, and quantum mechanics. Traditionally, PDEs are solved with hand-crafted approaches that iteratively update and improve a candidate solution until convergence. Decades of research and engineering went into designing update rules with fast convergence properties.

The performance of existing solvers varies greatly across application domains, with no method uniformly dominating the others. Generic solvers are typically effective, but could be far from optimal for specific domains. In addition, high performing update rules could be too complex to design by hand. In recent years, we have seen that for many classical problems, complex updates learned from data or experience can out-perform hand-crafted ones. For example, for Markov chain Monte Carlo, learned proposal distributions lead to orders of magnitude speedups compared to hand-designed ones (Song et al., 2017; Levy et al., 2017). Other domains that benefited significantly include learned optimizers (Andrychowicz et al., 2016) and learned data structures (Kraska et al., 2018). Our goal is to bring similar benefits to PDE solvers.

Hand-designed solvers are relatively simple to analyze and are guaranteed to be correct in a large class of problems. The main challenge is how to provide the same guarantees with a potentially much more complex learned solver. To achieve this goal, we build our learned iterator on top of an existing standard iterative solver to inherit its desirable properties. The iterative solver updates the solution at each step, and we learn a parameterized function to modify this update. This function class is chosen so that for any choice of parameters, the fixed point of the original iterator is preserved. This guarantees correctness, and training can be performed to enhance convergence speed. Because of this design, we only train on a single problem instance; our model correctly generalizes to a variety of different geometries and boundary conditions with no observable loss of performance. As a result, our approach provides: (i) theoretical guarantees of convergence to the correct stationary solution, (ii) faster convergence than existing solvers, and (iii) generalizes to geometries and boundary conditions very different from the ones seen at training time. This is in stark contrast with existing deep learning approaches for PDE solving (Tang et al., 2017; Farimani et al., 2017) that are limited to specific geometries and boundary conditions, and offer no guarantee of correctness.

Our approach applies to any PDE with existing linear iterative solvers. As an example application, we solve the 2D Poisson equations. Our method achieves a 2-3×\times speedup on number of multiply-add operations when compared to standard iterative solvers, even on domains that are significantly different from our training set. Moreover, compared with state-of-the-art solvers implemented in FEniCS (Logg et al., 2012), our method achieves faster performance in terms of wall clock CPU time. Our method is also simple as opposed to deeply optimized solvers such as our baseline in FEniCS (minimal residual method + algebraic multigrid preconditioner). Finally, since we utilize standard convolutional networks which can be easily parallelized on GPU, our approach leads to an additional 30×30\times speedup when run on GPU.

Background

In this section, we give a brief introduction of linear PDEs and iterative solvers. We refer readers to LeVeque (2007) for a thorough review.

where the function b{\mathscr{b}} is usually clear from the underlying physical problem. As in previous literature, we refer to G{\mathcal{G}} as the geometry of the problem, and b{\mathscr{b}} as the boundary value. We refer to the pair (G,b)({\mathcal{G}},{\mathscr{b}}) as the boundary condition. In this paper, we only consider linear PDEs and boundary conditions that have unique solutions.

2 Finite Difference Method

We discretize all three terms in the equation Au=f\mathcal{A}{\mathscr{u}}={\mathscr{f}} and boundary condition (G,b)({\mathcal{G}},{\mathscr{b}}). The PDE solution u{\mathscr{u}} is discretized such that ui,j=u(xi,yj)u_{i,j}={\mathscr{u}}(x_{i},y_{j}) corresponds to the value of u{\mathscr{u}} at grid point (xi,yj)(x_{i},y_{j}). We can similarly discretize f{\mathscr{f}} and b{\mathscr{b}}. In linear PDEs, the linear operator A{\mathcal{A}} is a linear combination of partial derivative operators. For example, for the Poisson equation A=∇2=∑i∂2∂xi2{\mathcal{A}}=\nabla^{2}=\sum_{i}\frac{\partial^{2}}{\partial x_{i}^{2}}. Therefore we can first discretize each partial derivative, then linearly combine the discretized partial derivatives to obtain a discretized A{\mathcal{A}}.

Finite difference is a method that approximates partial derivatives in a discretized space, and as mesh width h→0h\rightarrow 0, the approximation approaches the true derivative. For example, ∂2∂x2u\frac{\partial^{2}}{\partial x^{2}}{\mathscr{u}} can be discretized in 2D as ∂2∂x2u≈1h2(ui−1,j−2ui,j+ui+1,j)\frac{\partial^{2}}{\partial x^{2}}{\mathscr{u}}\approx\frac{1}{h^{2}}(u_{i-1,j}-2u_{i,j}+u_{i+1,j}), the Laplace operator in 2D can be correspondingly approximated as:

After discretization, we can rewrite Au=f{\mathcal{A}}{\mathscr{u}}={\mathscr{f}} as a linear matrix equation

3 Boundary Condition

Intuitively GG ”masks” every point in G{\mathcal{G}} to . Similarly, I−GI-G can mask every point not in G{\mathcal{G}} to . Note that the boundary values are fixed and do not need to satisfy Au=fAu=f. Thus, the solution uu to the PDE under geometry G{\mathcal{G}} should satisfy:

The first equation ensures that the interior points (points not in G{\mathcal{G}}) satisfy Au=fAu=f, and the second ensures that the boundary condition is satisfied.

To summarize, (A,G,f,b,n)({\mathcal{A}},{\mathcal{G}},{\mathscr{f}},{\mathscr{b}},n) is our PDE problem, and we first discretize the problem on an n×nn\times n grid to obtain (A,G,f,b,n)(A,G,f,b,n). Our objective is to obtain a solution uu that satisfies Eq. (4), i.e. Au=fAu=f for the interior points and boundary condition ui,j=bi,j, ∀(xi,yj)∈Gu_{i,j}=b_{i,j},\ \forall(x_{i},y_{j})\in{\mathcal{G}}.

4 Iterative Solvers

An iterator Ψ\Psi is valid w.r.t. a PDE problem (A,G,f,b,n)(A,G,f,b,n) if it satisfies:

Fixed Point: The fixed point u∗u^{*} is the solution to the linear system Au=fAu=f under boundary condition (G,b)(G,b).

Convergence: Condition (a) in Definition 1 is satisfied if the matrix TT is convergent, i.e. Tk→0T^{k}\to 0 as k→∞k\to\infty. It has been proven that TT is convergent if and only if the spectral radius ρ(T)<1\rho(T)<1 (Olver, 2008):

(Olver, 2008, Prop 7.25) For a linear iterator Ψ(u)=Tu+c\Psi(u)=Tu+c, Ψ\Psi converges to a unique stable fixed point from any initialization if and only if the spectral radius ρ(T)<1\rho(T)<1.

It is important to note that Condition (a) only depends on TT and not the constant cc.

Fixed Point: Condition (b) in Definition 1 contains two requirements: satisfy Au=fAu=f, and the boundary condition (G,b)(G,b). To satisfy Au=fAu=f a standard approach is to design Ψ\Psi by matrix splitting: split the matrix AA into A=M−NA=M-N; rewrite Au=fAu=f as Mu=Nu+fMu=Nu+f (LeVeque, 2007). This naturally suggests the iterative update

Because Eq. (6) is a rewrite of Au=fAu=f, stationary points u∗u^{*} of Eq. (6) satisfy Au∗=fAu^{*}=f. Clearly, the choices of MM and NN are arbitrary but crucial. From Theorem 1, we must choose MM such that the update converges. In addition, M−1M^{-1} must easy to compute (e.g., diagonal).

Finally we also need to satisfy the boundary condition (I−G)u=(I−G)b(I-G)u=(I-G)b in Eq.4. After each update in Eq. (6), the boundary condition could be violated. We use the “reset” operator defined in Eq. (3) to “reset” the values of ui,ju_{i,j} to bi,jb_{i,j} by Gu+(I−G)bGu+(I-G)b.

Despite the added complexity, it is still a linear update rule in the form of u′=Tu+cu^{\prime}=Tu+c in Eq. (5): we have T=GM−1NT=GM^{-1}N and c=GM−1f+(1−G)bc=GM^{-1}f+(1-G)b. As long as MM is a full rank diagonal matrix, fixed points of this equation satisfies Eq. (4). In other words, such a fixed point is a solution of the PDE problem (A,G,f,b,n)(A,G,f,b,n).

A simple but effective way to choose MM is the Jacobi method, which sets M=IM=I (a full rank diagonal matrix, as required by Proposition 1). For Poisson equations, this update rule has the following form,

For Poisson equations and any geometry GG, the update matrix T=G(I−A)T=G(I-A) has spectral radius ρ(T)<1\rho(T)<1 (see Appendix B). In addition, by Proposition 1 any fixed point of the update rule Eq.(8,9) must satisfy Eq. (4). Both convergence and fixed point conditions from Definition 1 are satisfied: Jacobi iterator Eq.(8,9) is valid for any Poisson PDE problem.

In addition, each step of the Jacobi update can be implemented as a neural network layer, i.e., Eq. (8) can be efficiently implemented by convolving uu with kernel \left(\begin{array}[]{ccc}0&1/4&0\\ 1/4&0&1/4\\ 0&1/4&0\end{array}\right) and adding h2f/4h^{2}f/4. The “reset” step in Eq. (9) can also be implemented as multiplying uu with G and adding the boundary values (1−G)b(1-G)b.

4.2 Multigrid Method

The Jacobi method has very slow convergence rate (LeVeque, 2007). This is evident from the update rule, where the value at each grid point is only influenced by its immediate neighbors. To propagate information from one grid point to another, we need as many iterations as their distance on the grid. The key insight of the Multigrid method is to perform Jacobi updates on a downsampled (coarser) grid and then upsample the results. A common structure is the V-cycle (Briggs et al., 2000). In each V-cycle, there are kk downsampling layers followed by kk upsampling layers, and multiple Jacobi updates are performed at each resolution. The downsampling and upsampling operations are also called restriction and prolongation, and are often implemented using weighted restriction and linear interpolation respectively. The advantage of the multigrid method is clear: on a downsampled grid (by a factor of 2) with mesh width 2h2h, information propagation is twice as fast, and each iteration requires only 1/4 operations compared to the original grid with mesh width hh.

Learning Fast and Provably Correct Iterative PDE Solvers

A PDE problem consists of five components (A,G,f,b,n)({\mathcal{A}},{\mathcal{G}},{\mathscr{f}},{\mathscr{b}},n). One is often interested in solving the same PDE class A{\mathcal{A}} under varying f{\mathscr{f}}, discretization nn, and boundary conditions (G,b)({\mathcal{G}},{\mathscr{b}}). For example, solving the Poisson equation under different boundary conditions (e.g., corresponding to different mechanical systems governed by the same physics). In this paper, we fix A{\mathcal{A}} but vary G,f,b,n{\mathcal{G}},{\mathscr{f}},{\mathscr{b}},n, and learn an iterator that solves a class of PDE problems governed by the same A{\mathcal{A}}. For a discretized PDE problem (A,G,f,b,n)(A,G,f,b,n) and given a standard (hand designed) iterative solver Ψ\Psi, our goal is to improve upon Ψ\Psi and learn a solver Φ\Phi that has (1) correct fixed point and (2) fast convergence (on average) on the class of problems of interest. We will proceed to parameterize a family of Φ\Phi that satisfies (1) by design, and achieve (2) by optimization.

In practice, we can only train Φ\Phi on a small number of problems (A,fi,Gi,bi,ni)(A,f_{i},G_{i},b_{i},n_{i}). To be useful, Φ\Phi must deliver good performance on every choice of G,f,bG,f,b, and different grid sizes nn. We show, theoretically and empirically, that our iterator family has good generalization properties: even if we train on a single problem (A,G,f,b,n)(A,G,f,b,n), the iterator performs well on very different choices of G,f,bG,f,b, and grid size nn. For example, we train our iterator on a 64×6464\times 64 square domain, and test on a 256×256256\times 256 L-shaped domain (see Figure 1).

For a fixed PDE problem class A{\mathcal{A}}, let Ψ\Psi be a standard linear iterative solver known to be valid. We will use more formal notation Ψ(u;G,f,b,n)\Psi(u;G,f,b,n) as Ψ\Psi is a function of uu, but also depends on G,f,b,nG,f,b,n. Our assumption is that for any choice of G,f,b,nG,f,b,n (but fixed PDE class A{\mathcal{A}}), Ψ(u;G,f,b,n)\Psi(u;G,f,b,n) is valid. We previously showed that Jacobi iterator Eq.(8,9) have this property for the Poisson PDE class.

where HH is a learned linear operator (it satisfies H0=0H0=0). The term GHwGHw can be interpreted as a correction term to Ψ(u;G,f,b,n)\Psi(u;G,f,b,n). When there is no confusion, we neglect the dependence on G,f,b,nG,f,b,n and denote as Ψ(u)\Psi(u) and ΦH(u)\Phi_{H}(u).

ΦH\Phi_{H} should have similar computation complexity as Ψ\Psi. Therefore, we choose HH to be a convolutional operator, which can be parameterized by a deep linear convolutional network. We will discuss the parameterization of HH in detail in Section 3.4; we first prove some parameterization independent properties.

The correct PDE solution is a fixed point of ΦH\Phi_{H} by the following lemma:

For any PDE problem (A,G,f,b,n)(A,G,f,b,n) and choice of HH, if u∗u^{*} is a fixed point of Ψ\Psi, it is a fixed point of ΦH\Phi_{H} in Eq. (10).

Based on the iterative rule in Eq. (10), if u∗u^{*} satisfies Ψ(u∗)=u∗\Psi(u^{*})=u^{*} then w=Ψ(u∗)−u∗=0w=\Psi(u^{*})-u^{*}=\mathbf{0}. Therefore, ΦH(u∗)=Ψ(u∗)+GH0=u∗\Phi_{H}(u^{*})=\Psi(u^{*})+GH\mathbf{0}=u^{*}. ∎

Moreover, the space of ΦH\Phi_{H} subsumes the standard solver Ψ\Psi. If H=0{H}=0, then ΦH=Ψ\Phi_{H}=\Psi. Furthermore, denote Ψ(u)=Tu+c\Psi(u)=Tu+c, then if H=T{H}=T, then since GT=TGT=T (see Eq. (7)),

which is equal to two iterations of Ψ\Psi. Computing Ψ\Psi requires one convolution TT, while computing ΦH\Phi_{H} requires two convolutions: TT and HH. Therefore, if we choose H=TH=T, then ΦH\Phi_{H} computes two iterations of Ψ\Psi with two convolutions: it is at least as efficient as the standard solver Ψ\Psi.

2 Training and Generalization

We train our iterator ΦH(u;G,f,b,n)\Phi_{H}(u;G,f,b,n) to converge quickly to the ground truth solution on a set D=\cal{D}= {(Gl,fl,bl,nl)}l=1M\{(G_{l},f_{l},b_{l},n_{l})\}_{l=1}^{M} of problem instances. For each instance, the ground truth solution u∗u^{*} is obtained from the existing solver Ψ\Psi. The learning objective is then

Intuitively, we look for a matrix HH such that the corresponding iterator ΦH\Phi_{H} will get us as close as possible to the solution in kk steps, starting from a random initialization u0u^{0} sampled from a white Gaussian. kk in our experiments is uniformly chosen from $,similartotheprocedurein(Songetal.,2017).Smaller, similar to the procedure in (Song et al., 2017). Smallerkiseasiertolearnwithlessstepstoback−propagatethrough,whilelargeris easier to learn with less steps to back-propagate through, while largerkbetterapproximatesourtest−timesetting:wecareaboutthefinalapproximationaccuracyafteragivennumberofiterationsteps.Combiningsmallerandlargerbetter approximates our test-time setting: we care about the final approximation accuracy after a given number of iteration steps. Combining smaller and largerk$ performs best in practice.

We show in the following theorem that there is a convex open set of H{H} that the learning algorithm can explore. To simplify the statement of the theorem, for any linear iterator Φ(u)=Tu+c\Phi(u)=Tu+c we will refer to the spectral radius (norm) of Φ\Phi as the spectral radius (norm) of TT.

For fixed G,f,b,nG,f,b,n, the spectral norm of ΦH(u;G,f,b,n)\Phi_{H}(u;G,f,b,n) is a convex function of H{H}, and the set of H{H} such that the spectral norm of ΦH(u;G,f,b,n)<1\Phi_{H}(u;G,f,b,n)<1 is a convex open set.

Therefore, to find an iterator with small spectral norm, the learning algorithm only has to explore a convex open set. Note that Theorem 2 holds for spectral norm, whereas validity requires small spectral radius in Theorem 1. Nonetheless, several important PDE problems (Poisson, Helmholtz, etc) are symmetric, so it is natural to use a symmetric iterator, which means that spectral norm is equal to spectral radius. In our experiments, we do not explicitly enforce symmetry, but we observe that the optimization finds symmetric iterators automatically.

For training, we use a single grid size nn, a single geometry GG, f=0f=0, and a restricted set of boundary conditions bb. The geometry we use is a square domain shown in Figure 1(a). Although we train on a single domain, the model has surprising generalization properties, which we show in the following:

For fixed A,G,nA,G,n and fixed HH, if for some f0,b0f_{0},b_{0}, ΦH(u;G,f0,b0,n)\Phi_{H}(u;G,f_{0},b_{0},n) is valid for the PDE problem (A,G,f0,b0,n)(A,G,f_{0},b_{0},n), then for all ff and bb, the iterator ΦH(u;G,f,b,n)\Phi_{H}(u;G,f,b,n) is valid for the PDE problem (A,G,f,b,n)(A,G,f,b,n).

The proposition states that we freely generalize to different ff and bb. There is no guarantee that we can generalize to different GG and nn. Generalization to different GG and nn has to be empirically verified: in our experiments, our learned iterator converges to the correct solution for a variety of grid sizes nn and geometries GG, even though it was only trained on one grid size and geometry.

Even when generalization fails, there is no risk of obtaining incorrect results. The iterator will simply fail to converge. This is because according to Lemma 1, fixed points of our new iterator is the same as the fixed point of hand designed iterator Ψ\Psi. Therefore if our iterator is convergent, it is valid.

3 Interpretation of H

What is HH trying to approximate? In this section we show that we are training our linear function GHGH to approximate T(I−T)−1T(I-T)^{-1}: if it were able to approximate T(I−T)−1T(I-T)^{-1} perfectly, our iterator ΦH\Phi_{H} will converge to the correct solution in a single iteration.

Let the original update rule be Ψ(u)=Tu+c\Psi(u)=Tu+c, and the unknown ground truth solution be u∗u^{*} satisfying u∗=Tu∗+cu^{*}=Tu^{*}+c. Let r=u∗−ur=u^{*}-u be the current error, and e=u∗−Ψ(u)e=u^{*}-\Psi(u) be the new error after applying one step of Ψ\Psi. They are related by

In addition, let w=Ψ(u)−uw=\Psi(u)-u be the update Ψ\Psi makes. This is related to the current error rr by

From Eq. (10) we can observe that the linear operator GHGH takes as input Ψ\Psi’s update ww, and tries to approximate the error ee: GHw≈eGHw\approx e. If the approximation were perfect: GHw=eGHw=e, the iterator ΦH\Phi_{H} would converge in a single iteration. Therefore, we are trying to find some linear operator RR, such that Rw=eRw=e. In fact, if we combine Eq. (13) and Eq. (14), we can observe that T(I−T)−1T(I-T)^{-1} is (uniquely) the linear operator we are looking for

where (I−T)−1(I-T)^{-1} exists because ρ(T)<1\rho(T)<1, so all eigenvalues of I−TI-T must be strictly positive. Therefore, we would like our linear function GHGH to approximate T(I−T)−1T(I-T)^{-1}.

Note that (I−T)−1(I-T)^{-1} is a dense matrix in general, meaning that it is impossible to exactly achieve GH=T(I−T)−1GH=T(I-T)^{-1} with a convolutional operator HH. However, the better GHGH is able to approximate T(I−T)−1T(I-T)^{-1}, the faster our iterator converges to the solution u∗u^{*}.

4 Linear Deep Networks

In our iterator design, HH is a linear function parameterized by a linear deep network without non-linearity or bias terms. Even though our objective in Eq. (12) is a non-linear function of the parameters of the deep network, this is not an issue in practice. In particular, Arora et al. (2018) observes that when modeling linear functions, deep networks can be faster to optimize with gradient descent compared to linear ones, despite non-convexity.

Even though a linear deep network can only represent a linear function, it has several advantages. On an n×nn\times n grid, each convolution layer only requires O(n2)O(n^{2}) computation and have a constant number of parameters, while a general linear function requires O(n4)O(n^{4}) computation and have O(n4)O(n^{4}) parameters. Stacking dd convolution layers allows us to parameterize complex linear functions with large receptive fields, while only requiring O(dn2)O(dn^{2}) computation and O(d)O(d) parameters. We experiment on two types of linear deep networks:

Conv model. We model HH as a network with 3×33\times 3 convolutional layers without non-linearity or bias. We will refer to a model with kk layers as “Convkk”, e.g. Conv3 has 3 convolutional layers.

U-Net model. The Conv models suffer from the same problem as Jacobi: the receptive field grows only by 1 for each additional layer. To resolve this problem, we design the deep network counter-part of the Multigrid method. Instead of manually designing the sub-sampling / super-sampling functions, we use a U-Net architecture (Ronneberger et al., 2015) to learn them from data. Because each layer reduces the grid size by half, and the ii-th layer of the U-Net only operates on (2−in)(2^{-i}n)-sized grids, the total computation is only increased by a factor of

compared to a two-layer convolution. The minimal overhead provides a very large improvement of convergence speed in our experiments. We will refer to Multigrid and U-Net models with kk sub-sampling layers as Multigridkk and U-Netkk, e.g. U-Net2 is a model with 2 sub-sampling layers.

Experiments

We evaluate our method on the 2D Poisson equation with Dirichlet boundary conditions, ∇2u=f\nabla^{2}{\mathscr{u}}={\mathscr{f}}. There exist several iterative solvers for the Poisson equation, including Jacobi, Gauss-Seidel, conjugate-gradient, and multigrid methods. We select the Jacobi method as our standard solver Ψ\Psi.

To reemphasize, our goal is to train a model on simple domains where the ground truth solutions can be easily obtained, and then evaluate its performance on different geometries and boundary conditions. Therefore, for training, we select the simplest Laplace equation, ∇2u=0\nabla^{2}{\mathscr{u}}=0, on a square domain with boundary conditions such that each side is a random fixed value. Figure 1(a) shows an example of our training domain and its ground truth solution. This setting is also used in Farimani et al. (2017) and Sharma et al. (2018).

For testing, we use larger grid sizes than training. For example, we test on 256×256256\times 256 grid for a model trained on 64×6464\times 64 grids. Moreover, we designed challenging geometries to test the generalization of our models. We test generalization on 4 different settings: (i) same geometry but larger grid, (ii) L-shape geometry, (iii) Cylinders geometry, and (iv) Poisson equation in same geometry, but f≠0f\neq 0. The two geometries are designed because the models were trained on square domains and have never seen sharp or curved boundaries. Examples of the 4 settings are shown in Figure 1.

2 Evaluation

As discussed in Section 2.4, the convergence rate of any linear iterator can be determined from the spectral radius ρ(T)\rho(T), which provides guarantees on convergence and convergence rate. However, a fair comparison should also consider the computation cost of HH. Thus, we evaluate the convergence rate by calculating the computation cost required for the error to drop below a certain threshold.

On GPU, the Jacobi iterator and our model can both be efficiently implemented as convolutional layers. Thus, we measure the computation cost by the number of convolutional layers. On CPU, each Jacobi iteration ui,j′=14(ui−1,j+ui+1,j+ui,j−1+ui,j+1)u_{i,j}^{\prime}=\frac{1}{4}(u_{i-1,j}+u_{i+1,j}+u_{i,j-1}+u_{i,j+1}) has 4 multiply-add operations, while a 3×33\times 3 convolutional kernel requires 9 operations, so we measure the computation cost by the number of multiply-add operations. This metric is biased in favor of Jacobi because there is little practical reason to implement convolutions on CPU. Nonetheless, we report both metrics in our experiments.

3 Conv Model

Table 1 shows results of the Conv model. The model is trained on a 16×1616\times 16 square domain, and tested on 64×6464\times 64. For all settings, our models converge to the correct solution, and require less computation than Jacobi. The best model, Conv3, is ∼5×\sim 5\times faster than Jacobi in terms of layers, and ∼2.5×\sim 2.5\times faster in terms of multiply-add operations.

As discussed in Section 3.2, if our iterator converges for a geometry, then it is guaranteed to converge to the correct solution for any ff and boundary values bb. The experiment results show that our model not only converges but also converges faster than the standard solver, even though it is only trained on a smaller square domain.

4 U-Net Model

For the U-Net models, we compare them against Multigrid models with the same number of subsampling and smoothing layers. Therefore, our models have the same number of convolutional layers, and roughly 9/49/4 times the number of operations compared to Multigrid. The model is trained on a 64×6464\times 64 square domain, and tested on 256×256256\times 256.

The bottom part of Table 1 shows the results of the U-Net model. Similar to the results of Conv models, our models outperforms Multigrid in all settings. Note that U-Net2 has lower computation cost compared with Multigrid2 than U-Net3 compared to Multigrid 3. This is because Multigrid2 is a relatively worse baseline. U-Net3 still converges faster than U-Net2.

5 Comparison with FEniCS

The FEniCS package (Logg et al., 2012) provides a collection of tools with high-level Python and C++ interfaces to solve differential equations. The open-source project is developed and maintained by a global community of scientists and software developers. Its extensive optimization over the years, including the support for parallel computation, has led to its widespread adaption in industry and academia (Alnæs et al., 2015).

We measure the wall clock time of the FEniCS model and our model, run on the same hardware. The FEniCS model is set to be the minimal residual method with algebraic multigrid preconditioner, which we measure to be the fastest compared to other methods such as Jacobi or Incomplete LU factorization preconditioner. We ignore the time it takes to set up geometry and boundary conditions, and only consider the time the solver takes to solve the problem. We set the error threshold to be 1 percent of the initial error. For the square domain, we use a quadrilateral mesh. For the L-shape and cylinder domains, however, we let FEniCS generate the mesh automatically, while ensuring the number of mesh points to be similar.

Figure 2 shows that our model is comparable or faster than FEniCS in wall clock time. These experiments are all done on CPU. Our model efficiently runs on GPU, while the fast but complex methods in FEniCS do not have efficient GPU implementations available. On GPU, we measure an additional 30×30\times speedup (on Tesla K80 GPU, compared with a 64-core CPU).

Related Work

Recently, there have been several works on applying deep learning to solve the Poisson equation. However, to the best of our knowledge, previous works used deep networks to directly generate the solution; they have no correctness guarantees and are not generalizable to arbitrary grid sizes and boundary conditions. Most related to our work are (Farimani et al., 2017) and (Sharma et al., 2018), which learn deep networks to output the solution of the 2D Laplace equation (a special case where f=0f=0). (Farimani et al., 2017) trained a U-Net model that takes in the boundary condition as a 2D image and outputs the solution. The model is trained by L1 loss to the ground truth solution and an adversarial discriminator loss. (Sharma et al., 2018) also trained a U-net model but used a weakly-supervised loss. There are other related works that solved the Poisson equation in concrete physical problems. (Tang et al., 2017) solved for electric potential in 2D/3D space; (Tompson et al., 2017) solved for pressure fields for fluid simulation; (Zhang et al., 2018) solved particle simulation of a PN Junction.

There are other works that solve other types of PDEs. For example, many studies aimed to use deep learning to accelerate and approximate fluid dynamics, governed by the Euler equation or the Navier-Stokes equations (Guo et al., 2016; Yang et al., 2016; Chu & Thuerey, 2017; Kutz, 2017). (Eismann et al., 2018) use Bayesian optimization to design shapes with reduced drag coefficients in laminar fluid flow. Other applications include solving the Schrodinger equation (Mills et al., 2017), turbulence modeling (Singh et al., 2017), and the American options and Black Scholes PDE (Sirignano & Spiliopoulos, 2018). A lot of these PDEs are nonlinear and may not have a standard linear iterative solver, which is a limitation to our current method since our model must be built on top of an existing linear solver to ensure correctness. We consider the extension to different PDEs as future work.

Conclusion

We presented a method to learn an iterative solver for PDEs that improves on an existing standard solver. The correct solution is theoretically guaranteed to be the fixed point of our iterator. We show that our model, trained on simple domains, can generalize to different grid sizes, geometries and boundary conditions. It converges correctly and achieves significant speedups compared to standard solvers, including highly optimized ones implemented in FEniCS.

Acknowledgements

This research was supported by NSF (#1651565, #1522054, #1733686), ONR (N00014-19-1-2145), AFOSR (FA9550-19-1-0024), Siemens, and JP Morgan.

References

Appendix A Proofs

Theorem 1. For a linear iterator Ψ(u)=Tu+c\Psi(u)=Tu+c, Ψ\Psi converges to a unique stable fixed point from any initialization if and only if the spectral radius ρ(T)<1\rho(T)<1.

Suppose ρ(T)<1\rho(T)<1, then (I−T)−1(I-T)^{-1} must exist because all eigenvalues of I−TI-T must be strictly positive. Let u∗=(I−T)−1cu^{*}=(I-T)^{-1}c; this u∗u^{*} is a stationary point of the iterator Ψ\Psi, i.e. u∗=Tu∗+cu^{*}=Tu^{*}+c. For any initialization u0u^{0}, let uk=Ψk(u0)u^{k}=\Psi^{k}(u^{0}). The error ek=u∗−uke^{k}=u^{*}-u^{k} satisfies

Since ρ(T)<1\rho(T)<1, we know Tk→0T^{k}\to 0 as k→∞k\to\infty (LeVeque, 2007), which means the error ek→0e^{k}\to 0. Therefore, Ψ\Psi converges to u∗u^{*} from any u0u^{0}.

Now suppose ρ(T)≥1\rho(T)\geq 1. Let λ1\lambda_{1} be the largest absolute eigenvalue where ρ(T)=∣λ1∣≥1\rho(T)=|\lambda_{1}|\geq 1, and v1v_{1} be its corresponding eigenvector. We select initialization u0=u∗+v1u^{0}=u^{*}+v_{1}, then e0=v1e^{0}=v_{1}. Because ∣λ1∣≥1\lvert\lambda_{1}\rvert\geq 1, we have ∣λ1k∣≥1\lvert\lambda_{1}^{k}\rvert\geq 1, then

However we know that under a different initialization u^0=u∗\hat{u}^{0}=u^{*}, we have e^0=0\hat{e}^{0}=0, so Tke^0=0T^{k}\hat{e}^{0}=0. Therefore the iteration cannot converge to the same fixed point from different initializations u0u^{0} and u^0\hat{u}^{0}.

Let u∗u^{*} be a fixed point of Eq. (7) then

The latter equation is equivalent to GM−1(Au∗−f)=0GM^{-1}(Au^{*}-f)=0. If MM is a full rank diagonal matrix, this implies G(Au∗−f)=0G(Au^{*}-f)=0, which is GAu∗=GfGAu^{*}=Gf. Therefore, u∗u^{*} satisfies Eq.(4). ∎

Theorem 2. For fixed G,f,b,nG,f,b,n, the spectral norm of ΦH(u;G,f,b,n)\Phi_{H}(u;G,f,b,n) is a convex function of H{H}, and the set of H{H} such that the spectral norm of ΦH(u;G,f,b,n)<1\Phi_{H}(u;G,f,b,n)<1 is a convex open set.

As before, denote Ψ(u)=Tu+c\Psi(u)=Tu+c. Observe that

The spectral norm ∥⋅∥2\lVert\cdot\rVert_{2} is convex with respect to its argument, and (T+GHT−GH)(T+GHT-GH) is linear in HH. Thus, ∥T+GHT−GH∥2\lVert T+GHT-GH\rVert_{2} is convex in H{H} as well. Thus, under the condition that ∥T+GHT−GH∥2<1\lVert T+GHT-GH\rVert_{2}<1, the set of H{H} must be convex because it is a sub-level set of the convex function ∥T+GHT−GH∥2\lVert T+GHT-GH\rVert_{2}.

To prove that it is open, observe that ∥⋅∥2\lVert\cdot\rVert_{2} is a continuous function, so ∥T+GHT−GH∥2\lVert T+GHT-GH\rVert_{2} is a continuous map from H{H} to the spectral radius of ΦH\Phi_{H}. If we consider the set of HH such that ∥T+GHT−GH∥2<1\lVert T+GHT-GH\rVert_{2}<1, this set is the preimage of (−ϵ,1)(-\epsilon,1) for any ϵ>0\epsilon>0. As (−ϵ,1)(-\epsilon,1) is open, its preimage must be open.

Proposition 2. For fixed A,G,nA,G,n and fixed HH, if for some f0,b0f_{0},b_{0}, ΦH(u;G,f0,b0,n)\Phi_{H}(u;G,f_{0},b_{0},n) is valid for the PDE problem (A,G,f0,b0,n)(A,G,f_{0},b_{0},n), then for all ff and bb, the iterator ΦH(u;G,f,b,n)\Phi_{H}(u;G,f,b,n) is valid for the PDE problem (A,G,f,b,n)(A,G,f,b,n).

From Theorem 1 and Lemma 1, our iterator is valid if and only if ρ(T+GHT−GH)<1\rho(T+GHT-GH)<1. The iterator T+GHT−GHT+GHT-GH only depends on A,GA,G, and is independent of the constant cc in Eq. (18). Thus, the validity of the iterator is independent with ff and bb. Thus, if the iterator is valid for some f0f_{0} and b0b_{0}, then it is valid for any choice of ff and bb.

Appendix B Proof of Convergence of Jacobi Method

In Section 2.4.1, we show that for Poisson equation, the update matrix T=G(I−A)T=G(I-A). We now formally prove that ρ(G(I−A))<1\rho(G(I-A))<1 for any GG.

For any matrix TT, the spectral radius is bounded by the spectral norm: ρ(T)≤∥T∥2\rho(T)\leq\lVert T\rVert_{2}, and the equality holds if TT is symmetric. Since (I−A)(I-A) is a symmetric matrix, ρ(I−A)=∥I−A∥2\rho(I-A)=\lVert I-A\rVert_{2}. It has been proven that ρ(I−A)<1\rho(I-A)<1 (Frankel, 1950). Moreover, ∥G∥2=1\lVert G\rVert_{2}=1. Finally, matrix norms are sub-multiplicative, so

ρ(T)<1\rho(T)<1 is true for any GG. Thus, the standard Jacobi method is valid for the Poisson equation under any geometry.