Reading Time: 10 minutes

Points à retenir clés

  • Les réseaux de neurones basés sur la physique intègrent des lois physiques directement dans la formation des réseaux de neurones. Ils peuvent résoudre des PDE sans génération de maillage traditionnelle ou sans jeux de données massifs.
  • Les substituts de ML traditionnels ont souvent besoin de nombreuses simulations pour s’entraîner. Les PINN utilisent des équations physiques comme contraintes et peuvent fonctionner avec des données limites ou des mesures clairsemées.
  • Un PINN produit des prédictions tout en minimisant le résidu PDE grâce à la différenciation automatique. Si les prédictions violent la physique qui gouverne, le réseau est pénalisé pendant l’entraînement.
  • Les PINN sont utiles pour les problèmes inverses, les régimes de données clairsemées, les géométries irrégulières et les cas où la génération de maillage est difficile.
  • Les PINN ne sont pas idéaux pour les problèmes simples où les solveurs traditionnels fonctionnent bien, ou lorsque vous avez besoin de limites d’erreurs rigoureuses et de garanties de convergence.

Vous essayez de résoudre une équation aux dérivées partielles. Il peut décrire la diffusion de la chaleur dans un nouvel alliage, le flux de fluide autour d’une pale de turbine ou l’évolution du champ de phase dans une électrode de batterie.

Traditionnellement, vous discrétiriez le domaine dans un maillage, mettiez en place un schéma numérique, résolvez le système résultant et espérez que le maillage ne crée pas de problèmes numériques.

Les réseaux de neurones basés sur la physique offrent une autre approche. Au lieu de créer un maillage en premier, vous formez un réseau de neurones qui apprend la solution tout en étant contraint par l’équation physique qui gouverne.

Depuis leur introduction par Raissi, Perdikaris et Karniadakis, Pinns est passé d’une idée académique spécialisée à un outil important en science informatique. Ils sont particulièrement utiles pour les problèmes difficiles pour les méthodes numériques traditionnelles et l’apprentissage automatique conventionnel.

Ce guide explique le concept de base, comment fonctionnent les PINN, comment implémenter une version simple dans PyTorch, où ils aident et où leurs limites sont importantes.

L’idée de base : enseigner à un réseau de neurones les lois de la physique

Un modèle d’apprentissage automatique standard apprend en minimisant l’erreur entre les prédictions et un ensemble de données d’apprentissage. Il est principalement basé sur les données. Vous fournissez des exemples, le modèle trouve des modèles et vous espérez qu’il se généralise.

Un réseau de neurones basé sur la physique utilise une approche différente. Il s’entraîne à la fois sur les données et sur la physique.

Le réseau neuronal prédit la solution d’une PDE. La fonction de perte mesure non seulement la proximité de la prédiction des données disponibles, mais également la façon dont la prédiction satisfait l’équation différentielle gouvernante.

En d’autres termes, le réseau est pénalisé lorsqu’il viole la physique.

Considérez une PDE écrite sous forme résiduelle :

f(u, x, ∂u/∂x, ∂²u/∂x², …) = 0

Ici, u est la solution, et les dérivées sont prises par rapport aux coordonnées spatiales ou temporelles. Un PINN construit une fonction de perte avec deux composants principaux :

  1. perte de données. Cela mesure l’erreur quadratique moyenne entre les prédictions du réseau et les données disponibles, telles que les conditions initiales, les conditions aux limites ou les mesures clairsemées.
  2. Perte de physique. Cela mesure le résidu PDE moyen au carré aux points de collocation échantillonnés dans tout le domaine.

Le modèle optimise les deux termes en même temps. Il apprend des prédictions cohérentes avec les données et avec la physique qui gouverne.

Comment fonctionnent réellement les PINN : l’architecture

L’architecture de réseau neuronal pour les PINN est généralement un perceptron multicouche.

La couche d’entrée reçoit des coordonnées spatiales telles que x, y et z, et éventuellement le temps t. Pour un problème 2D en régime permanent, il peut y avoir deux entrées. Pour un problème 1D transitoire, les entrées sont souvent x et t.

