Source-linked AI summary

Solving the Kolmogorov PDE by means of deep learning

Christian Beck, Sebastian Becker, Philipp Grohs, Nor Jaafari, Arnulf Jentzen

arXiv:1806.00421v2math.NAcs.LGcs.NAmath.PRstat.ML

TL;DR

Existing methods for Kolmogorov PDEs face either high-dimensional computational difficulty or provide approximations only at a single space-time point. The paper proposes a deep-learning-based method for approximating the solution over a region, with numerical results indicating effectiveness in high dimensions in accuracy and speed.

  • Problem

    Deterministic PDE methods suffer from the curse of dimensionality, while Monte Carlo methods typically approximate the solution only at a single fixed space-time point.

    Source: §1 · p. 3
  • Method

    The method reformulates the Kolmogorov PDE as an infinite-dimensional stochastic optimization problem, discretizes it in time using the SDE and in space with fully connected deep neural networks, then applies stochastic-gradient-type optimization.

    Source: §1 · p. 3
  • Results

    Numerical results indicate that the proposed algorithm is effective in high dimensions in terms of accuracy and speed.

    Source: §1 · p. 3
  • Takeaways & Limitations

    The proposed method intends to approximate the PDE solution over an entire region [a, b]^d while addressing the curse of dimensionality.

    Source: §1 · p. 3

    The formal PDE setup assumes Lipschitz continuous drift and diffusion functions and a C1,2 solution with at most polynomially growing partial derivatives.

    Source: §2.1 · p. 4

Abstract

from arXiv · show

Stochastic differential equations (SDEs) and the Kolmogorov partial differential equations (PDEs) associated to them have been widely used in models from engineering, finance, and the natural sciences. In particular, SDEs and Kolmogorov PDEs, respectively, are highly employed in models for the approximative pricing of financial derivatives. Kolmogorov PDEs and SDEs, respectively, can typically not be solved explicitly and it has been and still is an active topic of research to design and analyze numerical methods which are able to approximately solve Kolmogorov PDEs and SDEs, respectively. Nearly all approximation methods for Kolmogorov PDEs in the literature suffer under the curse of dimensionality or only provide approximations of the solution of the PDE at a single fixed space-time point. In this paper we derive and propose a numerical approximation method which aims to overcome both of the above mentioned drawbacks and intends to deliver a numerical approximation of the Kolmogorov PDE on an entire region $[a,b]^d$ without suffering from the curse of dimensionality. Numerical results on examples including the heat equation, the Black-Scholes model, the stochastic Lorenz equation, and the Heston model suggest that the proposed approximation algorithm is quite effective in high dimensions in terms of both accuracy and speed.

1 Introduction

Kolmogorov PDEs are widely used but typically lack explicit solutions, and existing numerical approaches have complementary high-dimensional and pointwise limitations. The paper proposes a deep-learning-based approximation method intended to address both limitations over an entire region.

  • SDEs and their associated Kolmogorov PDEs are widely used in engineering, finance, and natural sciences, including approximative financial-derivative pricing, but typically cannot be solved explicitly.Source: §1 · p. 2
  • Deterministic PDE methods work efficiently in one or two dimensions but suffer from the curse of dimensionality, while Monte Carlo methods typically approximate only one fixed space-time point.Source: §1 · p. 3
  • The proposed method aims to approximate the Kolmogorov PDE across [a, b]^d without suffering from the curse of dimensionality, and numerical results indicate high-dimensional effectiveness in accuracy and speed.Source: §1 · p. 3

2 Derivation and description of the proposed approximation algorithm

The paper derives and specifies a numerical scheme for the stated approximation problem, with related approximation schemes cited as context.

  • Section 2 derives the proposed approximation algorithm and describes it in special and general cases.Source: §2 · p. 4
  • The section derives and specifies a numerical scheme for the approximation problem, alongside related derivations and schemes.Source: §2 · p. 4

2.1 Kolmogorov partial differential equations (PDEs)

