Skip to main content

Section 12.6 Convergence et échantillonnage

Dans cette section, on va introduire de résultats théoriques sur les PINNs, montrer le rôle de l’enchantillonnage des points et proposer des méthodes qui utilisent des échantillonnages non uniformes. Ses resultats sont principalement tirés d’un article (ref)

Subsection 12.6.1 Convergence et théorie d’approximation

Dans cette section on va introduire quelques élements théorique sur les PINNs. Cela permettra à la fois de montrer le type de résultat que l’on peut attendre ainsi que limites théoriques actuelles. Cela permettra aussi d’exhiber le rôle de l’ échantillonnage dans l’erreur finale ce qui justifiera les algorithmes introduits par la suite.
On se donne un domaine \(\Omega\) (spatial ou spatio-temporel) et une EDP en dimension \(d\)
\begin{equation} D(u)= f\tag{12.39} \end{equation}
On suppose que \(u(x)\) (\(x\) peu ici représenter l’espace ou le temps et l’espace) appartient un espace fonctionnel \(X\) et \(f(y)\) appartient un espace fonctionnel \(Y\text{.}\)
On va maintenant introduire aussi une notion de quadrature générale. En effet les PINNs ne sont pas obligé d’utiliser des approches de type Monte-Carlo et certaines variantes vont utiliser des quadratures usuelles type Gauss.

Définition 12.47. Quadrature.

Soit une intégrale de la forme:
\begin{equation*} \bar{g}=\int_{\Omega} g(y)dy \end{equation*}
Une formule de quatradure à \(N\) est donnée
\begin{equation*} g_N=\sum_{i=1}^{N_q} w_i g(y_i) \end{equation*}
L’erreur est donnée
\begin{equation*} \mid g_N - g \mid \le C_{quad} N_{q}^{-\alpha} \end{equation*}
alors \(\alpha \gt 0\text{.}\)
En pratique on peut utiliser des quadratures d’intégration de type Gauss jusqu’a \(d=4\text{.}\) Pour les dimension jusquà \(d=20\) on peut utiliser des suite à faible écart comme les suites Halton ou de Sobol.

Subsubsection 12.6.1.1 Estimation d’erreur et quadrature déterministe

