Apprentissage automatique fondé sur la physique

Découvrir des équations à partir de données (SINDy), encoder des EDP dans une fonction de perte (PINNs), et dompter un sillage tourbillonnaire par renforcement — un tour d'horizon du mariage entre ML et physique.

Pourquoi injecter de la physique dans le ML ?

L'apprentissage profond « pur » suppose des données abondantes et bon marché. En science et en ingénierie, c'est rarement le cas : une simulation aux éléments finis d'un écoulement turbulent coûte des heures de calcul haute performance, et une campagne expérimentale se compte en semaines. En revanche, on dispose d'un atout que la vision par ordinateur n'a pas : des siècles de lois physiques — conservation de la masse, de la quantité de mouvement, de l'énergie, symétries, invariances.

L'apprentissage automatique fondé sur la physique (physics-based / physics-informed ML) exploite ces lois comme biais inductifs : elles contraignent l'espace des hypothèses, réduisent la quantité de données nécessaire et produisent des modèles qui généralisent hors de l'échantillon d'entraînement. Trois stratégies dominent :

  • Découvrir la physique à partir de données — régression parcimonieuse sur une bibliothèque de termes (SINDy) ;
  • Imposer la physique pendant l'entraînement — résidu d'EDP dans la fonction de perte (PINNs) ;
  • Exploiter la structure du système — décompositions modales (POD, DMD), opérateur de Koopman, modèles réduits pour la commande et le RL.
C'est le fil conducteur de Brunton & Kutz : les systèmes complexes possèdent des structures dominantes de basse dimension, et le bon changement de coordonnées — appris des données — rend la dynamique simple, voire linéaire.

SINDy : découvrir les équations du mouvement

Supposons qu'on mesure une trajectoire \(\mathbf{x}(t) \in \mathbb{R}^n\) d'un système \(\dot{\mathbf{x}} = f(\mathbf{x})\) inconnu. L'idée de SINDy (Sparse Identification of Nonlinear Dynamics) : si \(f\) ne contient que quelques termes parmi une bibliothèque de candidats \(\Theta(\mathbf{X}) = [\,1,\ \mathbf{x},\ \mathbf{x}^2,\ \mathbf{x}\otimes\mathbf{x},\ \sin \mathbf{x},\ \ldots\,]\), alors identifier la dynamique revient à une régression parcimonieuse : \[\dot{\mathbf{X}} \approx \Theta(\mathbf{X})\,\Xi, \qquad \Xi = \arg\min_{\Xi'} \big\|\dot{\mathbf{X}} - \Theta(\mathbf{X})\,\Xi'\big\|_2^2 + \lambda \|\Xi'\|_0.\] En pratique, on résout par moindres carrés seuillés : régression, mise à zéro des petits coefficients, répétition. Le résultat n'est pas une boîte noire mais une équation lisible.

Animation 1. À gauche, une trajectoire du système de Lorenz se dessine (projection \(x\)–\(z\)). À droite, les coefficients \(\Xi\) de la bibliothèque : les passes de seuillage éliminent les termes superflus jusqu'à ne laisser que la structure exacte — \(\dot{x} = \sigma(y-x)\), \(\dot{y} = x(\rho - z) - y\), \(\dot{z} = xy - \beta z\).
Le compromis parcimonie–précision est un front de Pareto : \(\lambda\) joue le rôle du rasoir d'Ockham. C'est la même philosophie que la sélection de modèles par critères d'information (AIC/BIC) en statistique.

PINNs : la physique comme régularisation

Un réseau de neurones informé par la physique (PINN) approxime la solution \(u(x,t)\) d'une EDP \(\mathcal{N}[u] = 0\) par un réseau \(u_\theta\), entraîné en minimisant une perte composite : \[\mathcal{L}(\theta) = \underbrace{\frac{1}{N_d}\sum_{i} \big|u_\theta(x_i, t_i) - u_i\big|^2}_{\text{données \& conditions}} \;+\; \underbrace{\frac{\lambda}{N_r}\sum_{j} \big|\mathcal{N}[u_\theta](x_j, t_j)\big|^2}_{\text{résidu de l'EDP}}.\] Le second terme est évalué par différentiation automatique — le même moteur qui calcule les gradients de l'entraînement fournit \(\partial_t u_\theta\), \(\partial_{xx} u_\theta\), etc., sans maillage. La physique agit comme un régularisateur : même avec très peu de points de mesure, la solution est « tirée » vers la variété des solutions admissibles.

Animation 2. Un oscillateur amorti \(\ddot{u} + 2\zeta\omega\dot{u} + \omega^2 u = 0\) : avec seulement quatre observations (points jaunes), la perte de données seule laisserait le réseau libre entre les points ; le résidu physique (barre rouge) contraint la courbe bleue à épouser la vraie solution (pointillés).

Modèles d'ordre réduit : POD, DMD, Koopman

Un champ de vitesse discrétisé vit en dimension \(10^5\) à \(10^8\), mais sa dynamique se déploie souvent sur une variété de basse dimension. La POD (décomposition orthogonale aux valeurs propres, i.e. la SVD des instantanés) extrait les modes énergétiquement dominants \(\Phi\), et une projection de Galerkin des équations de Navier–Stokes sur \(\Phi\) donne un système d'EDO de petite taille — assez rapide pour la commande en temps réel.

