什么是自动微分的示例用法,例如在 Tensorflow 中实现的,为什么它很重要?

机器算法验证 机器学习 神经网络 深度学习 张量流 自动分化
2022-03-15 05:48:07

我对神经网络、反向传播和链式法则有很好的掌握,但是我很难理解自动微分。

下面指的是反向传播上下文之外的自动微分:

  • 自动微分如何计算矩阵的梯度?
  • 计算梯度有什么要求?是否需要指定功能?
  • 这有哪些用例(除了反向传播)?
  • 为什么它很重要,有哪些替代方案?

我错过了什么吗?

1个回答

在自动微分系统中,大多数运算符(例如加法、减法)与它的微分一起定义。

因此,在您通过堆叠一系列运算符编写函数后,系统可以自行计算出相应的导数应该如何计算,通常使用计算图和链式法则。

自动微分有利于基于梯度的优化(例如,使用梯度下降训练神经网络),因为它使我们免于计算数学、实现代码和逐个数字验证导数。

以下是如何在TheanoTensorflow中定义运算符(op) 。