快速问题,当我将损失函数反向传播到我的参数并使用缩放输出(例如tanh(x)* 2)时,我是否需要在原始输出中包含缩放输出的导数?谢谢!
在我们可以反馈错误之前,我们要计算相对于每个参数的损失函数的梯度。该计算涉及首先计算输出的梯度,然后重复使用链规则。因此,当您执行此操作时,缩放常量保持不变。所以,是的,您必须相应地缩放错误。
例如,您可能已经观察到以下L2 regularized loss - a.k.a Ridge regression:
损失= 1/2 * | T - Y | ^ 2 + \ lambda * || w || ^ 2
在这里,我们缩小平方误差。因此,当我们计算梯度1/2和2时会抵消。如果我们不首先将它乘以0.5,那么我们将不得不将梯度向上扩展2.否则,梯度向量将指向某个其他方向而不是最小化损失的方向。