Dans cette sous-section on se concentrera sur le cas ou les points d’entrainement sont obtenus par une méthode de quadrature. On commence par définir les quantités intermédiaire qui nous seront utile.
Définition 12.48.
On définit le résidu local:
\begin{equation*} \mathcal{R}(y;\theta)=D(u_{\theta}(y))-f(y) \end{equation*}
le résidu global que l’ont souhaite minimiser est défini par
\begin{equation*} \mathcal{J}(\theta)=\left(\int_{\Omega}\mid \mathcal{R}(y;\theta)\mid^p dy \right)^{\frac{1}{p}} \end{equation*}
on va intégrer le traitement des conditions initiales et aux bord dans le résidu \(\mathcal{R}(y;\theta)\text{.}\) La fonction de coût que l’on minimise pour les PINNs est une quadrature du résidu global:
\begin{equation*} \mathcal{J}_{T}(\theta)=\left(\sum_{i=1}^N\mid \mathcal{R}(y_i;\theta)\mid^p)\right)^{\frac{1}{p}} \end{equation*}
Lors de notre entrainement on résout le problème
\begin{equation*} \theta^* = \operatorname{argmin}_{\theta} \mathcal{J}_{T}(\theta) \end{equation*}
On va maintenir introduire les notions d’erreurs qui seront central dans la suite.
Définition 12.49.
On appelle erreur de généralisation la quantité:
\begin{equation*} \mathcal{E}_G(\theta)=\parallel u-u_{\theta} \parallel_X \end{equation*}
Définition 12.50.
On appelle erreur d’entrainement la quantité:
\begin{equation*} \mathcal{E}_T(\theta)=\mathcal{J}_T(\theta^*) \end{equation*}
A partir de ces definition on peut établir un théorème qui permet de relier l’erreur de généralisation (celle qui nous intéresse) et l’erreur d’entrainement.
Preuve.
On commence par partir de l’erreur de généralisation. En utilisant les hypothèses associées à l’opérateur \(D\text{.}\) Cela donne
\begin{equation*} \begin{aligned} \mathcal{E}_G(\theta^*)\leq C_{pde} \amp \parallel D(u) - D(u_{\theta^*})\parallel_Y \\ \amp C_{pde} \parallel D(u) -f + f - D(u_{\theta^*})\parallel_Y \\ \amp C_{pde} \parallel D(u_{\theta^*})- f\parallel_Y \end{aligned} \end{equation*}
par définition \(u\) est solution de \(D(u)-f=0\text{.}\) Puisque on a supposer l’inclusion de notre espace \(Y\) dans un espace \(L^p\) on obtient que
\begin{equation*} \mathcal{E}_G \leq C_{pde} \left(\int_{\Omega}\mid \mathcal{R}(y;\theta^*)\mid^p dy\right)^{\frac{1}{p}}= \mathcal{J}(\theta^*) \end{equation*}
Ensuite on va introduite l’erreur d’entrainement
\begin{equation*} \begin{aligned} \mathcal{E}_G^p \leq C_{pde}^p \left(\mid \mathcal{E}_T(\theta^*)^p - \mathcal{E}_T(\theta^*)^p + \mathcal{J}(\theta^*)^p\mid \right) \\ \mathcal{E}_G^p \leq C_{pde}^p \left(\mid \mathcal{E}_T(\theta^*)^p - \mathcal{J}_T(\theta^*)^p + \mathcal{J}(\theta^*)^p\mid \right) \\ \mathcal{E}_G^p \leq C_{pde}^p \left(\mathcal{E}_T(\theta^*)^p + \mid \mathcal{J}(\theta^*)^p- \mathcal{J}_T(\theta^*)^p\mid\right) \end{aligned} \end{equation*}
Pour finir on va utiliser que \(\mathcal{J}_T(\theta^*)^p\) est une quadrature de \(\mid \mathcal{J}(\theta^*)^p\text{.}\) Cela nous permet d’utiliser
\begin{equation*} \mid \mathcal{J}(\theta^*)^p- \mathcal{J}_T(\theta^*)^p\mid \le C_{quad} N^{-\alpha} \end{equation*}
Ensuitz on injecte cela dans les estimations introduite précédement
\begin{equation*} \mathcal{E}_G^p \leq C_{pde}^p \left(\mathcal{E}_T(\theta^*)^p + C_{quad} N^{-\alpha}\right) \end{equation*}
et donc
\begin{equation*} \mathcal{E}_G \leq C_{pde} \left(\mathcal{E}_T(\theta^*) + C_{quad}^{\frac{1}{p}} N^{-\frac{\alpha}{p}}\right) \end{equation*}
La première erreur est l’erreur classique de l’apprentissage. Elle va dépendre du réseau et de la méthode d’optimisation. La seconde est l’erreur d’integration qui décrit a quel point notre résidu discret approche le résidu continue (on est évidemmenr solution qur si le résidu continu est nul).

Subsubsection 12.6.1.2 Estimation d’erreur et méthode de Monte-Carlo

