pymc.ode.DifferentialEquation.grad#
- DifferentialEquation.grad(inputs, output_grads)[源代码]#
为每个输入变量构建梯度的图。
每个返回的 Variable 表示根据相对于每个输出的符号梯度计算出的相对于该输入的梯度。如果输出相对于某个输入不可微分,则此方法应返回该输入的 NullType 类型的实例。
使用[R9b8014471e5d-1]_中给出的反向模式自动微分特性,对于表示由`Op`实现的函数及其两个参数:math:A`和:math:`B`的:math:`C = f(A, B),由`inputs`中的`Variable`给出,Op.grad`返回的值表示某些标量输出项:math:`S_O`在:math:`C`中的量:math:bar{A} equiv frac{partial S_O}{A}`和:math:bar{B}。
\[\operatorname{Tr}\left(\bar{C}^\top dC\right) = \operatorname{Tr}\left(\bar{A}^\top dA\right) + \operatorname{Tr}\left(\bar{B}^\top dB\right)\]- 参数:
- 输入
输入变量。
- output_grads
输出变量的梯度。
- 返回:
grads
inputs 中每个 Variable 的梯度。
参考文献
[1]Giles, Mike. 2008. “一个扩展的矩阵导数结果集合,用于前向和反向模式自动微分。”