自动微分
维基百科,自由的 encyclopedia
在数学和计算机代数中,自动微分有时称作演算式微分,是一种可以借由计算机程序计算一个函数导数的方法。两种传统做微分的方法为:
- 对一个函数的表示式做符号上的微分,并且计算其在某一点上的值。
- 使用差分。
使用符号微分最主要的缺点是速度慢及将计算机程序转换成表示式的困难。此外,很多函数在要计算更高阶微分时会变得复杂。 使用差分的两个重要的缺点是舍弃误差及数值化过程和相消误差。此两者传统方法在计算更高阶微分时,都有复杂度及误差增加的问题。自动微分则解决上述的问题。
自动微分使用这个事实:任何实作一个向量函数 y=F(x)的计算机程序,一般而言,可以被分解成由基本指定运算所成的序列,而其中每一个都可以借由查表而轻易地微分。这些计算某一特定项的 "基本偏微分" 是依照微积分中的复合函数求导法则来合并成某个 F 的微分资讯(如梯度、切线、雅可比矩阵等)。这个过程会产生确实(数值上准确)的导数。因为只在最基础的层面做符号转换,自动微分避免了复杂的符号运算的问题。