如果我不为 tensorflow 中的操作提供梯度,梯度下降如何工作?
If I don't provide a gradient for an op in tensorflow, how does gradient descent work?
添加新操作时,文档 (https://www.tensorflow.org/versions/r0.10/how_tos/adding_an_op/index.html) 说:
可选地,编写一个函数来计算 Op 的梯度。
这个是可选的,如果我不写,梯度下降怎么计算梯度?它使用数值方法吗?如果是这样,什么?这会更慢吗?
视操作而定。如果操作由其他基元组成,则梯度下降能够产生自动微分功能。
如果您的操作是新基元,那么您必须提供梯度函数,否则梯度下降将不起作用。
Tensorflow 中的梯度实现是精确函数。数值方法仅用于测试梯度函数实现。
添加新操作时,文档 (https://www.tensorflow.org/versions/r0.10/how_tos/adding_an_op/index.html) 说:
可选地,编写一个函数来计算 Op 的梯度。
这个是可选的,如果我不写,梯度下降怎么计算梯度?它使用数值方法吗?如果是这样,什么?这会更慢吗?
视操作而定。如果操作由其他基元组成,则梯度下降能够产生自动微分功能。
如果您的操作是新基元,那么您必须提供梯度函数,否则梯度下降将不起作用。
Tensorflow 中的梯度实现是精确函数。数值方法仅用于测试梯度函数实现。