Maintenant l’objectif va être d’obtenir le même type d’estimés que précédemment mais en utilisant la méthode de Monte-Carlo pour approcher l’intégrale. L’utilisation de la méthode de Monte-Carlo complique un peu les choses. En effet on peut pas considérer que le résultat de l’apprentissage est indépendant de l’échantillon de point sur lequel est effectué l’entrainement. On va supposer que \(Y=L^1(\Omega)\) afin de simplifier certaines notations.
Définition 12.52.
Soit \(S\) une variable aléatoire sur \(\Omega^N\) qui correspond au jeu de données d’entrainement. Puisque le résultat d’apprentissage dépend du jeu de données d’entrainement on note la solution de l’entrainement
\begin{equation*} u_{\theta,S}(y) \end{equation*}
L’erreur de généralisation est définit par :
\begin{equation*} \mathcal{E}_g(\theta^*,S)=\parallel u-u_{\theta^*,S} \parallel_X \end{equation*}
et l’erreur moyenne de généralisation:
\begin{equation*} \bar{\mathcal{E}}_g(\theta^*)=\mathbb{E}[\mathcal{E}_g(\theta^*,S)]=\int_{\Omega^N}\parallel u-u_{\theta^*,S} \parallel_X dS \end{equation*}
Définition 12.53.
On définit le résidu local:
\begin{equation*} \mathcal{R}(y;\theta,S)=D(u_{\theta,S}(y))-f(y) \end{equation*}
L’erreur d’entrainement est définie par
\begin{equation*} \mathcal{J}_T(\theta^*,S)=\frac{1}{N}\sum_{i=1}^N\mid \mathcal{R}(y_i;\theta^*,S)\mid \end{equation*}
et l’erreur d’entrainement moyenne est définie par
\begin{equation*} \bar{\mathcal{E}}_T(\theta^*)=\mathbb{E}[\mathcal{E}_T(\theta^*,S)]=\int_{\Omega^N} \mathcal{J}_T(\theta^*,S) dS \end{equation*}
Contrainement a précédemment on va introduire aussi la notion de jeu de validation. Il s’agit d’un jeu de données sur lequel on va évaluer le résidu. Il est en général utilisé pour tester les capacités de généralisation du réseau. Ici il va permettre d’obtenir nos estimations.
Définition 12.54.
On se donne une variable aléaroire \(\omega\) dans l’espace probabilité \((A,\Sigma,\mathbb{P})\) qui permet de générer un point de validation \(z(\omega)\text{.}\) On pose la fonction aléatoire suivante
\begin{equation*} f(z(\omega))=\int_{\Omega^N}\mid\mathcal{R}(z(\omega);\theta,S)\mid dS \end{equation*}
qui correspond au résidu local moyenné sur les jeux d’entrainement et on définit son esperance
\begin{equation*} \mathbb{E}(f(z(\omega)))=\int_A f(z(\omega)) d\mathbb{P}(\omega)=\int_{\Omega} f(z)dz \end{equation*}
ce qui correspond donc au résidu global moyenné sur les jeux d’entrainement que l’on souhaite minimiser.
Définition 12.55.
On définit le résidu de validation moyenné sur les jeux d’entrainement par
\begin{equation*} \bar{\mathcal{E}}_V= \sum_{i=1}^N\int_{\Omega^N}\mid\mathcal{R}(z_i;\theta,S)\mid dS \end{equation*}
et le gap de validation
\begin{equation*} \mathcal{E}_{TV}=\mathbb{E}_{\omega}[\mid\bar{\mathcal{E}}_T - \bar{\mathcal{E}}_V\mid] \end{equation*}
Maintenant on va introduire une estimation similaire à la précédente.
Preuve.
On va donc chercher a majorer l’erreur moyenne de généralisation.
\begin{equation*} \begin{aligned} \mathcal{E}_g(\theta^*) \amp = \int_{\Omega^N}\parallel u-u_{\theta^*,S} \parallel_X dS\\ \amp \le C_{pde}\int_{\Omega^N}\parallel D(u)-D(u_{\theta^*,S}) \parallel_{L^1} dS\\ \amp \le C_{pde}\int_{\Omega^N}\parallel D(u_{\theta^*,S}) -f \parallel_{L^1} dS\\ \amp \le C_{pde}\int_{\Omega^N}\parallel R(\theta^*,S) \parallel_{L^1} dS\\ \end{aligned} \end{equation*}
Puisque dans la norme \(L^1\) la fonction \(R(z,\theta^*,S)\) ets intégré sur \(z\) alors on a
\begin{equation*} \parallel R(\theta^*,S) \parallel_{L^1}= \mathbb{E}_{\omega}[\parallel R(\theta^*,S) \parallel_{L^1}] \end{equation*}
\begin{equation*} \begin{aligned} \amp \le C_{pde}\int_{\Omega^N} \mathbb{E}_{\omega}[\parallel R(\theta^*,S) \parallel_{L^1}] dS\\ \amp \le C_{pde}\int_{A} \left(\int_{\Omega^N} \parallel R(\theta^*,S) \parallel_{L^1}\right) d\mathbb{P}(\omega)\\ \end{aligned} \end{equation*}
Maintenant on va faire intervenir les erreur d’entrainement moyenne et le résidu de validation. On obtient
\begin{equation*} \mathcal{E}_g(\theta^*) \le C_{pde}\mathbb{E}_{\omega} \left[ \mid\left(\int_{\Omega^N}\parallel R(\theta^*,S) \parallel_{L^1}\mid dS\right) -\mathcal{E}_T + \mathcal{E}_T -\mathcal{E}_V + \mathcal{E}_V\mid\right] \end{equation*}
On utilise \(\mathcal{E}_{TV}=\mathbb{E}_{\omega}[\mathcal{E}_V-\mathcal{E}_T]\) et le fait que \(\mathcal{E}_T \) ne dépend pas de \(\omega\text{.}\) En effet l’erreur d’entrainement est évalué au point du jeu d’entrainement qui ne valie pas ici. On obtient
\begin{equation*} \mathcal{E}_g(\theta^*) \le C_{pde}\left(\mathcal{E}_T+\mathcal{E}_{TV}+ \mathbb{E}_{\omega}\left[ \mid \left(\int_{\Omega^N}\parallel R(\theta^*,S) \parallel_{L^1}dS\right) -\mathcal{E}_V\mid\right] \right) \end{equation*}
En développant on obtient
\begin{equation*} \begin{aligned} \mathcal{E}_g(\theta^*) \amp \le C_{pde}\left(\mathcal{E}_T+\mathcal{E}_{TV}+ \mathbb{E}_{\omega}\left[ \mid \left(\int_{\Omega^N}\int_{\Omega}\mid R(z,\theta^*,S) \mid dz dS\right) -\mathcal{E}_V\mid\right] \right)\\ \amp \le C_{pde}\left(\mathcal{E}_T+\mathcal{E}_{TV}+ \mathbb{E}_{\omega}\left[ \mid \left(\int_{A}\left(\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS\right) dP(\omega)\right) -\mathcal{E}_V\mid\right] \right) \amp \le C_{pde}\left(\mathcal{E}_T+\mathcal{E}_{TV}+\sqrt{ \mathbb{E}_{\omega}\left[ \mid \left(\int_{A}\left(\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS\right) dP(\omega)\right) -\mathcal{E}_V\mid^2\right]} \right) \end{aligned} \end{equation*}
Le dernière ligne s’obtient sous certaine condition sur la loi de \(\omega\) que l’on suppose vérifiée. On remarque que la quantité \(\mathcal{E}_V\) est une moyenne empirique de la moyenne \(\mathbb{E}_{\omega}[f(z(\omega))]=\int_{A}\left(\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS\right) dP(\omega)\) associé à la variable aléatoire
\begin{equation*} f(z(\omega))=\left(\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS\right) \end{equation*}
Le résidu associé aux réseaux de neurones n’est pas indépendant du jeu de données d’netrainement mais est bien indépendant du jeux de validation. On peut donc utiliser des estimations de Monte Carlo de la section Section 1.2. Cela nous donne la majoration suivante:
\begin{equation*} \mathbb{E}_{\omega} \left[\mid \left(\mathbb{E}_{\omega}[f(z(\omega))]-\mathcal{E}_V \right)\mid^2\right]\leq \frac{\sigma^2}{N} \end{equation*}
\begin{equation*} \sigma= \sqrt{ (\mathbb{E}_{\omega}[ f(z(\omega)) - \mathbb{E}_{\omega}[f(z(\omega))])^2] } \end{equation*}
\begin{equation*} \sigma= \sqrt{ \mathbb{E}_{\omega}[ \left(\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS - \int_{\Omega}\int_{\Omega^N}\mid R(z(\omega),\theta^*,S) \mid dS dz \right)^2] } \end{equation*}
ce qui conclu la preuve.

