Skip to main content

Section 12.3 Réseaux de neurones physiquement informés

Les PINN’s pour "physic informed neural network" ont été introduit en 2017 dans (...) afin de résoudre une EDP a l’aide de réseaux de neurones. On va commencer par introduire l’idée centrale dans cette méthodologie et les autres méthodes associées avant d’introduire les aspects techniques.

Subsection 12.3.1 Introduction aux réseaux physiquement informés

On commence par introduire l’idée centrale de la méthode avant de détailler l’ensemble des aspects techniques.

Idée centrale des PINNs.

L’ensemble des méthodes dont on a parlé dans le chapitre précédent utilise un décodeur linéaire par rapport aux paramètres ce qui revient a se restreindre à un espace vectoriel de dimension fini. La méthode PINNs et les méthodes associées font le choix d’utiliser un décodeur nonlinéaire par rapport aux paramètres ce qui revient a se restreindre à des variétés de dimensions finies. En faisant on gagne en richesse d’approximation et on peut espérer réduite de façon importante le nombre de dégrés de libertés.
La première idée des PINNs est donc d’utiliser des modèles nonlinéaires par rapport aux paramètres. La seconde est d’utiliser des modèles réguliers, plusieurs fois dérivables et d’utiliser la différentiation automatique pour en calculer des dérivées. Maintenant, on va introduire la stratégie générale avant de discuter des choix de l’espace d’approximation Si votre EDP est un problème spatiale, la méthode PINNs va utiliser un espace d’approximation nonlinénaire par rapport aux paramètres. Il s’agira donc d’une variété qu’on va appeler \(\mathcal{M}_N\) avec \(N\) sa dimension. Un élément de cette variété sera une fonction paramétrique de la forme \(u_{\theta}(x)\) avec \(\theta\) les paramètres. Si on utilise un réseaux de neurones comme modèles paramétriques on retrouve une représentation neurales implicites. Les méthodes introduites ici peuvent donc toute s’interpréter comme des méthodes neurales implicites et un certains nombre d’outils de ces méthodes sonr transposables aux PINNs. Avant d’introduire les méthode numériques qui transpose la contrainte EDP sur la solution en une contrainte sur les poids on va déja redéfinir les notions d’opérateur de restriction/reconstruction et le projecteur dans le cadre nonlinéaire

Définition 12.18. Opérateur de restriction nonlinéaire.

On appelle \(\mathcal{R}\) l’opérateur de restriction qui permet de calculer les paramètres \(\theta\) associés à la projection sur l’espace \(\mathcal{M}_N\) d’une fonction \(f\text{:}\)
\begin{equation*} \mathcal{R}(f): f\in H \longrightarrow \theta_f \in \mathbb{R}^N. \end{equation*}
Il est définit comme la solution du problème d’optimisation:
\begin{equation} \operatorname{min}_{\theta}\int_{\Omega}\parallel f_{\theta}(x)- f(x)\parallel^2 dx d(x)\tag{12.10} \end{equation}
En pratique l’intégrale est approchée par une méthode d’intégration numérique.

Définition 12.19. Opérateur de reconstruction nonnlinéaire.

On appelle \(\mathcal{I}\) l’opérateur de reconstruction qui permet de calculer un élement de \(\mathcal{M}_N\) appelé \(f_{\theta_f}\) à partir du vecteur de paramètres \(\theta_f\text{:}\)
\begin{equation*} \mathcal{I}(\theta_f): \theta_f \in \mathbb{R}^N \longrightarrow f_{\theta_f}\in V_N \end{equation*}
qui sera donné votre modèle paramètrique
\begin{equation*} \mathcal{I}(\theta_f) = f_{\theta_f}(x) \end{equation*}
Comme précédemment le projecteur sur \(\mathcal{M}_N\) sera obtenu par composition de l’opérateur de restriction et de l’opérateur de reconstruction. Cependant il existe une difference avec le cas linéaire. Puisque le modèle paramétrique est nonlinéaire et notre espace d’approximation aussi il y pas unicité de la solution du problème (12.10) et donc du projecteur.
Maintenant on va introduire le schéma numérique qui converti la contrainte qu’est l’équation en une contrainte sur les paramètres/degrés de libertés du modèle. Comme dans le cadre des méthodes numériques classiques le schéma numérique est obtenu en projetant l’équation sur notre variété de dimension finie qui sert d’espace d’approximation. On va ici introduire deux types d’approximation: la méthode Deep-Ritz qui est l’extension de la méthode de Galerkin pour les EDP spatiales et la méthode PINNs classique qui correspond à la méthode de Galerkin moindre carrés pour tout type d’EDP.