The section sets out a Kolmogorov PDE problem under regularity conditions and identifies the target as the terminal-time solution over a bounded region.

  • The PDE setup assumes Lipschitz continuous drift and diffusion functions and a solution with at most polynomially growing partial derivatives.Source: §2.1 · p. 4
  • The approximation target is the function x ↦ u(T, x) on [a, b]^d.Source: §2.1 · p. 4

2.2 On stochastic differential equations and Kolmogorov PDEs

The section recalls the Feynman–Kac representation for the PDE using an SDE framework. It then uses that representation together with the PDE to establish a relation for every x.

  • The section recalls the classical Feynman–Kac formula as a probabilistic representation for solutions of the PDE.Source: §2.2 · p. 4
  • The setup introduces a filtered probability space, Brownian motion, and adapted continuous-path processes indexed by initial state x.Source: §2.2 · p. 4
  • The Feynman–Kac formula together with the PDE yields a relation that holds for every x.Source: §2.2 · p. 4

2.3 Formulation as minimization problem

This section formulates evaluation of u(T, x) over [a, b]^d as an L2-minimization problem based on the Feynman–Kac representation, with u(T, x) the unique global minimizer of expected squared error against the terminal payoff. It then outlines approximation by discretizing the stochastic process and using a deep neural network.

2.3 Formulation as minimization problem

  • The proposed minimization problem has the function x ↦ u(T, x) as its unique global minimizer on [a, b]^d.Proposition 2.7 applies the random-field minimization result in the context of the Feynman–Kac representation.Source: §2.3 · pp. 5, 17
  • The L2-minimization property for real-valued random variables is extended to random fields, yielding a unique continuous function equal to their pointwise expectations.Proposition 2.2 assumes finite second moments and continuity of the expectation function.Source: §2.3 · pp. 5–7
  • The proof of Proposition 2.7 relies on auxiliary results in Lemmas 2.3–2.6, including joint measurability and stochastic-process estimates.The section also includes the proofs of those auxiliary lemmas.Source: §2.3 · pp. 5, 9, 11
  • The unique continuous function U on [a, b]^d satisfies U(x)=u(T, x)=E[ϕ(X_T^x)].The equality to the stochastic expectation follows from the Feynman–Kac formula.Source: §2.3 · pp. 18–20
  • The function V(x)=u(T, x) is the unique global minimizer of E[|ϕ(X_T)−V(ξ)|²].Here ξ is continuously uniformly distributed on [a, b]^d.Source: §2.3 · pp. 20–21
  • The subsequent approximation discretizes X and uses a deep neural network to approximate x↦u(T, x).These steps are developed in Subsections 2.4 and 2.5, respectively.Source: §2.3 · p. 21

2.4 Discretization of the stochastic differential equation

The section uses Euler–Maruyama to discretize the SDE in time, then invokes a strong-convergence result for the scheme.

2.4 Discretization of the stochastic differential equation

  • Euler–Maruyama is used to temporally discretize the SDE solution process.The scheme is defined on a time grid from 0 to T.Source: §2.4 · p. 21
  • Theorem 2.8 gives a strong-convergence rate result for the Euler–Maruyama scheme under its stated assumptions.The preceding bound is stated to hold with a constant independent of N.Source: §2.4 · pp. 21–22
  • The discretized process is specified by a stepwise stochastic update beginning from the initial random variable.The section relates this update to the SDE over each time interval.Source: §2.4 · pp. 21–22

2.5 Deep artificial neural network approximations

The method represents the terminal-time PDE solution with a deep neural network whose parameters and input determine its output. The network output is intended to approximate the solution across [a, b]^d.

2.5 Deep artificial neural network approximations

  • A deep neural network is proposed to approximate u(T, x) for suitable parameters and inputs in [a, b]^d.The output is treated as an approximation of the PDE solution at time T.Source: §2.5 · p. 22
  • The construction composes affine maps with a multidimensional logistic function across the network layers.The section gives the logistic function and parameterized affine-map construction.Source: §2.5 · pp. 22–23
  • The described network uses logistic activation functions and has an input layer, hidden layers, and an output layer.The stated architecture has d neurons in the input and output layers and d neurons in each hidden layer.Source: §2.5 · p. 23