Les couches cachées contiennent généralement 2 à 5 couches avec 50 à 200 neurones chacune. La fonction d’activation tanh est souvent préférée à Relu car de nombreuses solutions PDE sont lisses et les activations lisses peuvent mieux représenter des champs physiques continus.

La couche de sortie contient un neurone par inconnu. Par exemple, il peut produire la température, la concentration, la pression ou la vitesse. Les problèmes multi-physiques peuvent utiliser plusieurs neurones de sortie avec une fonction de perte combinée.

La différenciation automatique est le mécanisme clé. Au lieu d’approximer les dérivées par des différences finies, la différenciation automatique calcule les dérivées de la sortie du réseau par rapport à ses entrées. Cela permet au modèle d’évaluer le résidu PDE directement à l’intérieur de la fonction de perte.

La fonction de perte : deux termes, un objectif

Une fonction de perte de PINN typique ressemble à ceci :

l_total = λ_data × l_data + λ_physics × l_physics

Les facteurs de pondération équilibrent les deux termes. Cet équilibre est important. Si la perte physique domine trop fortement, le modèle peut ignorer les contraintes de données. Si la perte de données domine, la contrainte physique peut devenir trop faible.

L_data Mesure l’erreur de prédiction par rapport aux mesures disponibles, aux conditions initiales ou aux conditions aux limites.

L_physics Mesure le résidu PDE. La prédiction du réseau est branchée sur l’équation différentielle, au carré et moyennée sur les points de collocation échantillonnés dans le domaine.

L’idée clé est que le modèle n’a pas besoin d’un maillage fixe. Par des points d’échantillonnage dans tout le domaine, le réseau apprend à satisfaire la PDE où la physique est définie. Il n’y a pas de connectivité d’élément, de problème de qualité de maillage ou d’exigence de grille traditionnelle.

Un exemple travaillé : Résoudre l’équation de la chaleur

Considérez l’équation de chaleur 1D :

∂U/∂T = ∂²U/∂x², avec u(x,0) = sin(πx)

Ce problème a une solution analytique connue :

u(x,t) = e-π²t × sin(πx)

Voici une configuration simple de PINN pour ce problème dans PyTorch :

import torch
import torch.nn as nn

class PINN(nn.Module):
    def __init__(self):
        super().__init__()
        # Two hidden layers, 50 neurons each, tanh activation
        self.fc1 = nn.Linear(2, 50)   # inputs: x, t
        self.fc2 = nn.Linear(50, 50)
        self.fc3 = nn.Linear(50, 1)   # output: u(x,t)
        self.activation = torch.tanh
        
    def forward(self, x, t):
        x = self.activation(self.fc1(torch.stack([x, t], dim=-1)))
        x = self.activation(self.fc2(x))
        return self.fc3(x).squeeze()

# Create the network
model = PINN()

# Automatic differentiation for physics loss
x = torch.tensor(x_data, requires_grad=True)
t = torch.tensor(t_data, requires_grad=True)

u = model(x, t)
u_t = torch.autograd.grad(u.sum(), t, create_graph=True)[0]
u_x = torch.autograd.grad(u.sum(), x, create_graph=True)[0]
u_xx = torch.autograd.grad(u_x.sum(), x, create_graph=True)[0]

# Physics loss: |∂u/∂t - ∂²u/∂x²|²
physics_loss = torch.mean((u_t - u_xx)**2)

# Data loss: boundary or initial conditions
data_loss = torch.mean((u - u_initial)**2)

# Total loss
total_loss = physics_loss + data_loss

Au cours de la formation, le réseau rétropropage via le graphique de différenciation automatique. Il ajuste les poids pour minimiser à la fois le résidu PDE et l’erreur de limite ou de condition initiale.

Après la formation, le modèle peut évaluer la solution à tout moment du domaine, y compris les points qui n’ont pas été utilisés directement pendant la formation.

PINN vs substituts traditionnels de ML

Les PINN sont liés aux substituts de l’apprentissage automatique, mais ce ne sont pas les mêmes. Un substitut traditionnel apprend de nombreux exemples d’entrées-sorties produits par des simulations. Un PINN apprend en appliquant les équations régissant les cours lors de la formation.

aspect Surrogé ML traditionnel Réseau neuronal basé sur la physique
Données de formation Nécessite généralement de nombreuses exécutions Peut fonctionner avec des conditions aux limites et des données clairsemées
Intégration physique Apprend des modèles à partir de données utilise la physique comme contrainte de perte
génération de maillage Non requis par le modèle lui-même Non requis
Problèmes inverses Difficile sans données de paramètres étiquetées Naturel car des paramètres inconnus peuvent être des variables pouvant être entraînées
Régime de données Fonctionne mieux avec des données abondantes Peut bien fonctionner avec des données intérieures clairsemées ou sans données
Garanties mathématiques généralement statistique Garanties rigoureuses limitées
Coût de calcul à l’inférence quasi-instantané quasi-instantané
Coût de la formation Modéré, mais la génération de données peut être coûteuse Souvent élevé car l’optimisation peut nécessiter de nombreuses itérations

La distinction fondamentale est la suivante : une mère porteuse traditionnelle apprend une cartographie des entrées aux sorties en voyant de nombreux exemples. Un PINN apprend une solution contrainte par les équations gouvernantes. Vous n’avez pas besoin de milliers d’exécutions de simulation si vous connaissez déjà les conditions physiques et limites.

Quand utiliser les PINN : la matrice de décision

Les PINN ne sont pas un remplacement universel pour les solveurs traditionnels. Ils sont utiles dans des scénarios spécifiques.

Quand les pinns conviennent parfaitement

  • problèmes inverses. Les PINN peuvent aider à découvrir des paramètres inconnus tels que la conductivité, la diffusivité ou les taux de réaction à partir d’observations clairsemées.
  • Espaces de paramètres de grande dimension. Les PINN peuvent traiter les paramètres comme des entrées de réseau et apprendre à travers les plages de paramètres.
  • Géométries irrégulières ou complexes. Étant donné qu’aucune génération de maillage n’est requise, vous pouvez échantillonner des points dans le domaine et laisser le réseau apprendre de la distribution des points de collocation.
  • régimes de données clairsemées. Les contraintes physiques agissent comme régularisation lorsque les données seules seraient insuffisantes.
  • Problèmes de multi-fidélité. Les PINN peuvent combiner des informations de fidélité et de fidélité plus faibles grâce à des termes de perte pondérée.

Quand éviter les pins

  • Des problèmes simples où les solveurs traditionnels fonctionnent déjà bien. Si un solveur standard converge rapidement et avec précision, un PINN peut ajouter une complexité inutile.
  • Problèmes nécessitant des limites d’erreur prouvables. Les PINN n’ont pas encore la même théorie de convergence que les méthodes d’éléments finis ou de volume fini matures.
  • Exigences élevées en matière de précision à proximité des singularités. Les pinnures standard peuvent lutter avec des gradients, des discontinuités et des couches limites.
  • Cas où vous avez déjà un solveur validé et optimisé. Si votre solveur FVM ou FEM existant est rapide et précis, il peut ne pas être utile de le remplacer.

De vraies applications scientifiques

Les PINN ont été appliqués dans de nombreux domaines scientifiques.

En physique du plasma et en astrophysique, les PINN ont été utilisés pour résoudre les équations de Grad-Shafranov pour les équations d’équilibre magnétique et de Lane-Emden pour la structure stellaire. Ces problèmes peuvent impliquer des conditions aux limites mixtes qui sont difficiles pour certains solveurs traditionnels.

Dans la dynamique des fluides, les PINN ont été utilisés pour déduire des champs de vitesse pleine à partir de données de mesure clairsemées en appliquant les équations de Navier-Stokes en tant que contraintes.

En imagerie biomédicale, des modèles basés sur la physique ont été utilisés pour filtrer et reconstruire les données de flux tout en respectant les équations de conservation de masse et de mouvement.

En électrochimie, les PINN sont explorés pour les systèmes couplés de réaction-réaction, y compris la modélisation des électrodes de batterie lorsque les solutions analytiques ne sont pas disponibles.

Des pièges courants et comment les éviter

1. Déséquilibre des pertes

L’échec d’entraînement le plus courant est un terme de perte dominant un autre. La perte physique peut être beaucoup plus importante que la perte de données, ou le contraire peut se produire. Lorsque cela se produit, le modèle peut ignorer entièrement une contrainte.

Corrigez cela en normalisant les deux termes de perte. Utilisez des schémas de pondération adaptatifs qui ajustent λ_data et λ_physics en fonction de l’amplitude relative de chaque terme. Surveillez les deux pertes séparément pendant la formation.

2. Minima locaux et stands d’entraînement

Les pinns peuvent rester bloqués dans de mauvais minimums locaux. Le réseau peut satisfaire la perte physique tout en produisant une solution incorrecte, ou il peut s’adapter aux données de limites tout en échouant dans le domaine.

Corrigez cela avec une formation basée sur le programme d’études. Commencez par une version simplifiée du problème, comme une forme en régime permanent ou une PDE plus simple, puis augmentez progressivement la complexité. Vous pouvez également commencer avec moins de points de collocation et augmenter la couverture au fil du temps.

3. Dégradés et discontinuités nets

Les points standards ont souvent des difficultés avec des gradients, des discontinuités et des couches limites. Des fonctions d’activation fluides peuvent rendre difficile la représentation de changements brusques.

Corrigez cela avec le raffinement de points de collocation adaptatif. Points concentrés où le résidu est le plus important. Vous pouvez également utiliser des formulations à contrainte dure qui intègrent exactement les conditions aux limites, ou des PINN composites avec des réseaux séparés sur différentes régions.

4. Confiance excessive sans garanties

Les PINN peuvent produire des résultats visuellement plausibles qui sont toujours erronés. Sans limites d’erreurs rigoureuses, il peut être difficile de savoir où la solution est fiable.

Corrigez cela en validant les prédictions de PINN par rapport aux benchmarks connus lorsque cela est possible. Entraînez plusieurs réseaux avec des initialisations différentes pour estimer la variance de prédiction. Retrouvez les solveurs traditionnels sur des cas de test simples avant de faire confiance aux résultats sur des problèmes complexes.

Mise en route : un flux de travail pratique

Utilisez le flux de travail suivant lors de la mise en œuvre de PINN dans un projet de recherche.

Étape 1 : Définissez le problème de manière formelle

Écrivez la PDE sous forme résiduelle. Identifiez tous les paramètres, conditions aux limites et conditions initiales. Clarifiez les données dont vous disposez et ce que vous souhaitez découvrir.

Étape 2 : Choisissez votre cadre

PyTorch est largement utilisé dans les didacticiels et les implémentations de PINN. Tensorflow est également courant. Si vous utilisez déjà Fipy pour les solveurs traditionnels, vous pouvez intégrer des PINN au niveau du flux de travail en les utilisant pour des problèmes inverses ou une exploration rapide, puis en vérifiant les résultats avec Fipy.

Étape 3 : Configurer l’architecture du réseau

Commencez simplement : 2 à 3 couches cachées, 50 à 100 neurones et tanh activation. Vous pouvez affiner plus tard. Ne pas trop concevoir l’architecture au début, car les contraintes physiques font une grande partie du travail.

Étape 4 : Exemples de points de collocation

Dessinez des points aléatoires uniformément à l’intérieur du domaine. Vous aurez peut-être besoin de centaines ou de milliers de points en fonction de la complexité du problème. Pour les problèmes multi-échelles, utilisez un échantillonnage non uniforme concentré là où la solution change le plus.

