在 GD 优化中,如果误差函数的梯度与权重有关,那么目标值不会因为它是一个单独的常数而下降吗?

机器算法验证 神经网络 梯度下降 坡度 逆问题 自动分化
2022-03-28 20:26:54

假设我们将绝对差作为误差函数:

loss(w)=|mx(w)t|

在哪里mx只是一些带有输入的模型x和重量设置w, 和t是目标值。

在梯度下降优化中,最初的想法是取损失函数的梯度,并更新w如下:

w=wαloss(w)

在哪里α是学习率。在我们的例子中,损失函数的梯度不是:

loss(w)=mx(w)

在哪里t被丢弃是因为它是一个常数?我觉得我在这里错过了一个巨大的关键点。

2个回答

如果我们将绝对差异视为一个规范,那就是:

loss(w)=|mx(w)t|

然后loss(w)远非简单地等同于mx(w).

通过定义绝对值的导数(并使用链式法则),我们实际上得到:

loss(w)=mx(w)t|mx(w)t|.mx(w)

这与 Aksakal 的回答相似,但我想确切说明我们得到的原因±mx(w)

不,一个适当的规范不会允许它存在。

即使是最简单的绝对值函数作为损失也将取决于t|m(w)t|=±m(w),这里的符号取决于t.

TL;博士; 通常,您的损失函数将是L(w|t,X), 所以一阶导数是L(w|t,X)/w,并且没有理由t从表达式中消失,除非你构造L仅用于此目的,例如您使L严格线性w. 然而,L不能只是您暗示的问题中的任何功能,即您有目标要命中的地方。

显然,损失不能是负数,因为在这类问题中你能做的最好的事情就是击中一个目标,那么就没有损失,即L(w)=0. 这意味着无论您选择什么损失函数,它都必须在最优值附近是非线性的w. 上面的绝对值范数的例子表明,即使是完全线性的损失函数w无处不在,但在某一点上仍将取决于t.