我是否需要在我的反向传播方程式(SGD)中包括缩放后的输出?

时间:2019-04-29 00:21:06

标签: machine-learning neural-network deep-learning backpropagation derivative

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

1 个答案:

答案 0 :(得分:0)

在对错误进行反向传播之前,我们必须针对每个参数计算损失函数的梯度。该计算包括首先计算输出的梯度,然后重复使用链式规则。因此,执行此操作时,缩放常数保持不变。因此,是的,您必须相应地调整错误。

例如,您可能已经观察到以下L2 regularized loss - a.k.a Ridge regression

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

在这里,我们正在缩小 平方误差。因此,当我们计算梯度1/2和2时会抵消。如果不首先将其乘以0.5,则必须将梯度按比例放大2。否则,梯度矢量将指向其他方向,而不是使损耗最小的方向。