自动微分
阐述
给定函数 和以计算图表示的它的计算过程,计算它的 Jacobian。
根据计算顺序不同,可以分为
前向自动微分总是计算 Jacobian 的一列,而后向自动微分总是计算 Jacobian 的一行。因此,
- 当 时,应该使用后向自动微分
- 当 时,应该使用前向自动微分
- 如果 ,由于后向自动微分通常具有比较高的冗余,也建议使用前向自动微分。
根据实现原理不同,可以分为
实例
Forward-over-reverse 法 Hessian 计算
这种方法综合运用了前向自动微分和后向自动微分,先构造一个给定输入 能计算梯度的函数 ,然后对这个函数使用前向自动微分,种子是 ,最终就能得出 Hessian。
如果不要求整个 Hessian 而是 Hessian 和向量的乘积,则后面一步可以简化,直接使用 单个种子计算即可,因为