可微分物理
Differentiable Physics
定义
让整个物理仿真流程(含求解器迭代)对输入参数可微,从而能用梯度直接做反演、控制与端到端训练。代表实现有 JAX-CFD 等可微 CFD 框架。
是什么
传统求解器的迭代过程(压力泊松求解、时间推进)对外部是黑箱,梯度只能用有限差分近似 (维度一高就不可行)。可微分物理用可微编程语言(JAX、PyTorch)重写求解器, 让”仿真输出对设计参数”的梯度可以通过自动微分精确获得。
关键要点
- 梯度精度:相比有限差分,AD 梯度精确且维度无关,这对高维设计变量(形状参数、控制序列)是决定性的。
- 两条实现路径:(a) 求解器整体可微(diff-through-solver);(b) 用隐函数定理只在收敛点求导(不展开迭代图,省内存)。
- 代价:迭代展开的 AD 图内存占用随步数线性增长,长时间推演需要检查点(checkpointing)或伴随方法。
- 典型应用:形状优化、流动控制策略训练、材料参数反演、与神经网络混合建模(neural + physics hybrid)。
常见误区 / 边界
- 可微不等于稳定:展开上百步迭代的梯度容易爆炸/消失,需要隐式微分或截断。
- 混沌/湍流系统的长时梯度本身病态,短窗口推演 + 重规划(receding horizon)更实际。
相关术语
站内相关资源
- JAX-CFD — JAX 可微 CFD 求解器
- JAX-Fluids — 可微流体求解器
- HydroGym:强化学习流体控制平台 — 基于可微仿真的流动控制