La DMD cherche plutôt le meilleur opérateur linéaire \(A\) tel que \(\mathbf{x}_{k+1} \approx A\,\mathbf{x}_k\) : chaque mode possède une fréquence et un taux de croissance propres — idéal pour isoler la fréquence de détachement tourbillonnaire d'un sillage. Elle s'interprète comme une approximation de dimension finie de l'opérateur de Koopman \(\mathcal{K}\), qui rend la dynamique linéaire en agissant sur les observables : \(\mathcal{K}g(\mathbf{x}) = g(F(\mathbf{x}))\). Trouver de bonnes coordonnées koopmaniennes — éventuellement par autoencodeur — c'est ramener un problème non linéaire dans le royaume où LQR, Kalman et toute la théorie linéaire s'appliquent.

MéthodeObjet apprisForceLimite
SINDyEDO symbolique parcimonieuseInterprétabilitéChoix de la bibliothèque
PINNSolution \(u_\theta(x,t)\) d'une EDPPeu de données, sans maillageEntraînement délicat
POD–GalerkinBase modale + EDO réduiteRapidité, ancrage physiqueFragile hors régime
DMD / KoopmanOpérateur linéaire d'évolutionAnalyse spectrale, prévisionDynamiques fortement non linéaires
RL (HydroGym)Politique de contrôle \(\pi_\theta\)Sans modèle, non linéaireCoût des simulations

Cas d'étude : contrôle d'écoulements avec HydroGym

Le banc d'essai canonique du contrôle d'écoulements est le sillage de cylindre. Au-delà d'un nombre de Reynolds critique (\(\mathrm{Re} \approx 47\)), l'écoulement devient instable et une allée tourbillonnaire de von Kármán se détache périodiquement, augmentant la traînée et générant des vibrations. Le problème de contrôle : agir (par rotation du cylindre ou jets de soufflage/aspiration) à partir de quelques capteurs de pression pour stabiliser le sillage.

C'est précisément un MDP — état partiel, actions continues, récompense = réduction de traînée — et c'est là qu'intervient HydroGym : une plateforme qui expose des dizaines d'environnements de mécanique des fluides (cylindre, pinball fluidique, cavité, marche descendante, profils NACA, couches limites turbulentes) derrière l'interface standard Gymnasium, avec plusieurs solveurs (éléments finis Firedrake, Boltzmann sur réseau, éléments spectraux, solveurs différentiables JAX) et un couplage MPI pour le HPC. On peut donc brancher PPO ou SAC de Stable-Baselines3 sur une simulation Navier–Stokes comme on le ferait sur CartPole.

Animation 3. Allée de von Kármán derrière un cylindre (traceurs advectés, style Manim). Activez le contrôle pour simuler une politique de RL entraînée : les tourbillons s'atténuent, le sillage se symétrise et l'indicateur de traînée \(C_D\) chute. C'est l'objectif type des environnements « cylindre » de HydroGym.

Squelette d'entraînement, fidèle à l'API du projet :

# Contrôle du sillage de cylindre : interface Gymnasium standard
import gymnasium as gym
import hydrogym
from stable_baselines3 import PPO

env = gym.make("HGym/Cylinder-medium-v0")   # Navier–Stokes, Re = 100
model = PPO("MlpPolicy", env, gamma=0.99)
model.learn(total_timesteps=500_000)         # récompense ≈ −(traînée + pénalité d'actionnement)

obs, info = env.reset()
for _ in range(1000):
    action, _ = model.predict(obs)           # rotation du cylindre / jets
    obs, reward, terminated, truncated, info = env.step(action)
Où la physique revient. Le RL « brut » sur un solveur CFD est coûteux : chaque pas d'environnement est une résolution d'EDP. Les modèles réduits (POD–Galerkin, DMD) accélèrent l'entraînement en offrant des simulateurs de substitution ; les coordonnées de Koopman linéarisent le problème de commande ; et les solveurs différentiables permettent de rétropropager à travers la physique. La boucle est bouclée : découverte, réduction, contrôle.

Synthèse et perspectives

Le ML fondé sur la physique n'oppose pas données et équations : il les compose. SINDy transforme des trajectoires en lois ; les PINNs transforment des lois en régularisation ; les modèles réduits transforment des champs géants en dynamiques maniables ; le RL referme la boucle en agissant sur le système. Les mêmes outils s'exportent bien au-delà des fluides — épidémiologie, finance (où les EDP de type Black–Scholes jouent le rôle de Navier–Stokes), hydrologie ou agronomie de précision.

Pour la partie renforcement de cette histoire — équations de Bellman, Q-learning, gradients de politique — voir l'article compagnon sur l'apprentissage par renforcement.

Références. S. Brunton & J. N. Kutz, Data-Driven Science and Engineering (2ᵉ éd.), chap. 7 (DMD, SINDy, Koopman), chap. 12–13 (modèles réduits) et chap. 14 (ML informé par la physique : autoencodeurs SINDy, prévision de Koopman, opérateurs neuronaux, PINNs) ; le projet HydroGym (dynamicslab) pour le RL appliqué au contrôle d'écoulements.