Subsection 12.6.2 Echantillonnage par hypercube Latin

En construction

Subsection 12.6.3 Échantillonnage préférentiel

On va détaillé une approche proposée dans (ref Tang2021DASAD). L’idée de ne pas tirer les points d’intégration selon une loi uniforme mais de les concentrer dans certaines zones a été cependant étudiée dans plusieurs travaux. Dans (refn MAO2020112789) par exemple, les auteurs montrent comment la concentration des points autour des chocs et des discontinuités permet de réduire l’erreur effectuée par le PINN’s. Cependant les approches ne sont pas forcement générique. On va donc se concentrer sur l’explication d’une méthode générique qui en plus va permettre de revoir des approches de Monte-Carlo classiques et d’introduire de nouveaux outils d’apprentissage profond.

Subsubsection 12.6.3.1 Echantillonnage adaptatif par Voronoi

En construction

Subsubsection 12.6.3.2 Échantillonnage préférentiel et modèle génératif

L’idée centrale est simplement de concentrer les poids \((t_i,x_i)\) tirés aléatoirement pour approche l’intégrale de la loss la ou l’erreur du réseau est la plus grande. Pour cela on va passer par l’échantillonnage préférentiel. On définit
\begin{equation*} r_{\theta}(x,t,\boldsymbol{\mu})= \parallel \partial_t\hat{\mathbf{U}}_{\theta}(t,x,\boldsymbol{\mu})- \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 \end{equation*}
Dans le cas la fonction de coût se réécrit
\begin{equation*} \mathcal{J}(\theta)=\int_{V_{\mu}}\int_0^T\int_{\Omega}r_{\theta}(x,t,\boldsymbol{\mu}) dxdt d\boldsymbol{\mu} \end{equation*}
Le but est donc de réduire l’erreur de l’estimation de cette intégrale avec une méthode de MC. Pour cela il faut réduire la variance. Comme rappeler précédemment l’idée est de changer la loi d’échantillonnage en espérant que cela réduise la variance. On écrit donc:
\begin{equation*} \mathcal{J}(\theta)=\int_{V_{\mu}}\int_0^T\int_{\Omega}r_{\theta}(x,t,\boldsymbol{\mu}) dxdt d\boldsymbol{\mu}= \int_{V_{\mu}}\int_0^T\int_{\Omega}\frac{r_{\theta}(x,t,\boldsymbol{\mu})}{p(t,x,\boldsymbol{\mu})} p(t,x,\boldsymbol{\mu})dxdt d\boldsymbol{\mu} \end{equation*}
L’approche de cette intégrale le fait par la formule suivante
\begin{equation*} \mathcal{J}(\theta)\approx \sum_{i=1}^N\frac{r_{\theta}(x_i,t_i,\boldsymbol{\mu}_i)}{p(t_i,x_i,\boldsymbol{\mu}_i)} \end{equation*}
avec \(t_i,x_i,\boldsymbol{\mu}_i\) pour \(1\lt i \lt N\) obtenu en échantillonnant la loi \(p(t,x,\boldsymbol{\mu})\text{.}\) Maintenant la question de savoir comment construire la densité de probabilité \(p(x)\) et quel est l’algorithme global d’apprentissage qui va construire \(\hat{\mathbf{U}}_{\theta}(t,x,\boldsymbol{\mu})\text{.}\) La première idée est d’utiliser aussi un réseau de neurones pour approcher la densité de probabilité qu’on notera \(p_{\theta^*}(t,x,\boldsymbol{\mu})\text{.}\) On détaillera après le type d’architecture utilisée.
Comme énoncé précédemment, on souhaite distribuer plus de points la ou le résidu serait plus important. Autrement dit on souhaite que \(p_{\theta^*}\) approche \(r_{\theta}(x,t,\boldsymbol{\mu})\text{.}\) Il est donc naturel de résoudre le problème de minimisation:
\begin{equation*} \operatorname{min}_{\theta^*} D_{KL}(r_{\theta}(x,t,\boldsymbol{\mu})\mid \mid p_{\theta^*}(t,x,\boldsymbol{\mu})) \end{equation*}
On développe la divergence de Kullback-Leibler:
\begin{equation*} D_{KL}(r_{\theta}(x,t,\boldsymbol{\mu}),p_{\theta^*}(t,x,\boldsymbol{\mu}))= \int_{V_{\mu}}\int_0^T\int_{\Omega} r_{\theta}(x,t,\boldsymbol{\mu})\mathrm{log}(r_{\theta}(x,t,\boldsymbol{\mu}))- \int_{V_{\mu}}\int_0^T\int_{\Omega} r_{\theta}(x,t,\boldsymbol{\mu})\mathrm{log}(p_{\theta^*}(t,x,\boldsymbol{\mu})) \end{equation*}
Puisque le résidu ne dépend pas de \(\theta^*\) on peut négliger dans le problème de minimisation le premier terme.
Définition 12.57.
La fonction coût associée à la densité de probabilité approchée est:
\begin{equation*} \int_{V_{\mu}}\int_0^T\int_{\Omega} r_{\theta}(x,t,\boldsymbol{\mu})\mathrm{log}(p_{\theta^*}(t,x,\boldsymbol{\mu})) \end{equation*}
qui est approchée par par échantillonnage préférentiel aussi
\begin{equation*} \mathcal{J}_p(\theta^{*})=-\sum_{i=1}^N \frac{r_{\theta}(x_i,t_i,\boldsymbol{\mu}_i)\mathrm{log}(p_{\theta^*}(t_i,x_i,\boldsymbol{\mu}_i))}{p_{\theta^*}(t_i,x_i,\boldsymbol{\mu}_i)} \end{equation*}
avec les points \((t_i,x_i,\boldsymbol{\mu}_i)\) échantillonnés par \(p_{\theta^*}\text{.}\)
Maintenant que cette fonction a été définie on peut construire l’algorithme d’apprentissage avant d’introduire des résultats théoriques sur la réduction de la variance (??? on fait ou pas). avec \(m\) la taille des batch.
L’objectif de la méthode est de diminuer la variance de l’estimateur de Monte-Carlo on va maintenant introduire des résultats qui montre cela sous certaines hypothèses. Évidemment on va notamment supposer que l’apprentissage de la loi de probabilité \(p_{\theta}\) se passe bien, on ne sait en effet pas démontrer la convergence d’un algorithme d’apprentissage profond de ce type. On a va donc montrer que sous hypothèse que la loi estime bien le résidu du PINN’s a un moment donné, alors utiliser cette loi d’échantillonnage permet de réduire la variance. (TOOO DOOO preuve)