【问题标题】:How Tensorflow knows how to calculate the derivative?TensorFlow 如何知道如何计算导数?
【发布时间】:2021-07-22 21:52:14
【问题描述】:

在Tensorflow的这个resource中,我们可以看到一个函数的导数是如何在一个或任意一点上计算的,但是Tensorflow是如何做到的呢?

【问题讨论】:

  • 我会象征性地假设。
  • 但是计算这个 lim 或者得出导数的数学公式并不是一个简单的方法。所以有无限数量的功能!
  • 您正在寻找自动微分的概念,也就是autograd。

标签: tensorflow gradient


【解决方案1】:

Tensorflow 使用automatic differentiation 计算导数。这不同于符号微分和数值微分(又名有限差分)。它不仅仅是一种智能数学方法,更是一种智能编程方法。当您评估一个 tensorflow 变量时,它不仅存储该变量的值,还存储其导数的值。此外,所有运算符都被重载以计算变量的值和导数。使用链式法则,我们可以遍历变量图并计算每个变量的导数。发布的链接将提供更好的描述,但这是 TLDR。

好处?在数值微分上,这要快得多。您可以通过一次成本函数计算所有权重的导数。在数值微分中,您必须为计算导数的每个权重评估您的成本函数两次。你也没有得到一个近似值。

【讨论】:

  • 很好的答案...问候
猜你喜欢
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多