Adjoint Sensitivities of Chaotic Flows without Adjoint Solvers: A Data-Driven Approach
Defne E. Ozan, Luca Magri
TL;DR
This work tackles the challenge of computing adjoint sensitivities for chaotic flows without implementing code-specific adjoint solvers. It introduces a parameter-aware Echo State Network (ESN) whose dynamics support a derived adjoint that estimates $\dfrac{d\mathcal{J}}{d\bm{p}}$ for long-time objectives. Demonstrated on the Lorenz63 system, the data-driven adjoint sensitivities closely match those obtained from the true system's ensemble adjoint, reproducing long-time averages like $\bar{z}$ across unseen regimes; a known bias relative to direct polynomial fits is observed. This approach enables solver-agnostic sensitivity analysis for chaotic systems and highlights future work on scaling to higher-dimensional models.
Abstract
In one calculation, adjoint sensitivity analysis provides the gradient of a quantity of interest with respect to all system's parameters. Conventionally, adjoint solvers need to be implemented by differentiating computational models, which can be a cumbersome task and is code-specific. To propose an adjoint solver that is not code-specific, we develop a data-driven strategy. We demonstrate its application on the computation of gradients of long-time averages of chaotic flows. First, we deploy a parameter-aware echo state network (ESN) to accurately forecast and simulate the dynamics of a dynamical system for a range of system's parameters. Second, we derive the adjoint of the parameter-aware ESN. Finally, we combine the parameter-aware ESN with its adjoint version to compute the sensitivities to the system parameters. We showcase the method on a prototypical chaotic system. Because adjoint sensitivities in chaotic regimes diverge for long integration times, we analyse the application of ensemble adjoint method to the ESN. We find that the adjoint sensitivities obtained from the ESN match closely with the original system. This work opens possibilities for sensitivity analysis without code-specific adjoint solvers.
