gpt4 book ai didi

symbolic-math - 符号微分和自动微分之间的区别?

转载 作者:行者123 更新时间:2023-12-01 21:33:08 25 4
gpt4 key购买 nike

我似乎无法理解其中的区别。对我来说,看起来两者都只是通过一个表达式并应用链式法则。我错过了什么?

最佳答案

有 3 种流行的计算导数的方法:

  1. 数值微分
  2. 符号微分
  3. 自动微分

Numerical differentiation依赖于导数的定义:enter image description here ,您可以在两个地方放置一个非常小的 h 和评估函数。这是最基本的公式,在实践中人们使用其他估计误差较小的公式。如果您不知道您的函数并且只能对其进行采样,则这种计算导数的方法最适合。此外,高亮度函数还需要大量计算。

Symbolic differentiation操纵数学表达式。如果您曾经使用过 matlab 或 mathematica,那么您 saw something like this enter image description here

这里,对于每个数学表达式,他们都知道导数,并使用各种规则(乘积规则、链式规则)来计算所得导数。然后他们简化结束表达式以获得结果表达式。

Automatic differentiation操纵计算机程序 block 。微分器具有对程序的每个元素求导的规则(当您在核心 TF 中定义任何操作时,您需要为该操作 register a gradient)。它还使用链式法则将复杂的表达式分解为更简单的表达式。这是good example how it works in real TF programs with some explanation .

<小时/>

您可能认为自动微分与符号微分相同(在一个地方它们对数学表达式进行操作,在另一个地方对计算机程序进行操作)。是的,它们有时非常相似。但对于控制流语句(`if、while、循环),结果可能非常different :

symbolic differentiation leads to inefficient code (unless carefully done) and faces the difficulty of converting a computer program into a single expression

关于symbolic-math - 符号微分和自动微分之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43455320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com