我正在尝试自己实现一些AD算法,但我没有完全获得Gower和Mello用于计算稀疏Hessian的边缘推送算法。
做一个新的";原始梯度";需要生成(例如,如果在计算(x^2(时生成图(2*x(以便找到二阶导数(2((;非线性相互作用";邻接点究竟是如何累积形成二阶导数的?
此外,如果需要一个新的图,这与符号微分有何不同?谢谢
不需要生成新的图。相反,只有非线性边需要是"非线性"边;添加";到原始计算图。我说";添加";因为实际上,你只需要以相反的顺序遍历计算图,当你发现节点的前代之间存在非线性交互时,就可以动态地添加非线性边。明天我将把一些详细介绍这一点的幻灯片上传到我的网页:https://gowerrobert.github.io/