2.6 Stochastic gradient descent-type minimization

The section seeks network parameters by minimizing an objective with a stochastic-gradient-descent-type algorithm. Monte Carlo approximates the objective's derivative, and sufficiently late iterates are intended to yield an approximation of u(T, x) over [a, b]^d.

2.6 Stochastic gradient descent-type minimization

  • The algorithm seeks parameters that approximately minimize the objective defining the network approximation to u(T, x).The network output is intended to approximate the terminal-time PDE solution across [a, b]^d.Source: §2.6 · pp. 23–24
  • A stochastic gradient descent-type algorithm uses Monte Carlo to approximate the derivative of the objective.The objective is the function introduced in (107).Source: §2.6 · p. 23
  • For sufficiently large iteration indices, the parameters are regarded as approximations of local minima and the resulting network as an approximation of u(T, x).The statement is conditional on appropriate hypotheses.Source: §2.6 · p. 24

2.7 Description of the algorithm in a special case

The special case uses a particular neural-network approximation with plain-vanilla stochastic gradient descent at a constant learning rate. Under appropriate hypotheses, its output approximates the PDE solution across [a,b]^d for sufficiently large iteration counts.

2.7 Description of the algorithm in a special case

  • The special case chooses a particular neural-network approximation and plain-vanilla stochastic gradient descent with a constant learning rate.The section refers readers to Subsection 2.8 for the more general description.Source: §2.7 · p. 24
  • The algorithm samples independent initial points uniformly from [a,b]^d and uses independent Brownian motions to define its stochastic processes.The framework specifies a time grid from 0 to T.Source: §2.7 · p. 24
  • The network composes affine maps Aθ,v with Ld: Rd→Rd, the componentwise logistic map that sends each coordinate x_i to exp(x_i)/(exp(x_i)+1).Source: §2.7 · pp. 24–25
  • For sufficiently large m, U(Θm,x) is presented as an approximation of u(T,x) for every x in [a,b]^d, under appropriate hypotheses.The solution u is assumed to have at most polynomially growing partial derivatives.Source: §2.7 · p. 25

2.8 Description of the algorithm in the general case

The general framework covers the earlier approximation method and permits minimization algorithms beyond plain-vanilla stochastic gradient descent. Under appropriate hypotheses, its output is intended to approximate u(T,x) throughout [a,b]^d.

2.8 Description of the algorithm in the general case

  • The framework covers the methods derived earlier and allows minimization algorithms beyond plain-vanilla stochastic gradient descent.The paper describes it as an extension of E et al., Han et al. [24], and Beck et al. [3] for linear Kolmogorov PDEs.Source: §2.8 · p. 25
  • Framework 2.10 includes a time grid, stochastic processes X, and parameter and auxiliary processes Θ, S, and Ξ.It defines update functions for the parameter and auxiliary processes.Source: §2.8 · pp. 25–26
  • For sufficiently large m, UΘm,1,Sm(x) is presented as an approximation of u(T,x) for every x in [a,b]^d, under appropriate hypotheses.The solution is assumed to have at most polynomially growing partial derivatives, and the coefficients µ and σ are sufficiently regular.Source: §2.8 · p. 26

3 Examples

This section tests the proposed approximation algorithm on heat, geometric Brownian motion, Black–Scholes with correlated noise, the stochastic Lorenz equation, and the Heston model. It describes a shared neural-network setup and reports relative approximation errors across multiple values of m for the Lorenz and Heston examples.

3.1 Setting

  • The shared implementation uses a fully connected network with two hidden layers, batch normalization, tanh activations, Xavier initialization, and Adam with mini-batches of 8192.Computations use single precision (float32).Source: §3 · pp. 26–27

3.2 Heat equation

  • For the 100-dimensional heat equation, the section reports relative L1, L2, and L∞ errors, along with errors averaged over randomness, across training iterations.The heat-equation errors are estimated using Monte Carlo approximations; the cited passages describe the tables and plots but provide no numerical error values.Source: §3.2 · p. 28, Table 1 · p. 29, Table 2 · p. 31