Étape 5 : Implémentez la fonction de perte

Créez des termes de perte de données et de pertes physiques distincts. Ajoutez la normalisation pour que leurs magnitudes soient comparables. Surveillez les deux termes de perte pendant la formation.

Étape 6 : Entraînez-vous et validez

Entraînez-vous d’abord avec Adam, en utilisant souvent un taux d’apprentissage proche de 1e-3, puis passez à L-BFGS pour un réglage fin. Valider par rapport aux solutions analytiques ou aux solveurs traditionnels sur des problèmes de référence avant d’appliquer le modèle à de nouveaux problèmes.

L’avenir de PINN dans le calcul scientifique

Le champ Pinn évolue rapidement. Plusieurs développements valent le détour.

Apprentissage des opérateurs

Au lieu d’apprendre une solution unique, les méthodes d’apprentissage des opérateurs visent à apprendre la cartographie des conditions et paramètres initiaux aux champs de solution complets. Cela signifie qu’un modèle formé peut gérer une famille de problèmes plutôt qu’un cas fixe.

PhysiqueNemo

NVIDIA a rebaptisé son cadre de modules en tant que Physicsnemo, signalant un intérêt plus large de l’industrie pour les outils d’intelligence artificielle informés par la physique.

Décomposition du domaine

L’extension des PINN à de très gros problèmes grâce à la décomposition de domaine parallèle est un domaine de recherche actif. Cela compte pour déplacer les PINN des références académiques vers de véritables charges de travail de simulation scientifique.

Approches hybrides

Les workflows hybrides combinent les PINN avec les solveurs traditionnels. Les PINN peuvent prendre en charge une exploration rapide ou une résolution inverse de problèmes, tandis que les solveurs FVM ou FEM vérifiés peuvent fournir une validation finale.

Guides connexes

Pour une couverture plus approfondie des sujets connexes dans les flux de travail en sciences informatiques :

Besoin d’aide pour mettre en place des PINN pour votre simulation ?

Les PINN sont puissants, mais ils ne sont pas triviaux à implémenter correctement. Ils peuvent être utiles si vous travaillez sur :

  • Problèmes inverses avec des paramètres physiques cachés.
  • Modélisation de données clairsemées où le ML traditionnel s’ajusterait.
  • Exploration rapide d’espaces de paramètres trop coûteux pour une simulation directe.
  • Intégrer les contraintes physiques dans les pipelines de ML existants.

Notre équipe peut vous aider à créer des modèles basés sur la physique adaptés aux flux de travail scientifiques, y compris l’intégration avec Fipy et d’autres solveurs PDE. Contactez-nous pour discuter des besoins spécifiques de votre projet.

Références

  1. Raissi, M., Perdikaris, P., & Karniadakis, G.E. (2019). Réseaux de neurones basés sur la physique : un cadre d’apprentissage profond pour résoudre des problèmes avancés et inverses impliquant des équations aux dérivées partielles non linéaires. Journal de physique computationnelle, 378, 724–741.
  2. Karniadakis, G.E., Kevrekidis, I.G., Lu, L., et al. (2021). Apprentissage automatique basé sur la physique. Nature examine la physique, 3(6), 416–428.
  3. Baty, H. (2024). Une introduction pratique aux réseaux de neurones basés sur la physique pour résoudre les équations aux dérivées partielles. Observatoire astronomique, Université de Strasbourg. arxiv : 2403.00599.
  4. Cuomo, D., et al. (2022). Un examen complet de l’apprentissage automatique basé sur la physique pour la mécanique informatique. Ordinateurs et amp; structures.
  5. Karniadakis, G.E., et al. (2021). Apprentissage automatique basé sur la physique : une revue. Nature examine la physique.
  6. Wolf, T. (2024). Réseaux de neurones basés sur la physique : un didacticiel simple avec PyTorch. moyen.
  7. Département d’informatique d’Oxford. (2025-2026). Physique a informé les réseaux de neurones et les programmes de cours.