我正在尝试自己实现一些 AD 算法,但我不太了解 Gower 和 Mello 用于计算稀疏 Hessian 的边缘推动算法。
是否需要生成“原始梯度”的新计算图(例如,在计算 (x^2) 时是否应该生成图 (2*x) 以便找到二阶导数 (2)),因为论文指出虚线弧代表“非线性相互作用”,伴随物是如何累积形成二阶导数的?
此外,如果需要一个新图,这与符号微分有何不同?谢谢!
我正在尝试自己实现一些 AD 算法,但我不太了解 Gower 和 Mello 用于计算稀疏 Hessian 的边缘推动算法。
是否需要生成“原始梯度”的新计算图(例如,在计算 (x^2) 时是否应该生成图 (2*x) 以便找到二阶导数 (2)),因为论文指出虚线弧代表“非线性相互作用”,伴随物是如何累积形成二阶导数的?
此外,如果需要一个新图,这与符号微分有何不同?谢谢!
不需要生成新的图表。相反,只需要将非线性边“添加”到原始计算图中。我说“添加”是因为实际上,您只需要以相反的顺序遍历计算图,并在发现节点的前任之间存在非线性交互时动态添加非线性边。明天我会上传一些幻灯片到我的网页: https ://gowerrobert.github.io/