Wikipedia page for backpropagation拥有以下主张:



有人可以用通俗易懂的方式对此进行阐述吗?区分的功能是什么?什么是“特殊情况”?使用的是伴随值本身还是最终的梯度?

最佳答案

“区分的功能是什么?“特殊情况”是什么?”

反向传播与反向模式AD之间最重要的区别是,反向传播AD从R ^ n-> R ^ m计算向量值函数的向量-雅可比积,而反向传播从R计算标量值函数的梯度^ n->R。因此,反向传播是用于标量函数的反向模式AD的特殊情况。

当我们训练神经网络时,我们总是有一个标量值的损失函数,所以我们总是使用反向传播。这是有区别的功能。由于反向传播是反向模式AD的子集,因此我们在训练神经网络时也使用反向模式AD。

“使用的是伴随值本身还是最终的渐变?”

变量的伴随是损失函数相对于该变量的梯度。当我们进行神经网络训练时,我们使用参数相对于损耗的梯度(如权重,偏差等)来更新参数。因此,我们确实使用了伴随,但仅使用了参数的伴随(相当于参数的梯度)。

关于algorithm - 反向传播与反向自动微分如何(或不同)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23485636/

10-12 22:14