Skip to main content

Section 12.5 Variantes de PINNs

Dans cette section, nous allons introduite des variantes de la méthode des réseaux physiquement informés. Ces approches peuvent être plus efficaces dans certains contextes.

Subsection 12.5.1 VPINNS

La première approche qu’on propose d’introduire est l’approche VPINNs pour PINNs variationnel. L’idée est assez simple il s’agit de résoudre à l’aide d’un PINNs l’équation sous une forme faible plutôt que sous sa forme forte. On se place dans cadre stationnaire mais l’approche peut être étendue au cas instationnaire. Soit une équation du type:
\begin{equation*} \mathcal{L}(u,\partial_x u, \partial_{xx} u,\boldsymbol{\beta})=f(x) \end{equation*}
avec \(u(x):\mathbb{R}^d\rightarrow \mathbb{R}\) la solution. L’approche utilisées dans les PINNS d’orifine consiste à définir un résidu:
\begin{equation*} R(x)=\mid \mathcal{L}(u,\partial_x u, \partial_{xx} u,\boldsymbol{\beta}) -f(x)\mid \end{equation*}
A partir de ce résidu, on calcul la fonction de coût résidu en évaluant le résidu à chaque point de collocation et ensuite ou couple cette fonction de coût à celle sur les données et les conditions limites. Maintenant on va écrire l’équation sous forme faible. Soit \(v(x)\in C^p(\Omega)\) alors la forme faible est donnée par
\begin{equation*} \langle \mathcal{L}(u,\partial_x u, \partial_{xx} u,\boldsymbol{\beta}), v\rangle_{L^2}=\langle f(x), v\rangle_{L^2} \end{equation*}
En général on va utiliser cette forme faible pour résoudre l’équation en utilisant pour \(v(x)\) une base d’un sous espace vectoriel. Ici on va faire de même.

Définition 12.42. Fonction de coût résiduelle pour les VPINNs.

