🤖 AI Summary
A new analysis and talk titled "Automatic Differentiation Can Be Incorrect" shows that off‑the‑shelf automatic differentiation (AD) in differentiable simulation can produce severely inaccurate gradients—even when the underlying mathematics is "correct." Using examples from JAX (diffrax) and PyTorch (torchdiffeq), the authors demonstrate that canonical adjoint and reverse‑mode formulations for ODEs and PDEs can suffer from numerical error propagation and instability, producing errors of 60% or more in simple linear ODE cases. The work reframes AD in SciML from a purely symbolic problem to a numerical one: local truncation and solver errors can be amplified through the sensitivity computations that gradient‑based methods rely on.
This finding matters because SciML workflows (system ID, control, inverse problems, physics‑informed learning) assume reliable gradients for optimization and uncertainty quantification. The talk highlights that practical fixes require non‑standard engineering: modified adjoint computations, solver redesigns, tighter error control and checkpointing strategies—approaches already used in Julia’s SciML ecosystem—to restore numerical stability at the cost of complexity and compute trade‑offs. The takeaways for practitioners are clear: validate derivative accuracy, be wary of black‑box AD through integrators, and choose solver/adjoint implementations with attention to numerical stability rather than just mathematical form.
Loading comments...
login to comment
loading comments...
no comments yet