ISMIR 2025 Tutorial
Queen Mary University of London
Traditional Physical Modelling:
Can we combine data-driven learning and physics-based priors?
| Physics-Informed NNs | Neural ODEs | Neural Operators | Deep Koopman | Deep State Space Models |
|---|---|---|---|---|
| Embeds the PDE into the loss function [1] | Learns the system’s continuous-time dynamics [2] | Learns the solution operator for the PDE. Maps functions to functions [3] | Learns a linear representation of the dynamics in an observable space [4] | Recurrent models with structured initialisation [5] |
Physics-Driven
Data-Driven
A brief tour
To get the code for part3 of the tutorial you can clone the GitHub repository:
Recommended to use a uv (https://docs.astral.sh/uv/)
Otherwise, you can create a venv (>=3.11) and install the dependencies with pip:
Download the data from the Google Drive link (https://tinyurl.com/nh4kutj4) and place it in the data/ folder, next to the notebooks.
Embed the physical law itself into the learning objective [1].
A neural network \(u_\theta(\mathbf{x}, t)\) directly approximates the solution to a PDE. The loss function forces the network’s output to satisfy two things:
The physics part of the loss is mostly in the PDE residual: \[ \mathcal{L}_{\text{physics}} = || \mathcal{N} u_\theta - f ||^2_{\Omega} \] where \(\mathcal{N}\) is the differential operator.
A Neural ODE (NODE) defines the continuous evolution of a state \(\mathbf{u}(t)\) by parameterizing its time derivative with a neural network \(f_\theta\):
\[ \frac{d\mathbf{u}(t)}{dt} = f_\theta(\mathbf{u}(t), t) \]
The network learns the the dynamics, not the solution trajectory itself. The final state is found by integrating this equation using a numerical ODE solver. [10]
Training: Gradients are propagated back through the solver’s operations, either by BPTT (discretise-optimise) or using the adjoint sensitivity method (optimise-discretise) [2].
Numerical Integration: We can leverage the vast literature in numerical integration for stability and efficiency.
Hybrid Modelling: We can combine known physics with learned components, optimizing physical parameters and neural networks.
The discretisation scheme defines the architecture of the recurrent block.
For Störmer-Verlet:
Challenges:
For time-dependent problems, Neural Operators learn the operator that maps functions (initial conditions, forcing terms and paramaters) directly to the solution at a future time.
Given a time-dependent PDE with an initial state \(\mathbf{u}_0(\mathbf{x})\), parameters \(\mathbf{a}\), and a forcing function \(\mathbf{f}(\mathbf{x}, t)\):
\[ \frac{\partial \mathbf{u}}{\partial t} = \mathcal{N}_a(\mathbf{u}) + f(\mathbf{x}, t) \]
The neural operator approximates:
\[ \mathbf{u}(\cdot, T) \approx \mathcal{G}_\theta(\mathbf{u}_0, a, \mathbf{f}) \]
\[ \begin{aligned} u(x) &= \int_{\Omega} \kappa(x, y) u_0(y) \mathrm{d} y \\ u(x) &= (\kappa * v)(x) \end{aligned} \]
using the convolution theorem, we have:
\[ \mathcal{F}(u) = \mathcal{F}(\kappa) \cdot \mathcal{F}(u_0) \quad \implies \quad u(x) = \mathcal{F}^{-1}(\mathcal{F}(\kappa) \cdot \mathcal{F}(u_0))(x) \]
The Fourier Neural Operator approximates this by replacing the transform of the kernel with learnable weights
\[ u(x) \approx \mathcal{F}^{-1}(\mathcal{R}_{\theta} \cdot \mathcal{F}(v))(x) \]
where we optimise the (typically truncated) complex weights \(\mathcal{R}_{\theta}\) during training.
For linear PDEs, the operator can be interpreted as a modal method [13]:
\[ u(x, t) \approx \mathcal{T}^{-1}(e^{\mathcal{\Lambda}t} \cdot \mathcal{T}(u_0))(x) \]
where the forward and inverse transforms are defined as follows:
\[ \begin{aligned} \mathcal{T}\{u(x,t)\} &= \int_{V}\tilde{K}_{\mu}^{H}(x)u(x,t)dx && \text{(Forward Projection)} \\ \mathcal{T}^{-1}\{q_{\mu}(t)\} &= \sum_{\mu=0}^{\infty}\frac{{q}_{\mu}(t)K_{\mu}(x)}{||K_{\mu}||} && \text{(Back-Projection)} \end{aligned} \]
AR:
From [15]
The Koopman Idea: Instead of analyzing the system in its native state space, lift it to a different, possibly infinite-dimensional observable space, where the dynamics become linear. The Koopman Operator \(K\) is the linear operator that evolves the observables forward in time \[g(\mathbf{u}_{k+1}) = (Kg)(\mathbf{u}_k)\]
How do we find the observable functions \(g\)? The space of all possible observables is infinite-dimensional.
Autoencoder
with dynamics constraints in the latent space
Losses:
\[ \begin{aligned} \mathcal{L}_{\text {consistency }} & =\sum_{k=1}^{L-1}\left\|\varphi\left(x_k\right)-\Lambda^k \varphi\left(x_0\right)\right\|_2^2 \\ \mathcal{L}_{\text {pred }} & =\sum_{k=1}^{L-1}\left\|x_k-\varphi^{-1}\left(\Lambda^k \varphi\left(x_0\right)\right)\right\|_2^2 \\ \mathcal{L}_{\text {enc }} & =\left\|x_0-\varphi^{-1}\left(\varphi\left(x_0\right)\right)\right\|_2^2 \\ \mathcal{L} & =\alpha_1 \mathcal{L}_{\text {pred }}+\alpha_2 \mathcal{L}_{\text {enc }}+\alpha_3 \mathcal{L}_{\text {consistency }} \end{aligned} \]
We find some parameterisation of linear resonators that account for the coupling and pitch glide effects.
Representation for linear time-invariant (LTI) systems:
\[ \begin{aligned} \dot{\mathbf{x}}(t) &= \mathbf{A} \mathbf{x}(t) + \mathbf{B} \mathbf{u}(t) \quad & \ \mathbf{y}(t) &= \mathbf{C} \mathbf{x}(t) + \mathbf{D} \mathbf{u}(t) \quad & \end{aligned} \]
\[ \begin{aligned} \mathbf{x}_k &= \bar{\mathbf{A}} \mathbf{x}_{k-1} + \bar{\mathbf{B}} \mathbf{u}_k \\ \mathbf{y}_k &= \bar{\mathbf{C}} \mathbf{x}_k \end{aligned} \]
\[ \mathbf{h}_k = \bar{\mathbf{C}} \bar{\mathbf{A}}^k \bar{\mathbf{B}} \]
This allows us to use FFT to apply the convolution efficiently.
| Method | Core Idea | Prior | Time | Advantage | Challenge |
|---|---|---|---|---|---|
| Neural ODE | Learn vector field | Weak-Strong | Continuous | Flexible/hybrid | Solver cost |
| PINN | PDE in loss | Strong | Continuous | Inverse problems | Hard optimisation |
| Neural Operator | Learn operator | Weak | Agnostic | Discretisation invariant | Computational cost |
| Koopman | Linear in latent | Weak | Discrete | Fast, interpretable | Data and initialisation |
| DSSM | Linear in latent (with non-linear blocks) | Weak | Continuous/Discrete | Fast | Large, black box |