|
我们请读者参考Griewank–Walt her(2008),详细比较这两种AD计算模型。AD不是符号微分Symbolic Differentiation是许多计算机软件中广泛使用的另一种工具,它接受数学表达式,在我们的例子中是qn,并返回导数的符号表达式θQn。在许多统计参考问题中使用符号微分的问题通常与计算Qn的原始算法的复杂性有关。如果代码不足,程序无法转换θqn到一个表达式。即使在表达式θqn是可获得的,由于某些子表达式出现在符号表达式中的不同位置,因此执行速度通常很慢,因此需要多次求值。与符号差异不同,AD是一种评估导数值的机制θQn(θ)|θ=θ*无需直接解析计算表达式。相反,从算法θ的角度来看→ Qn,AD考虑一系列中间值,其中每个映射及其导数的计算相对简单。这意味着AD用于计算梯度的程序与我们正在计算的函数的结构完全相同,这意味着AD将产生可管理的执行时间。然而,与符号微分类似,AD a L在θ处返回原始算法的精确导数*浮点数错误。其他数值结果:AD与数值导数在本节中,我们比较了使用AD与标准数值导数的影响。
|