Subsubsection 12.3.1.1 Méthode Deep-Ritz

On considère ici une EDP elliptique générale de la forme (12.1) L’objectif de la méthode Deep-Ritz va être de résoudre cette EDP en utilisant un modèle paramétrique nonlinéaire et donc en projetant le problème sur une variété de dimension finie. On rappelle que résoudre notre EDP est équivalent à la forme énergétique (12.2) qui après intégration par partie est équivalente à:
\begin{equation} \operatorname{min}_{u(x)\in H} \int_{\Omega}\left((A(x)\nabla u,\nabla u) + \frac12\mathbf{b}(x)\cdot \nabla u^2 +c(x)u^2 - f(x)u(x)\right)dx\tag{12.11} \end{equation}
Cette forme qui réécrit l’EDP sous forme d’un problème d’optimisation parait naturellement adaptée aux modèles paramétriques nonlinéaire puisques la projection sur la variété est réalisée par un processus d’optimisation. On obtient donc naturellement la méthode Deep-Ritz.
Définition 12.20. Méthode Deep-Ritz continue.
Soit l’EDP (12.1) et un décodeur de dimension fini \(u_{\theta}(x)\) de paramètres \(\theta\text{.}\) On nomme \(\mathcal{M}_n\) la variété associée. La méthode Deep-Ritz cherche a résoudre:
\begin{equation} \operatorname{min}_{u_{\theta}(x)\in\mathcal{M}_n } \left(J_{eq}(u_{\theta}) + J_{bc}(u_{\theta})\right)\tag{12.12} \end{equation}
ce qui est équivalent à
\begin{equation} \operatorname{min}_{\theta\in\mathbb{R}^n } \left(J_{eq}(\theta) + J_{bc}(\theta)\right)\tag{12.13} \end{equation}
avec
\begin{equation} J_{eq}(\theta)= \int_{\Omega}\left((A(x)\nabla u_{\theta},\nabla u_{\theta}) +c(x)u_{\theta}^2 - f(x)u_{\theta}\right)dx\tag{12.14} \end{equation}
et
\begin{equation} J_{bc}(\theta)= \int_{\partial \Omega}\left(u_{\theta}(x)-g(x)\right)^2 dx\tag{12.15} \end{equation}
Il s’agit juste de restreindre ou de projeter le problème de minimisation à la variété . Ce problème de minimisation peut être vu comme la combinaison de l’encodeur et de l’approximateur. Cependant, la méthode n’est pas en pratique calculable. En effet on ne sait pas a priori Intégrer le modèle paramétrique donc les termes des équations. On va donc discrétiser les fonctions de coûts de la méthode.  
Un des avantages d’utiliser des décodeurs nonlinéaire par rapports aux paramètres est de pouvoir utiliser des modèles qui ont des bonnes propriétés d’approximation globale comme les réseaux. Cela permet d’éviter d’utiliser des maillages. En effet, on a vu précédemment, que l’introduction des maillages était notamment due à l’utilisation de modèle polynomiaux qui sont précis que sur des petites portions de domaine. Si on veut éviter d’utiliser un maillage et cependant traiter des géométries compliquées on ne eut pas utiliser des méthodes de quadrature. L’idée la plus naturelle est d’estimer l’intégrale à l’aide d’une méthode introduite dans les rappels. On va donc se donner un certain nombre de points dit de "collocation" (a priori choisis aléatoirement) et approcher l’intégrale avec. Cela nous donne la méthode finale.
Définition 12.21. Méthode Deep-Ritz.
Soit l’EDP (12.1) et un décodeur de dimension fini \(u_{\theta}(x)\) de paramètres \(\theta\text{.}\) Soit \(\mu(x)\) une loi de probabilité définie sur \(\Omega\) et \(\mu_b(x)\) une loi définie sur \(\partial \Omega\) La méthode Deep-Ritz cherche a résoudre:
\begin{equation} \operatorname{min}_{\theta\in\mathbb{R}^n } \left(J_{eq}(\theta) + J_{bc}(\theta)\right)\tag{12.16} \end{equation}
avec
\begin{equation} J_{eq}(\theta)= \sum_{i=1}^n\left((A(x_i)\nabla u_{\theta}(x_i),\nabla u_{\theta}(x_i)) +c(x_i)u_{\theta}^2(x_i)-f(x_i)u_{\theta}(x_i))\right)\tag{12.17} \end{equation}
avec \((x_1,....,x_n)\) tirés aléatoirement selon \(\mu(x)\) et
\begin{equation} J_{bc}(\theta)= \sum_{i=1}^{n_b}\left(u_{\theta}(y_i)-g(y_i)\right)^2\tag{12.18} \end{equation}
avec \((y_1,....,y_{n_b})\) tirés aléatoirement selon \(\mu_b(x)\)
En pratique, on résout le problème en couplant une méthode de descente comme la méthode d’ADAM avec une méthode de différentiation automatique pour calculer la fonction de coût. En général, on va utiliser une méthode de gradient stochastique par mini batch et tirer aléatoirement un certains de point de collocation. Le plus simple est de les regénérer à la volée.
La méthode Deep-Ritz ne permet pas DE traiter des EDP qui ne sont pas associés à un principe énergétique. La méthode PINNs va justement répondre à ce problème.

