Les PINNs (Physics-Informed Neural Networks) constituent une nouvelle classe de réseaux de neurones qui hybride apprentissage automatique et lois physiques. Cette nouvelle technologie algorithmique, relativement récente (2019) et issue des laboratoires de recherche, pourrait avoir dans les années à venir des applications scientifiques importantes (simulation temps réel, jumeaux numériques, calcul inverse, …) dans le domaine des sciences de l’ingénieur. Cet article rappelle le principe de la résolution numérique des équations différentielles par discrétisation, les limites actuelles du Deep Learning et enfin l’apport des PINNs et leurs applications potentielles.
Les travaux de référence de 2019 sur les PINNs
L’article de référence sur les PINNs « Physics-informed neural networks: A deep learning framework for solving forward and inverse problems involving nonlinear partial differential equations » de Maziar Raissi, Paris Perdikaris, et George Em Karniadakis (travaux financés par la DARPA / USA) est paru dans la revue Journal of Computational Physics en février 2019. Cet article détaille le principe et les applications potentielles de cette nouvelle architecture de réseaux de neurones.
La limitation des réseaux de neurones traditionnels
Les réseaux de neurones traditionnels donnent de très bons résultats. Cependant, ils présentent plusieurs limitations : solutions multiples possibles, non prise en compte de la réalité des phénomènes physiques et data set d’apprentissage de taille importante. En effet, les réseaux de neurones étant stochastiques, d’un apprentissage à un autre, les résultats peuvent être différents, ce qui peut être gênant. De plus, les réseaux traditionnels ne tiennent pas compte des phénomènes physiques. Si cela n’est pas problématique en marketing ou en analyse de comportement (réseaux sociaux, …) ou aucune loi physique n’est réellement pertinente, cela l’est davantage dans les sciences de l’ingénieur où la prédiction peut s’éloigner sensiblement de la réalité physique. Enfin, le réseau de neurones, pour être entrainé et donner des réponses sensées doit bénéficier d’un grand nombre de données en phase d’apprentissage.
Les équations différentielles
Une équation différentielle traduit un phénomène physique selon une équation mathématique. Les équations différentielles ont été théorisées à la fin du 17ième et résolues progressivement au début du 18ième siècle et au 19ième siècle pour les plus complexes. Elles mettent en œuvre généralement des variables (position, vitesse, pression, température, …) évoluant dans le temps et dans l’espace. Ces équations différentielles peuvent être d’ordre 1 (comme du/dx) ou d’ordre 2 (d2u/dt2).
Ces dernières sont sans doute les plus utilisées dans des domaines physiques variés. En particulier, les problèmes de dynamique basés sur la deuxième loi de Newton aboutissent à une équation du deuxième ordre (ou plusieurs) dans laquelle le produit de la masse d’un corps par son accélération est égal à la somme des forces appliquées. Mais la thermique ou la fluidique utilisent largement aussi ce type d’équations différentielles.
Résolution numérique par discrétisation spatiale et temporelle
Les équations différentielles sont donc à la base de la physique moderne et sont calculées numériquement dans les codes de simulation par résolution explicite ou implicite. La résolution numérique est réalisée grâce à la discrétisation des variables en imposant un pas de temps spatial (dx) et temporel (dt) et en s’appuyant sur le développement de Taylor. Ainsi, les résultats ne sont pas calculés en tous points de l’espace et du temps de manière continue, mais localement à pas constant (en différences finies) ou avec un pas évolutif (en éléments finis). Pour garantir la stabilité et la convergence des calculs, on est amené à imposer des conditions supplémentaires (entre dx et dt par exemple dans le cas de l’équation de la chaleur en 1 dimension).
La rétropropagation du gradient de l’erreur
Dans un réseau de neurones traditionnel, les poids des neurones (noté souvent w) sont calculés pendant la phase d’apprentissage avec l’algorithme de rétropropagation du gradient de l’erreur. Cette erreur (MSE pour Mean Square Error ou erreur moyenne au carré) est la différence entre la valeur prédite et la valeur réelle utilisée pour l’apprentissage. La rétropropagation du gradient de l’erreur consiste à corriger les erreurs selon l’importance des neurones qui ont justement participés à la réalisation de ces erreurs. Les poids synaptiques (w) des neurones qui contribuent à engendrer une erreur importante se verront donc modifiés de manière plus significative que les poids qui ont engendré une erreur marginale.
En pratique, l’algorithme d’apprentissage commence par une propagation avant (forward propagation) qui permet de prédire la valeur de sortie à partir d’un jeu de données de la base d’apprentissage. On calcule ensuite l’erreur (entre la valeur prédite et la valeur attendue de la base d’apprentissage) et le gradient d’erreur est rétro propagé (back-propagation) dans tout le réseau de neurones. L’algorithme met à jour ensuite l’ensemble des poids des neurones (en fonction d’un taux d’apprentissage). On réitère un grand nombre de fois cette succession de propagations vers l’avant et vers l’arrière sur l’ensemble de la base d’apprentissage jusqu’à un critère d’arrêt.
Principe des PINNs
Les équations différentielles, représentant un phénomène physique, interviennent justement dans le calcul de la fonction d’erreur. Dans un PINN, cette fonction MSE (MSE = MSEu + MSER) est alors la somme de l’erreur entre la valeur réelle et la valeur prédite (MSEu) -comme pour celle d’un réseau de neurone traditionnel – et celle entre valeur prédite et la valeur respectant la loi physique (MSER). Dans le cas où les équations différentielles sont multiples, l’erreur MSE est la somme de plusieurs erreurs issues de chaque équation. L’équation différentielle limite donc l’espace des solutions admissibles par le réseau de neurones lors de la phase d’apprentissage.
Oscillateur harmonique à l’aide de PINN
Un exemple récent de l’utilisation des PINNs a été donné par Ben Moseley pour la prédiction des points d’un oscillateur harmonique simple. Il s’agit d’un ressort au bout duquel une masse oscille de bas en haut selon un mouvement sinusoïdal amorti. Ce type de mouvement d’oscillation amortie est relativement complexe à prédire pour un réseau de neurones conventionnel, ce qui en fait un bon indicateur de performance.
Les résultats du PINN avec l’oscillateur harmonique
Avec les mêmes données d’apprentissage, alors qu’un réseau de neurones traditionnel (sans modèle physique) n’arrive pas à prédire les oscillations de manière satisfaisante (sauf sur les 2 premières oscillations), le PINN colle bien mieux à la réalité physique et prédit de manière très satisfaisante l’amortissement final alors que les données d’apprentissage ne concernent que les premières oscillations.
PhyLSTM pour modéliser les évolutions d’un phénomène au cours du temps
Pour prédire les évolutions d’un phénomène dans le temps, en Machine Learning, on utilise traditionnellement des réseaux de neurones récurrents ou LSTM (pour Long Short Term Memory). Si l’on ajoute des fonctions physiques à ces réseaux, on améliore l’efficacité des prédictions en collant mieux à la réalité. Ce type de modèle est appelé quelquefois PhyLSTM (pour Physical LSTM).
Un modèle de calcul en éléments finis (FEA pour Finite Element Analysis) a été développé qui fait appel à un réseau de neurones récurrent bidirectionnel (BRNN pour Bidirectional Recurent Neural Networks). Les éléments finis sont ici remplacés par des neurones pré-entraînés qui contiennent des lois physiques au sens des PINNs. Ce type de calcul dit FENA – pour Finite Element Network Analysis – a pour avantage de mélanger le principe des éléments finis à l’apprentissage des réseaux de neurones pour apprendre à prédire un comportement mécanique complexe (avec des données issues de capteurs positionnés sur une structure).
L’exemple donné dans l’article fait appel à une structure unidimensionnelle mais on peut imaginer à l’avenir des modèles en deux dimensions, voir une représentation plus complexe en 3 dimensions.
Les lois physiques prises en compte dans un PINN
Les lois physiques pouvant être intégrées dans les PINNs sont très diverses et vont de la fluidique (équations de Navier-Stokes) à l’électromagnétisme (équations de Maxwell) en passant par la thermique (équations de Fourrier), la mécanique et la théorie des poudres (équations de Dirichlet), la mécanique quantique (équation de Shrödinger), la modélisation de vagues sur des surfaces libres (équations KdV pour Korteweg–de Vries). Plus généralement, toute loi physique sous forme d’équations différentielles peut se traduire par une utilisation dans un PINN. Tous les domaines de la physique sont concernés car les lois physiques sont représentées, pour la très grande majorité d’entre-elles, par des équations différentielles partielles (PDE pour Partial Differiental Equations).
Equations de Navier Stokes
Les équations de Navier-Stokes (fluidique) peuvent être intégrées à un PINN et à partir des données d’apprentissage concernant les vitesses de fluide permettent la prédiction de la la pression résultant dans ce même milieu avec une très bonne fiabilité.
L’exemple donné ci-contre concerne des tourbillons derrière un cylindre placé dans le flux avec un nombre de Reynolds (Re) de 100.
PINN versus simulation numérique
On peut se demander s’il est bien utile d’utiliser la technologie PINN alors que des équations physiques existent – celles-là même utilisées dans un PINN – et qu’il est donc possible de réaliser des calculs par simulation numérique. Il est vrai que si la simulation numérique répond complètement au problème, ce type de calcul sera toujours plus précis et pertinent que le Machine Learning.
Cependant, dans certains cas, la simulation numérique ne répond pas au problème : lorsque l’on souhaite une réponse en temps réel (et que la simulation prend plusieurs heures de calcul), lorsque l’on dispose de données d’apprentissage et que certains paramètres du modèle physique ne sont pas connus ou accessibles pour une modélisation ou enfin que l’on souhaite construire un MOR (Model Order Reduction) pour développer un jumeau numérique multi-physique. Sur des cas relativement simples à l’heure actuelle, les PINNs permettent ainsi d’accélérer les temps de calcul de plusieurs centaines de fois pour des lois physiques issues de la CFD (fluidique), ce qui peut permettre d’explorer un grand nombre de cas tests.
Conclusions
On l’aura compris, l’idée des PINNs est donc “d’encoder” les lois de la physique (thermique, fluidique, mécanique, …) et les connaissances scientifiques dans les algorithmes d’apprentissage pour les rendre plus robustes et performants. Les PINNs peuvent intéresser de nombreuses disciplines du monde de la recherche (fluidique, climatologie, sismologie ou encore science des matériaux) et des sciences de l’ingénieur. On peut encore imaginer que les PINNs pourront participer à la création de jumeaux numériques industriels en prenant en compte tous les phénomènes physiques à l’œuvre ainsi que leurs interactions au cours du cycle de vie du système physique à modéliser. Le Physics-Informed Neural Network est encore une technologie récente, très peu connue, qui n’a pas atteint sa maturité technologique (faible TRL) et a fait l’objet, à ce stade, de très peu de développements industriels.
De plus, s’il semble assez aisé de tenir compte d’un seul phénomène physique (une seule équation aux dérivés partielles), la prise en compte de phénomènes multiphysiques (mécanique couplée à de la thermique ou de la fluidique couplée à de la thermique) semble beaucoup plus complexe et encore très récent (Multiphysics-informed neural network ou MPINN). Il faut signaler également que cette technologie mêlant lois physique et Deep Learning est quelquefois appelé aussi Physics-Based Deep Learning (PBDL). Les PINNs vont encore évoluer, se perfectionner et deviendront accessibles aux développeurs via des librairies python en open-source. Les PINNs nous semblent très intéressants pour les sciences de l’ingénieur. Il est assez probable qu’à moyen termes, certains codes de simulation intégreront des briques technologiques issues de ces nouvelles technologies.