Answers:
我对AD的有限理解与Matt所说的相似。为了加快导数的计算,表达式图的结构必须利用Jacobian矩阵集中的稀疏性和稀缺性。(有关更多的了解,请参阅Griewank的本文。)软件工程上的技巧很可能是在AD代码本身中,以重新构造表达式图,以利用Jacobian矩阵集中的这些属性。知道AD代码如何从您正在编写的代码中生成表达式图,反过来可以帮助您更好地了解如何编写需要较少计算量的代码。任何好的AD代码都应该已经利用了带有公共子表达式的内在函数,但是好的AD代码却很难编写。
该领域的标准参考是《评估微分:算法微分的原理和技术》(第二版,由Andreas Griewank和Andrea Walther撰写),并应提供有关如何减少评估程序的微分所需的计算数量的更多详细信息。