【问题标题】:If I don't provide a gradient for an op in tensorflow, how does gradient descent work?如果我不为 tensorflow 中的操作提供梯度,梯度下降如何工作?
【发布时间】:2016-08-30 17:50:03
【问题描述】:

添加新操作时,文档 (https://www.tensorflow.org/versions/r0.10/how_tos/adding_an_op/index.html) 说:

(可选)编写一个函数来计算 Op 的梯度。

既然这是可选的,如果我不写,梯度下降如何计算梯度?它使用数值方法吗?如果是这样,是什么?这会更慢吗?

【问题讨论】:

    标签: tensorflow operator-keyword deep-learning


    【解决方案1】:

    取决于操作。如果操作是由其他基元组成的,那么梯度下降能够产生自微分函数。

    如果你的操作是一个新的原语,那么你必须提供一个梯度函数,否则梯度下降将不起作用。

    Tensorflow 中的梯度实现是精确的函数。数值方法仅用于测试梯度函数的实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 1970-01-01
      • 2019-06-21
      • 1970-01-01
      相关资源
      最近更新 更多