3.3 Geometric Brownian motions

  • For a Black–Scholes PDE with independent geometric Brownian motions, the experiments report relative L1, L2, and L∞ approximation errors across training iterations.The setup uses dimension 100 and Monte Carlo approximations; the supplied passages do not include the error values.Source: §3.3 · p. 36, Table 3 · p. 37

3.4 Black-Scholes model with correlated noise

  • For a 100-dimensional Black–Scholes PDE with correlated noise, the experiments report relative L1, L2, and L∞ approximation errors across training iterations.The described noise correlation matrix has diagonal entries 1 and off-diagonal entries 1/2; the supplied passages do not include error values.Source: §3.4 · pp. 37–38, Table 4 · p. 39

3.5 Stochastic Lorenz equations

  • The section applies the approximation algorithm to a stochastic Lorenz equation with dimension 3 and 100 time steps, using drift parameters α1 = 10, α2 = 14, and α3 = 8.The supplied passages describe the setup but provide no Lorenz-result values.Source: §3.5 · p. 39
  • For the stochastic Lorenz equation, Table 5 presents relative L1, L2, and L∞ approximation errors across m values from 0 to 750000.The exact PDE solution was approximated using Monte Carlo with 104857 samples and 100 time steps; error estimates used Monte Carlo approximations with 20480 samples.Source: §3.5 · pp. 39–40, Table 5 · p. 40

3.6 Heston model

  • For the Heston model in dimension 50, Table 6 presents relative L1, L2, and L∞ approximation errors across m values from 0 to 750000.The exact PDE solution was approximated using Monte Carlo with 1048576 samples and 100 time steps; error estimates used Monte Carlo approximations with 10240 samples.Source: §3.6 · pp. 40–42, Table 6 · p. 42

4 Python source codes

Section 4 provides shared Python code for the algorithm and example-specific code associated with simulations in Subsections 3.2–3.4. The listings connect the examples to a common training-and-testing routine, SDE simulation code, and output files.

4.1 Python source code for the algorithm

  • The shared implementation defines a batch-normalized neural network and a training/testing routine that periodically estimates errors by Monte Carlo rounds.The routine tracks absolute and relative L1, L2, and L-infinity errors.Source: §4.1 · pp. 43–45

4.2 A Python source code associated to the numerical simulations in Subsection 3.2

  • The Subsection 3.2 example script imports the shared training/testing routine and calls it with example-specific inputs and training settings.It writes results to example3_1.csv.Source: §4.2 · pp. 45–46

4.3 A Python source code associated to the numerical simulations in Subsection 3.3

  • The Subsection 3.3 script sets up a discounted maximum-based payoff, simulates terminal asset values, and passes the resulting inputs to the shared routine.The payoff uses the maximum across coordinates and strike K.Source: §4.3 · pp. 46–47

4.4 A Python source code associated to the numerical simulations in Subsection 3.4

  • The Subsection 3.4 script calls kolmogorov_train_and_test with the SDE input, payoff, reference solution, training parameters, and example3_3.csv output.The supplied excerpt shows the call and output filename, but not the preceding simulation implementation.Source: §4.4 · p. 48

4.5 A Python source code associated to the numerical simulations in Subsection 3.5

  • The Subsection 3.5 script sets Lorenz parameters alpha_1=10, alpha_2=14, alpha_3=8/3 and simulates paths before invoking the shared training-and-testing routine.The code defines the drift components and advances the process with sampled Gaussian increments; the training call writes example3_4.csv.Source: §4.5 · pp. 48–50

4.6 A Python source code associated to the numerical simulations in Subsection 3.6

  • The Subsection 3.6 script simulates coupled state and variance processes with correlated Brownian increments, then passes the simulated state to kolmogorov_train_and_test.The listing sets alpha=0.05 and K=110, and writes the training output to example3_5.csv.Source: §4.6 · pp. 50–51
Loading 1806.00421v2…