Subsubsection 12.3.1.2 Méthodes PINNs standard

On commence par introduire une EDP temporelle générale. Cependant on peut définir de la même façon le cas cinétique ou le cas elliptique.
\begin{equation} \left\{\begin{array}{l} \partial_t \bs{U}(t,x)=\mathcal{N}(\bs{U},\partial_x \bs{U}, \partial_{xx} \bs{U},\boldsymbol{\beta}) \\ \bs{U}(t,x)=g(x),\quad \forall x \in \partial \Omega\\ \bs{U}(0,x)=\bs{U}_0(x,\boldsymbol{\alpha}) \forall (t,x), \forall i\in [0;N] \end{array}\right.\tag{12.19} \end{equation}
avec \(\boldsymbol{\mu}=(\boldsymbol{\alpha},\boldsymbol{\beta})\) un ensemble de paramètres.
On suppose que l’on a une approximation de notre solution que l’on notera . On note l’espace des fonctions admissible que l’on considère et on suppose (avec le domaine).
L’idée est la même que pour la méthode Deep-Ritz. L’objectif est d’utiliser un décodeur nonlinéaire. Comme précédemment, il faut se ramener à un problème de dimension fini sur les degrés de liberté. Pour cela, on va utiliser une forme de l’EDP qu’on peut utiliser pour l’ensemble des équations. Il s’agit de l’approche qui consiste à projeter l’équation sur notre espace de dimension fini en minimisant le résidu de l’équation au carré. A partir de là, on va pouvoir définir notre approche PINNs.
Définition 12.22. Méthode PINNs Continue.
Soit l’EDP (12.19) et un décodeur de dimension fini \(u_{\theta}(x)\) de paramètres \(\theta\text{.}\) La méthode PINNs continue cherche à résoudre:
\begin{equation} \operatorname{min}_{\theta} J_r(\theta)+J_b(\theta)+J_i(\theta)+J_{data}(\theta)\tag{12.20} \end{equation}
avec
\begin{equation} J_r(\theta)=\int_0^T\int_{\Omega}\parallel \partial_t\mathbf{U}_{\theta}(t,x)-\mathcal{L}(\mathbf{U}_{\theta},\partial_x \mathbf{U}_{\theta}, \partial_{xx} \mathbf{U}_{\theta},\boldsymbol{\mu})(t,x)\parallel_2^2 dxdt \tag{12.21} \end{equation}
\begin{equation} J_b(\theta)=\int_0^T \int_{\partial \Omega} \parallel \mathbf{U}_{\theta}(t,x)-g(x)\parallel_2^2 dxdt\tag{12.22} \end{equation}
\begin{equation} J_i(\theta)=\int_{\Omega} \parallel \mathbf{U}_{\theta}(0,x)-\mathbf{U}_{0}(x)\parallel_2^2 dx\tag{12.23} \end{equation}
On retrouve la méthode de Galerkin moindre carrés espace-temps dans lequel les termes de bords et de condition initale sont traités faiblement et pas imposés en dur. Le second ingrédient dans la méthode PINNS porte justement sur le calcul de l’intégrale. Comme pour la méthode Deep-Ritz on va l’approche par la méthode de Monte-Carlo. Cela nous donne la version finale de la méthode.
Définition 12.23. Méthode PINNs.
Soit l’EDP (12.19) et un décodeur de dimension fini \(u_{\theta}(x)\) de paramètres \(\theta\text{.}\) Soit \(\mu(t,x)\) une loi de probabilité définie sur \(\Omega\) et \(\mu_b(x)\) sur \(\partial \Omega\) La méthode PINNs cherche à résoudre:
\begin{equation} \operatorname{min}_{\theta} J_r(\theta)+J_b(\theta)+J_i(\theta)\tag{12.24} \end{equation}
avec
\begin{equation} J_r(\theta)=\sum_{i=1}^N\parallel \partial_t\mathbf{U}_{\theta}(t_i,x_i)-\mathcal{L}(\mathbf{U}_{\theta},\partial_x \mathbf{U}_{\theta}, \partial_{xx} \mathbf{U}_{\theta},\boldsymbol{\mu})(t_i,x_i)\parallel_2^2 dxdt \tag{12.25} \end{equation}
\begin{equation} J_b(\theta)=\sum_{i=1}^{N_b} \parallel \mathbf{U}_{\theta}(t_i,y_i)-g(y_i)\parallel_2^2 dxdt\tag{12.26} \end{equation}
\begin{equation} J_i(\theta)=\sum_{i=1}^{N_t} \parallel \mathbf{U}_{\theta}(0,x_i)-\mathbf{U}_{0}(x_i)\parallel_2^2 dx\tag{12.27} \end{equation}
Pour aider l’apprentissage, on peut se donner un certain nombre de points ou on connaît exactement la solution. Cela revient à avoir
\begin{equation*} (t_1,x_1,\mathbf{U}_1,.....t_N,x_N,\mathbf{U}_N) \end{equation*}
Ces exemples peuvent venir d’un autre solveur dans ce cas le PINNs peut être utile pour créer une interpolation efficace entre des données issues d’un solveur. On peut citer comme applications la super résolution (ref) ou la compression. Cela peut aussi être de vrai données avec lequel on va enrichir ou corriger le modèle. Dans ce cas, on peut minimiser l’erreur suivante:
\begin{equation*} \sum_{i=1}^{N}\parallel \mathbf{U}_h(t_i,x_i)-\mathbf{U}_i\parallel_2^2 \end{equation*}
Figure 12.24. Fonctionnement d’un réseau PINNs.
Une fois tous ces ingrédients réunis cela nous permet de construire une fonction de coût globale pour les PINNS.
Définition 12.25. Méthode PINNs avec des données.
Soit l’EDP (12.19) et un décodeur de dimension fini \(u_{\theta}(x)\) de paramètres \(\theta\text{.}\) Soit \(\mu(t,x)\) une loi de probabilité définie sur \(\Omega\) et \(\mu_b(x)\) sur \(\partial \Omega\) La méthode PINNs cherche a résoudre:
\begin{equation} \operatorname{min}_{\theta} J_r(\theta)+J_b(\theta)+J_i(\theta)+J_{data}(\theta)\tag{12.28} \end{equation}
avec
\begin{equation} J_r(\theta)=\sum_{i=1}^N\parallel \partial_t\mathbf{U}_{\theta}(t_i,x_i)-\mathcal{L}(\mathbf{U}_{\theta},\partial_x \mathbf{U}_{\theta}, \partial_{xx} \mathbf{U}_{\theta},\boldsymbol{\mu})(t_i,x_i)\parallel_2^2 dxdt \tag{12.29} \end{equation}
\begin{equation} J_b(\theta)=\sum_{i=1}^{N_b} \parallel \mathbf{U}_{\theta}(t_i,y_i)-g(y_i)\parallel_2^2 dxdt\tag{12.30} \end{equation}
\begin{equation} J_i(\theta)=\sum_{i=1}^{N_t} \parallel \mathbf{U}_{\theta}(0,x_i)-\mathbf{U}_{0}(x_i)\parallel_2^2 dx\tag{12.31} \end{equation}
et
\begin{equation*} \sum_{i=1}^{N_{data}}\parallel \mathbf{U}_{\theta}(t_i,x_i)-\mathbf{U}_i\parallel_2^2 \end{equation*}
 Ici on voit que l’on sépare les points de collocation du bord, de la condition limite, du résidu. Cela permet d’utiliser des lois d’échantillonnage différentes selon les intégrales et des nombres de points différents. Si on ne se séparait pas les calculs des fonctions de coût associées aux bords et à la condition initiale, on risquerait de mal capturer les solutions aux bords et initiales. En effet en tirant aléatoirement les points dans le domaine sans séparer les bords on aura probablement trop peu de points sur les frontières du domaine espace-temps. Pour les données intérieures et le résidu, on peut prendre les mêmes points ou des points différents. On voit aussi que de façon générale le poids entre les fonctions de coût restent à déterminer. Dans (ref sun2020surrogate) les auteurs de proposer une autre approche pour coder en dur les conditions initiales et aux limites. Cela permet notamment d’améliorer la précision des PINN’s. Pour cela, on définit:
\begin{equation*} \hat{\mathbf{U}}_{\theta}(t,x)=\mathbf{U}_{par}(t,x)+\psi(t,x)\mathbf{U}_{\theta}(t,x) \end{equation*}
avec \(\psi(t,x)\) une fonction analytique régulière et \(\mathbf{U}_{par}(t,x)\) une fonction donnée qui n’est pas un réseau de neurones. On va définir la fonction particulière de la façon suivante:
\begin{equation*} \mathbf{U}_{par}(t,x)= \chi_{\left\{t=0\right\}}\mathbf{U}_0(x)+\chi_{\left\{x\in \partial \Omega \right\}}g(x) \end{equation*}
On voit qu’en prenant \(\psi(t,x)\) une solution régulière qui est nulle aux bords \(x\in \partial \Omega\) et \(t=0\) on va se retrouver dans un cas ou \(\hat{\mathbf{U}}_{\theta}(t,x)=\mathbf{U}_{par}(t,x)\) au bord du domaine espace-temps. Un choix simple de fonction \(\psi\) pourrait être \(\psi(t,x)=x(1-x)t\text{.}\) En utilisant cette approche, on se retrouve avec une unique fonction de coût a minimiser:
\begin{equation} J_r(\theta)=\int_0^T\int_{\Omega}\parallel \partial_t\hat{\mathbf{U}}_{\theta}(t,x)- \mathcal{L}(\hat{\mathbf{U}}_{\theta},\partial_x \hat{\mathbf{U}}_{\theta}, \partial_{xx} \hat{\mathbf{U}}_{\theta},\boldsymbol{\beta})(t,x)\parallel_2^2 dxdt \tag{12.32} \end{equation}
On va comparer cette approche forte en comparaison de l’approche faible.
Figure 12.26. Cas test: advection d’une Gaussienne par une équation de transport. Haut: on impose les conditions aux bords et la condition initiale en dur Bas: on impose les conditions aux bords et la condition initiale faiblement.
On peut constater que la version faible est un peu plus précise. Dans ce cas quand on impose fortement la condition initiale ca revient à dire que notre solution une Gaussienne + un réseau. Donc pour représenter la Gaussienne à un temps plus tard il faut que le réseau apprenne a rétrancher la gaussienne initiale et a ajouter la nouvelle. Cela semble plus difficile que directement apprendre la Gaussienne qui évolue en temps.

Subsection 12.3.2 Architectures classiques

Jusqu’a présent nous avons introduit la methode PINNs et la méthode Deep-Ritz sans préciser quel type de décodeur on utilise. On a juste préciser qu’il s’agissait d’un modèle nonlinéaire par rapports aux paramètres. Il existe plusieurs type de d’architectures différentes.

Définition 12.27. Espace d’approximation pour les PINNs.

Le premier type de variété qu’on peut utiliser pour approcher des solutions d’EDP sont les ensembles de réseaux de neurones à architectures fixés. Dans ce cas on va approcher notre solution, par exemple dans le cas espace-temps, par:
\begin{equation*} u_{\theta}(t,x) = NN(t,x;\theta) \end{equation*}
avec \(\theta\) les degrés de libertés qui sont ici les poids du réseau de neurones.
L’architecture basée sur les réseaux de neurones est l’architecture centrale de la méthode PINNs. Elle a été la première introduite et la plus utilisée. Elle est notamment en utile en grande dimension ou les réseaux de neurones sont très performants et permettent de réduire le total de degré de liberté par rapport aux méthodes classiques.
Contrairement aux applications en traitement du signal, la fonction d’activation la plus utilisée n’est pas la fonction RELU. En pratique il ne s’agit pas d’une fonction \(C^1/\text{.}\) En régularisant, on peut aisément la dériver par différentiation automatique, mais le réseau obtenu n’est pas assez régulier pour être dérivé deux fois (ce qui est nécessaire pour les termes homogènes à un Laplacien). La fonction d’activation utilisée dans le papier d’origine est la fonction Tangente hyperbolique qui est régulière et plusieurs fois dérivable. Dans [1.21] propose d’utiliser une approche introduite en traitement du signal. Il s’agit de faire dépendre les fonctions d’activation d’un paramètre qui va lui aussi être appris durant l’entraînement. Voici quelques exemples:
  • Relu adaptative: \(\sigma_a(x)=\operatorname{max}(0,a x)\)
  • Leaky Relu adaptative: \(\sigma_a(x)=\operatorname{max}(0,a x)-\nu \operatorname{max}(0,-a x)\)
  • Tangente hyperbolique adaptative: \(\sigma_a(x)=\frac{e^{ax}-e^{-ax}}{e^{ax}+e^{-ax}}\)
  • Sigmoide adaptative: \(\sigma_a(x)=\frac{1}{1+e^{-ax}}\)
Dans [1.21] il propose de fixer le paramètre \(a\) pour toutes les couches. Cela devient donc un hyper-paramètres qu’on optimise avec la même méthode de gradient que les poids du réseau.

Définition 12.28. Espace d’approximation pour les PINNs "parcimonieux".

Le second type d’espace d’approximation nonlinéaire sont ceux basés sur une combinaison de fonction radiale ou le paramètre de forme est aussi un dégré de liberté de la méthode. Cela donne pour le cas spatial:
\begin{equation*} u_{\theta}(x) =\sum_{i=1}^K\alpha_i\phi_i\left(\frac{\mid x -x_i\mid}{\epsilon_i}\right) \end{equation*}
avec \(\theta=((\alpha_1,x_1,\epsilon_1),....,(\alpha_N,x_N,\epsilon_N))\text{.}\) On peut définir une version anisotrope avec
\begin{equation*} u_{\theta}(x) =\sum_{i=1}^N\alpha_i\phi_i\left(\mid \Sigma_i^{-1}(x -x_i)\mid \right) \end{equation*}
ou \(\Sigma\) est une matrice symétrique définie positive et \(\theta=((\alpha_1,x_1,\Sigma_1),....,(\alpha_N,x_N,\Sigma_N))\text{.}\)
Ce choix peut être vu comme une généralisation en nonlinéaire de la méthode des bases radiales. Dans la littérature elle est introduite sous le nom de PINNs parcimonieux [1.37]. Le plus naturel est d’utiliser des fonctions Gaussiennes mais les autres fonctions sont aussi possibles.

Définition 12.29. Espace d’approximation pour les PINNs spectraux.

Le troisième exemple d’espace d’approximation nonlinéaire sont ceux basés sur une combinaison de fonctions spectrales avec des coefficients qui sont par exemples de réseaux de neurones. Cela donne:
\begin{equation*} u_{\theta}(t,x) =\sum_{i=1}^N NN_{i,\theta}(t)\phi_i(x) \end{equation*}
avec \(NN_{i,\theta}\) la ième sortie d’un réseau de neurones. On peut aussi dans certains cas introduire des paramètres dans les fonctions spectrales. Comme par exemple:
\begin{equation*} u_{\theta}(t,x) =\sum_{i=1}^N NN_{i,\theta}(t)(t)sin(2\pi k_i x) \end{equation*}
avec \(\theta=(\theta,k_1,...,k_N)\text{.}\)
Cette dernière architecture est utile si on sait que la représentation spectrale est très efficace pour représenter une des dimensions de notre problème. On peut imaginer la même chose en cinétique par exemple.
Par la suite, on va surtout considérer la première architecture basée sur les réseaux de neurones qui est la plus flexible notamment en grande dimension. Cependant, on va voir aussi qu’elle admet des défauts et qu’on peut proposer des architectures plus particulières pour obtenir de meilleurs résultats. Plus globalement, la méthode PINNs est compatible avec n’importe quel modèle paramétrique, linéaire ou non, avec ou sans maillage. Dans sa forme actuelle, elle doit cependant être utilisé avec des modèles suffisamment réguliers pour que le résidu soit calculable. On introduira plus tard des variantes pour affaiblir cette condition.

Subsection 12.3.3 Géométries complexes

Un des avantages de la méthode PINNs est qu’il s’agit d’une méthode sans maillage. Un des défauts des méthodes avec maillages est justement la construction d’un maillage assez régulier pour des géométries complexes. S’affranchir de cette contrainte est donc un gain significatif. Nous allons ici indiquer comment traiter les géométries compliquées et notamment les conditions aux bords. En effet bien qu’on n’est pas à construire le maillage, le traitement de géométries générales nécessite quelques précautions. Pour des domaines circulaires ou carrés, la situation est simple, car il est facile d’échantillonner des points aléatoirement. Pour les géométries plus compliquées, on propose deux approches : par transformation et par distance signée.

Subsubsection 12.3.3.1 Géométrie définie par transformation

On se donne un problème définit sur un domaine \(\Omega\) général. L’approche par transformation suppose qu’on peut se munir d’un domaine \(\Omega_0\) simple que l’on sait échantillonner comme un carré et un cercle et d’un difféomorphisme \(\psi\) tel que l’image de \(\Omega_0\) par \(\psi\) soit \(\Omega\text{.}\)

Subsubsection 12.3.3.2 Géométrie définie par distance signée

Une seconde approche pour traiter les géométries générales est de directement définir la géométrie considérée \(\Omega>\) à partir d’une fonction level-set. On va rapidement définir les notions nécessaires.
Définition 12.30. Fonction niveau ou level-set.
On se donne une domaine \(\Omega\in \mathbb{R}^n\) qui représente notre forme et \(\Gamma\) la frontière de ce domaine. On note l’intérieur du domaine \(\Omega_{-}\) et l’extérieur du domaine \(\Omega_{+}\text{.}\) Une fonction \(f:\mathbb{R}^{n}\rightarrow \mathbb{R}\) est appelée level set si elle satisfait
\begin{equation*} \phi(x)=\left\{\begin{array}{l} \lt 0, \quad \boldsymbol{x}\in \Omega_{-}\\ = 0, \quad \boldsymbol{x}\in \Gamma\\ \gt 0, \quad \boldsymbol{x}\in \Omega^{+}\\ \end{array}\right. \end{equation*}
Supposons que l’on dispose d’une fonction "level set" ou niveau qui décrit notre domaine il devient facile d’échantillonner des points sur le domaine.
La connaissance de la fonction niveau permet aussi d’imposer les conditions limites en dur sur des domaines complexes.
Définition 12.32. .
On se donne une fonction "level-set" \(\phi\text{.}\) On introduit les fonctions normalisés de Rvachev:
\begin{equation*} u(\boldsymbol{x})=u_0^*(\boldsymbol{x})+ \sum_{k=1}^m\frac{u_k^*(\boldsymbol{x})}{k!}\phi^k(\boldsymbol{x})+\phi^{m+1}(\boldsymbol{x})\Psi(\boldsymbol{x}) \end{equation*}
avec \(u_k^*(\boldsymbol{x})=\phi_k(\boldsymbol{x}-\phi\nabla \phi)\) ou \(\psi_k\) et \(\Psi\) sont des fonctions inconnues.
Preuve.
...
Ce résultat va nous permettre d’imposer en dur les conditions limites pour des EDP elliptiques.
Preuve.
On prend fonction normalisée de Rvachev avec \(m=0\) on a donc
\begin{equation*} u(\boldsymbol{x}) = \psi_0(\boldsymbol{x}-\phi\nabla\phi) + \phi(\boldsymbol{x})\psi_1(\boldsymbol{x}) \end{equation*}
\begin{equation*} u(\boldsymbol{x}) = \psi_0(\boldsymbol{x})-(\phi\nabla\phi, \nabla \psi_0(\boldsymbol{x})) + \phi(\boldsymbol{x})\psi_1(\boldsymbol{x}) + O((\phi\nabla\phi)^2) \end{equation*}
\begin{equation*} u(\boldsymbol{x}) = \psi_0(\boldsymbol{x})-(\phi\nabla\phi,\nabla \psi_0^(\boldsymbol{x})) + \phi(x)\psi_1(\boldsymbol{x}) + O((\phi\nabla\phi)^2) \end{equation*}
on utilise que \(\nabla\phi=-\boldsymbol{n}\)
\begin{equation*} u(\boldsymbol{x}) = \psi_0(\boldsymbol{x})+ \phi\frac{\partial \psi_0^(\boldsymbol{x})}{\partial \boldsymbol{n}} + \phi(\boldsymbol{x})\psi_1(\boldsymbol{x}) + O((\phi\nabla\phi)^2). \end{equation*}
Puisque est nul au bord on peut simplifier et obtenir:
\begin{equation*} u(\boldsymbol{x}) = \psi_0(\boldsymbol{x})+ \phi(\boldsymbol{x})\psi_1(\boldsymbol{x}) + O((\phi\nabla\phi)^2). \end{equation*}
et utiliser cette relation en négligeant les termes du premier second ordre.

Subsection 12.3.4 PINNs pour des EDP Paramétriques

Lorqu’on entraine un réseau physiquement informé on résout une EDP. Un entrainement est donc équivalent à l’utiliser d’un solveur de type élement ou différence finis. En pratique on peut rapidement constater que cette approche est peu compétitive par rapport à une méthode numérique standard (ref) notamment en 1D et 2D. Cependant le PINNs possèdent deux avantages importants sur les approches classiques. Il ne néncessite pas de maillage et est peu sensible à la dimension puisqu’il combine réseaux de neurones et intégration de Monte-Carlo. Il devient donc de plus en plus competitif lorsque la dimension augmente. Afin de tirer partie d’approche comme les PINNs il est donc souhaitable d’attaquer des problèmes en grande dimension. L’approche basée sur les PINN’s introduite dans (ref sun2020surrogate) consiste finalement a calculer non pas une solution classique mais une solution paramétrique de type \(\mathbf{U}_{\theta}(t,x,\boldsymbol{\mu})\) à l’aide d’un PINNS. Une fois cette solution approchée d’une EDP paramétrique, on peut très rapidement obtenir une solution pour un jeux de paramètres \(\boldsymbol{\mu}\) donné. D’abord on définit la solution:
\begin{equation*} \hat{\mathbf{U}}_{\theta}(t,x,\boldsymbol{\mu})=\mathbf{U}_{par}(t,x,\boldsymbol{\alpha}) +\psi(t,x)\mathbf{U}_{\theta}(t,x,\boldsymbol{\mu}) \end{equation*}
avec
\begin{equation*} \mathbf{U}_{par}(t,x)= \chi_{\left\{t=0\right\}}\mathbf{U}_0(x,\boldsymbol{\alpha})+\chi_{\left\{x\in \partial \Omega \right\}}g(x) \end{equation*}
Ensuite on introduit la loss a minimiser:
\begin{equation*} \mathcal{J}(\theta)=\int_{V_{\mu}}\int_0^T\int_{\Omega}\parallel \partial_t\mathbf{U}_{\theta}(t,x)- \mathcal{L}(\mathbf{U}_{\theta},\partial_x \mathbf{U}_{\theta}, \partial_{xx} \mathbf{U}_{\theta},\boldsymbol{\beta})(t,x) \parallel_2^2 dxdt d\boldsymbol{\mu} \end{equation*}
Pour conclure l’approche il suffit donc d’échantillonner l’espace des paramètres comme l’espace physique. En pratique on utilise une méthode Monte-Carlo.