Skip to content

Using PINN for Inverse Problems

Last edited: 2024-05-28

My personal notes about the seminar Using Physics-informed Neural Networks for Inverse Problems by João Pereira - IMPA at National Scientific Computing Laboratory (LNCC) on 2024-05-13.

Presentation generated from the video: PINN-Presentation-Pereira.pdf (in Portuguese)

The seminar mainly deals with two published articles, and also a third that has not yet been published:

Hasan, A., Pereira, J. M., Ravier, R., Farsiu, S., & Tarokh, V. (2019). Learning Partial Differential Equations from Data Using Neural Networks. http://arxiv.org/abs/1910.10262

Hasan, A., M. Pereira, J., Farsiu, S., & Tarokh, V. (2022). Identifying Latent Stochastic Differential Equations. IEEE Transactions on Signal Processing, 70, 89–104. https://doi.org/10.1109/TSP.2021.3131723

Bizzi, A., L. Nissenbaum, Pereira, J. M. (In Preparation) Neural Conjugate Flows: a Physics-Informed Architecture with Differential Flow Structure.

PINN

  • The various PDEs can be seen as a simple linear combination
Equation PDE
Wave (1D) $u_{tt} - u_{xx} = 0$
Heat (1D) $u_{t} - u_{xx} = 0$
Helmholtz (2D) $u_{xx} + u_{yy} + u= 0$
Burgers (1D) $u_{t} + uu_{x} = 0$
Korteweg-de Vries $u_{t} - 6uu_{x} + u_{xxx}= 0$
  • The problem is to determine the PDE that best represents the data

  • Initially, a set of possible derivative terms is estimated

  • Let $p_1, …, p_k$ be sample random points in the domain

  • If $u$ is a solution of the PDE

$a_1 u + a_2 u_{xx} + a_3 uu_x + a_4 u_{xxx} + a_5 u_t = 0$

  • For all $p_1, …, p_k$

$a_1 u (p_k) + a_2 u_{xx} (p_k) + a_3 u (p_k) u_x(p_k) + a_4 u_{xxx} (p_k) + a_5 u_t (p_k) = 0 $

  • In matrix form:

$\underbrace{ \left[ \begin{array}{c c c c} u(p_1) & u_{x x}(p_1) & u(p_1)u_x(p_1)& u_{x x x}(p_1) & u_t(p_1) \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ u(p_k) & u_{x x}(p_k) & u(p_k)u_x(p_k) & u_{x x x}(p_k) & u_t(p_k) \end{array} \right] }_{\mathcal{M}_u(p)} \left[ \begin{array}{c} a_1 \\ \vdots \\ a_5 \end{array} \right]=0$

  • The vector $a = (a_1, ..., a_5)$ is in the null space of $\mathcal{M}_u(p)$
  • In matrix form: $\mathcal{M}_u(p) a = 0$
  • The null space vector is a singular vector with singular value 0
  • The null space vector (also known as the null vector) refers to the zero vector in the context of linear algebra
  • The null space vector is simply the zero vector itself: 0
  • It is the unique vector that belongs to the null space of any matrix
  • When we say null space vector, we are referring to the specific vector v that satisfies the condition Av = 0 for a given matrix A
  • Let's think about optimization
  • Calculate the smallest singular value using the min-max principle

$ \underset{ a }{ \min } \quad | \mathcal{M}_u(p) a |_2^2 $

subject to $ \quad | a |_2 = 1 \quad $ (Euclidean norm)

$ | a |_2 = \sqrt{a_1^2 + \cdots + a_n^2} $

  • Bringing together the losses

  • Fitting the neural network $\hat{u}(\cdot;\theta)$

  • Learning the PDE

  • Encourage law sparsity

  • Training

  • Minimizing $\mathcal{L}_{PDE} (\theta,a)$ in terms of $\theta$ enforces that the ANN is a solution to the PDE being learned.

Stochastic PINN

  • (in construction)