Neural Operators
Les opérateurs neuronaux apprennent des applications entre fonctions, par exemple entre un champ d’écoulement actuel et futur, et fournissent ainsi des modèles de substitution rapides pour les EDP, utilisables à n’importe quelle résolution de grille.
Les opérateurs neuronaux sont des réseaux neuronaux qui apprennent des correspondances entre fonctions plutôt qu’entre vecteurs de taille fixe. L’entrée est une fonction, comme un champ de vitesse initial, une carte de perméabilité d’une formation rocheuse ou l’atmosphère d’aujourd’hui ; la sortie est une autre fonction, comme l’écoulement quelques secondes plus tard, le champ de pression qui en résulte ou la météo de demain. Comme l’opérateur appris est défini sur un domaine continu, les mêmes poids acceptent une entrée échantillonnée sur une grille grossière, une grille fine ou un maillage irrégulier. Une fois entraîné sur des solutions issues d’un solveur numérique, l’opérateur neuronal remplace les simulations répétées de toute une famille d’équations aux dérivées partielles (PDE) par une seule passe avant rapide.
Opérateurs et modèles de substitution classiques#
Un réseau neuronal convolutif (CNN) entraîné comme modèle de substitution sur des simulations de 64 x 64 apprend des noyaux liés à cet espacement entre pixels. Une couche d’opérateur neuronal approxime plutôt un opérateur intégral : elle met à jour chaque point à partir d’un noyau appris intégré sur l’ensemble du domaine, auquel s’ajoute un terme linéaire ponctuel ; la grille détermine seulement la finesse d’évaluation de cette intégrale. Les prédictions convergent à mesure que la grille s’affine, propriété appelée invariance par discrétisation. Ainsi, un modèle entraîné sur des simulations grossières et peu coûteuses peut être interrogé à une résolution supérieure, ce que l’article sur Fourier Neural Operator a appelé super-résolution sans apprentissage spécifique.
Le fonctionnement des mêmes poids à une nouvelle résolution est familier dans les modèles de vision. Ultralytics YOLO26 accepte n’importe quelle imgsz en mode prédiction, arrondie au multiple supérieur de son pas maximal de 32 pixels, car les noyaux de convolution ne dépendent pas de la taille de l’image. Toutefois, chaque noyau 3 x 3 couvre un nombre fixe de pixels : doubler imgsz divise par deux la largeur de la scène couverte par chaque noyau.
Deux méthodes apparentées sont souvent confondues avec les opérateurs neuronaux. Un réseau neuronal informé par la physique (PINN) est entraîné à satisfaire une seule instance d’une PDE avec des coefficients et des conditions initiales fixes ; il doit être réentraîné lorsque ceux-ci changent. Une Neural ODE apprend la dérivée temporelle d’un vecteur d’état de longueur fixe, qu’un solveur intègre ensuite.
Opérateurs neuronaux de Fourier#
L’apprentissage d’opérateurs a pris son essor avec DeepONet, publié par Lu Lu, George Karniadakis et leurs collègues en 2019, ainsi qu’avec le cadre des opérateurs neuronaux de Zongyi Li, Nikola Kovachki, Anima Anandkumar, Andrew Stuart et leurs collègues de Caltech. Leur Fourier Neural Operator (FNO), publié à ICLR 2021, calcule l’intégrale du noyau comme une convolution dans le domaine fréquentiel : une transformée de Fourier rapide (FFT) convertit chaque canal en modes de Fourier, des matrices complexes apprises mélangent les canaux sur les modes de plus basse fréquence et éliminent les autres, puis une FFT inverse revient à la grille. Chaque point de sortie dépend de l’ensemble de l’entrée, ce qui donne un champ réceptif global en une couche.
Le chemin spectral se résume à quelques lignes de PyTorch. Ici, un même ensemble de poids traite les quatre mêmes fonctions d’entrée échantillonnées en 64 et en 256 points :
import torch
torch.manual_seed(0)
channels, modes = 4, 8
# Learned complex weights act on the 8 lowest Fourier modes, whatever the grid size
weights = torch.randn(channels, channels, modes, dtype=torch.cfloat) / channels
for points in (64, 256):
x = torch.arange(points) / points # the same periodic domain [0, 1), sampled coarsely or finely
field = torch.stack([torch.sin(2 * torch.pi * k * x) + x * (1 - x) for k in range(1, channels + 1)])
spectrum = torch.fft.rfft(field) # one row of Fourier coefficients per channel
mixed = torch.zeros(channels, points // 2 + 1, dtype=torch.cfloat)
mixed[:, :modes] = torch.einsum("im,iom->om", spectrum[:, :modes], weights)
output = torch.fft.irfft(mixed, n=points) # back to the grid the input came from
print(f"{points} points: output shape {tuple(output.shape)}, u(0.25) = {output[0, points // 4]:.4f}")Le programme affiche une sortie de forme (4, 64) avec u(0.25) = -1.0908 et une autre de forme (4, 256) avec u(0.25) = -1.0909. Les 128 poids complexes ne changent jamais, et la sortie au même point physique concorde à trois décimales près, car la couche agit sur les modes de Fourier de la fonction sous-jacente plutôt que sur les points de la grille. Pour les écoulements turbulents de Navier-Stokes, l’équation de Burgers et les écoulements de Darcy, l’article sur FNO a rapporté des prédictions jusqu’à mille fois plus rapides que les solveurs PDE traditionnels.
Autres architectures#
DeepONet, publié dans Nature Machine Intelligence en 2021, s’appuie sur un théorème d’approximation universelle des opérateurs de 1995, établi par Tianping Chen et Hong Chen : un réseau de branche encode la fonction d’entrée à partir de valeurs en des points de mesure fixes, un réseau de tronc encode la coordonnée où l’on souhaite obtenir la sortie, et leur produit scalaire fournit la valeur de sortie en ce point. Les opérateurs neuronaux sur graphes empruntent la transmission de messages aux réseaux neuronaux sur graphes (GNN) pour gérer les maillages irréguliers autour de géométries complexes. Les transformers d’opérateur traitent les points échantillonnés ou les portions du domaine comme des jetons. Préentraîné en dynamique des fluides, Poseidon, créé par l’ETH Zurich en 2024, sert de modèle de fondation pour les PDE et a été ajusté finement sur 15 tâches en aval, dont des phénomènes physiques absents de ses données de préentraînement. La bibliothèque open source neuraloperator implémente FNO et bon nombre de ces variantes.
Applications#
Les données d’entraînement proviennent de solveurs classiques : chaque paire d’entraînement est donc une donnée synthétique dont le coût n’est engagé qu’une fois. L’opérateur entraîné répond ensuite rapidement à de nombreuses requêtes : balayages de conception portant sur des profils d’aile ou des formes de réacteur, études de quantification de l’incertitude nécessitant des milliers d’exécutions et jumeaux numériques de machines et d’usines devant être actualisés plus rapidement qu’une simulation complète. Les opérateurs neuronaux informés par la physique ajoutent le résidu de la PDE à la fonction de perte afin que les prédictions restent conformes aux équations régissantes lorsque les données d’entraînement sont rares.
En prévision météorologique, FourCastNet, développé par NVIDIA et des partenaires universitaires en 2022, repose sur un opérateur neuronal de Fourier adaptatif et produit des prévisions mondiales à une résolution de 0.25°. Il génère une prévision sur une semaine en moins de 2 secondes, soit plusieurs ordres de grandeur plus rapidement que l’Integrated Forecasting System de l’ECMWF, auquel il est comparable en précision à courte échéance pour les variables à grande échelle.