On se donne un sous espace:
\begin{equation*} V= \operatorname{Vect}(v_1(x),...,v_K(x)) \end{equation*}
et un réseau de neurones \(u_{\theta}(x)\text{.}\) Le résidu associé au VPINNs est donné par
\begin{equation*} r_k=\mid \langle \mathcal{L}(u,\partial_x u, \partial_{xx} u,\boldsymbol{\beta}),v_j\rangle_{L^2}- \langle f(x), v_j\rangle_{L^2}\mid \end{equation*}
et la fonction de coût associée:
\begin{equation} \mathcal{J}_{res}(\theta)=\sum_{k=1}^K r_k \tag{12.38} \end{equation}
Les autres fonctions coûts sont données par:
On ajoute aussi les fonctions de coûts sur les conditions limites et sur les données. Voila, on a le principe général de la méthode. Maintenant il peut être intéressant de modifier la forme variationnelle. Pour cela on introduit l’exemple du Laplacien:
\begin{equation*} -u^{''}(x)=f(x) \end{equation*}
en multipliant par une fonction \(v\in C^p(\Omega)\) a support compact et en intégrant on obtient:
\begin{equation*} -\int_{\Omega} u^{''}(x) v(x)=\int_{\Omega}f(x)v(x) \end{equation*}
À partir de là on peut définir plusieurs formes variationnelles avec notre réseau:
  • Forme classique:
    \begin{equation*} -\int_{\Omega} u_{\theta}^{''}(x) v(x)=\int_{\Omega}f(x)v(x) \end{equation*}
    Forme faible:
    \begin{equation*} \int_{\Omega} u_{\theta}^{'}(x) v^{'}(x) -\int_{\partial \Omega}u^{'}(x)v(x)=\int_{\Omega}f(x)v(x) \end{equation*}
    Forme ultra-faible:
    \begin{equation*} -\int_{\Omega} u_{\theta}(x) v^{''}(x)-\int_{\partial \Omega}u^{'}(x)v(x)+\int_{\partial \Omega}u(x)v^{'}(x)=\int_{\Omega}f(x)v(x) \end{equation*}
Puisque les fonctions tests sont supposées à support compact. Par conséquent on peut considérer que \(\int_{\partial \Omega}u^{'}(x)v(x)=0\text{.}\) La formulation faible permet de dériver le réseau une seule fois ce qui est moins coûteux et permet de prendre des fonctions d’activation moins régulière. C’est encore plus vrai avec la formulation ultra faible. Il s’agit d’un des plus gros avantages de la méthode des PINNS variationnelle. On peut diminuer la régularité et les calculs de dérivées.
Pour les fonctions de bases, on utilise classiquement des polynômes orthogonaux type Jacobi, Legendre ou autre. On peut aussi utiliser des fonctions sinusoïdales. Pour l’intégration les auteurs proposent d’utiliser des quadratures de Gauss. Cependant il semble aussi possible d’utiliser une quadrature de type Monte-Carlo comme pour les PINNs standard.

Subsection 12.5.2 PINNs et decompoisition de domaine

Pour un certains nombre d’applications en EDP il est courant de décomposer le problème que l’on cherche a résoudre en plusieurs problème plus simple ou de de plus petites tailles notamment afin de paralléliser la résolution. Une des approches les plus classiques est la décomposition de domaine. L’idée consiste a segmenter l’espace et à résoudre le problème dans chaque sous domaine séparément. Les solutions sont recoller en général à travers les conditions limites et des algorithmes itératifs (comme la méthode de Schwartz). Ce type d’idée a été utiliser avant de proposer des nouvelles méthodes d’entrainement des PINNs. L’idée globale est de segmenter l’espace et d’utiliser un PINNs par sous domaine. Cela peut permettre de paralleliser l’apprentissage et aussi de la simplier car on peut esperer que dans chaque sous domaine la fonction à apprendre varie moins et soit donc plus facile a résoudre. On va introduire plusieurs approches de ce type.

Subsubsection 12.5.2.1 C-PINNs

La première approche est appelée les CPINNs pour "Conservative PINNs". Dans le cadre d’un PINNs standard on se propose d’utiliser un réseau \(u_{\theta}(x)\) sur l’ensemble du domaine de résolution \(\Omega\text{.}\) Ici on définir notre approximation comme une union de réseaux:
\begin{equation*} u_{\theta}(x)=\bigcup_{s=1}^{N_s} u_{\theta_s}(x) \end{equation*}
On suppose maintenant que l’ont a une EDP de la forme:
\begin{equation*} \partial_{t^{\alpha}} u +\nabla \cdot \bs{f}(u,\nabla u,\Delta u,\boldsymbol{\mu})=0 \end{equation*}
avec \(\alpha=1\) ou \(\alpha=2\text{.}\) Ce type EDP a la propriété de conserver la quantité \(u\) si on a des bonnes conditions limites. Ce que l’on va demander a nos réseaux c’est d’assurer une certaines continuité de la solution entre les domaine et aussi la conservation ce qui va revenir a dire que le flux d’information sortant d’un domaine doit être le même que celui qui va rentrer dans le domaine voisin. Pour cela on va ajouter deux fonctions de coûts à celle utilisée classiquement pour les PINNs.
Définition 12.43. Fonctions de coût additionnelles pour les CPINNs.
On ajoute deux fonctions de coûts:
\begin{equation*} \mathcal{L}_f=\frac{1}{N_i}\sum_{s=1}^{N_i}\mid \bs{f}(u_{\theta_s}(x_i^s))\cdot\boldsymbol{n} - \bs{f}(u_{\theta_s}(x_i^{s^+}))\cdot\boldsymbol{n} \mid_2^2 \end{equation*}
et
\begin{equation*} \mathcal{L}_a=\frac{1}{N_i}\sum_{s=1}^{N_i}\mid u_{\theta_s}(x_i^s) -\frac{u_{\theta_s}(x_i^s)+u_{\theta_{s^+}}(x_i^{s})}{2}\mid_2^2 \end{equation*}
avec \(x_i^{s}\) des points a l’interface entre le sous domaine \(s\) et le sous domaine \(s^{+}\)
Une fois ses nouvelles fonction coûts on va résoudre le problème dans chaque domaine avec un réseau \(u_{\theta_s}\) a qui on applique les fonctions de coûts classiques (résiduelles, conditions initiales, données) a l’intérieur du domaine \(\Omega_s\text{,}\) la fonction de coûts sur les conditions aux bords si le sous domaine \(\Omega_s\) est au bord et enfin les deux fonctions de coûts qui couple \(\Omega_s\) aux voisins.

Subsubsection 12.5.2.2 Hp-VPINNs

La méthodes hp-VPINNs est aussi une méthode qui décompose notre réseau en plusieurs réseaux mais qui va utiliser une formulation variationnelle du problème (comme pour les VPINNs) au lieu d’une formulation forte. Comme précédemment on a
\begin{equation*} u_{\theta}(x)=\bigcup_{s=1}^{N_s} u_{\theta_s}(x) \end{equation*}
Ici la decomposition en plusieurs problème va se faire à travers les fonctions tests. On va selectionner comme fonction:
\begin{equation*} v_{k,s}=\left\{\begin{array}{l} v_k \mbox{ sur } \Omega_s \\ 0 \mbox{ sur } \Omega/ \Omega_s \end{array}\right. \end{equation*}
A partir de la dans chaque domaine on va minimiser la fonctions de coût (12.38) avec ses nouvelles fonctions de bases ainsi que less focntions de coûts classique sur les données et les conditions initiales qui sont adaptées aux sous domaines.
Figure 12.44. Application de la méthode Hp-PINNs sur une solution regulière. Image issue de [1.30]
Figure 12.45. Application de la méthode Hp-PINNs sur une solution discontinues. Image issue de [1.30]
Les figures Figure 12.44 et Figure 12.45 montrent des exemples d’applications de la méthode. On voit que chaque réseau apprend bien dans sa portion et donne une solutions très plate en dehors. Notamment pour le cas discontinus on remarque l’erreur de chaque sous domaine est plus faible que celle obtenue par un VPINNs global.

Subsection 12.5.3 Weak PINNs pour les équatios hyperboliques