首页 > 解决方案 > 我是否需要在我的反向传播方程 (SGD) 中包含我的缩放输出?

问题描述

快速的问题,当我将损失函数反向传播到我的参数并使用缩放输出(例如 tanh(x) * 2)时,我是否需要包括原始输出的缩放输出的导数?谢谢!

标签: machine-learningneural-networkdeep-learningbackpropagationderivative

解决方案


在我们可以反向传播错误之前,我们必须计算损失函数相对于每个参数的梯度。该计算涉及首先计算输出的梯度,然后重复使用链式法则。所以,当你这样做时,缩放常数保持不变。所以,是的,你必须相应地缩放错误。

例如,您可能已经观察到以下L2 正则化损失 - 也称为 Ridge 回归

损失 = 1/2 * |T - Y|^2 + λ * ||w||^2

在这里,我们正在缩小平方误差。因此,当我们计算梯度时,1/2 和 2 将抵消。如果我们一开始就不将其乘以 0.5,那么我们将不得不将梯度扩大 2。否则梯度向量将指向其他方向,而不是最小化损失的方向。


推荐阅读