【发布时间】:2019-04-29 00:21:05
【问题描述】:
快速的问题,当我将损失函数反向传播到我的参数并使用缩放输出(例如 tanh(x) * 2)时,我是否需要包含缩放输出与原始输出的导数?谢谢!
【问题讨论】:
-
损失是在缩放之前还是之后计算的?
标签: machine-learning neural-network deep-learning backpropagation derivative
快速的问题,当我将损失函数反向传播到我的参数并使用缩放输出(例如 tanh(x) * 2)时,我是否需要包含缩放输出与原始输出的导数?谢谢!
【问题讨论】:
标签: machine-learning neural-network deep-learning backpropagation derivative
在我们反向传播误差之前,我们必须计算损失函数相对于每个参数的梯度。该计算涉及首先计算输出的梯度,然后重复使用链式法则。所以,当你这样做时,缩放常数保持不变。所以,是的,你必须相应地调整错误。
例如,您可能已经观察到以下L2 regularized loss - a.k.a Ridge regression:
损失 = 1/2 * |T - Y|^2 + λ * ||w||^2
在这里,我们将平方误差缩小。因此,当我们计算梯度时,1/2 和 2 将抵消。如果我们一开始不将其乘以 0.5,那么我们将不得不将梯度扩大 2。否则梯度向量将指向其他方向,而不是最小化损失的方向。
【讨论】: