灵敏度分析概述
灵敏度分析(Sensitivity Analysis)是研究系统输出如何随系统输入或参数变化而变化的方法。在多体动力学和最优控制中,灵敏度分析对于梯度计算、参数辨识和轨迹优化至关重要。
Rible.jl 提供了两种主要的灵敏度分析方法,均基于 Zhong06 离散力学积分格式:
伴随灵敏度分析 (Adjoint Sensitivity Analysis)
直接灵敏度分析 (Direct Sensitivity Analysis)
方法对比
| 特性 | 伴随法 (Adjoint) | 直接法 (Direct) |
|---|---|---|
| 计算方向 | 反向 (Reverse Mode) | 前向 (Forward Mode) |
| 适用场景 | 参数多,目标函数少 | 参数少,状态多 |
| 计算复杂度 | ||
| 内存消耗 | 较高 (需存储完整前向轨迹) | 较低 (可随时间步推进) |
| 典型应用 | 神经网络训练、大规模参数优化 | 实时控制、参数少的不确定性分析 |
选择指南
如果您正在训练一个包含数千个参数的神经网络控制器,或者优化一个标量目标函数(如总能耗),请选择 伴随灵敏度分析。
如果您只有几个物理参数(如杆长、质量)需要调整,或者需要实时获得灵敏度信息用于反馈控制,请选择 直接灵敏度分析。