为什么L2正则化有效?
让我们试着理解基于代价函数梯度的L2正则化的工作原理。
如果对图4i所示的方程求偏导数或梯度。∂C/∂w和∂C/∂b是关于网络中所有的权重和偏差的。
求偏导得到:
Figure 5. The gradient of the cost function with respect to weights and biases.
我们可以使用反向传播算法计算∂C0/∂w和∂C0/∂b在上述方程中提到的项。
偏差参数将不变的部分推导不应用正则化项,而重量参数将包含额外的((λ/ n) * w)正则化项。
因此,偏差和权重的学习规则为:
Figure 6. Gradient Descent Learning Rule for Bias Parameter
Figure 7. Gradient Descent Learning Rule for Weight Parameter
上面的权重方程类似于通常的梯度下降学习规则,除了现在我们首先重新调节权重w(1−(η*λ)/ n)。
这一术语是L2正则化经常被称为权重衰减的原因,因为它使权重更小。因此,您可以看到为什么正则化工作,它使网络的权重更小。权值的小意味着如果我们在这里和那里改变一些随机输入,网络行为不会有太大的改变,这反过来又使正则化网络难以学习数据中的局部噪声。这迫使网络只学习那些经常在训练集中出现的特征。
简单地从成本函数优化的角度来考虑L2正则化,当我们在成本函数中加入正则化项时,实际上是增加了成本函数的成本。因此,如果权重变大,它也会使成本上升,而训练算法会通过惩罚权重来降低权重,迫使它们取更小的值,从而使网络正规化。
L2正则化和权重衰减是一样的吗?
L2正则化和权值衰减不是一回事,但可以通过基于学习率的权值衰减因子的重新参数化使SGD等效。困惑吗?让我给你详细解释一下。
权重衰变方程给出下面λ是衰减系数。
Figure 8: Weight Decay in Neural Networks
L2正则化可被证明为SGD情况下的权值衰减,证明如下:
让我们首先考虑下图9所示的L2正则化方程。我们的目标是重新参数化它,使其等价于图8中给出的权重衰减方程。
Figure 9. L2 Regularization in Neural Networks
首先,我们求出L2正则化代价函数关于参数w的偏导数(梯度),如图10所示。
Figure 10. Partial Derivative of Loss Function C with respect to w
Note: Both the Notations in the figure means the same thing.
在得到代价函数偏导数的结果(图10)后,我们将结果代入梯度下降学习规则中,如图11所示。代入后,我们打开括号,重新排列这些项,使其等价于权重衰减方程(图8),并有一定的假设。
Figure 11. Substituting the Gradient of Cost Function in the Gradient Descent Rule and Rearranging terms.
你可以注意到,最后重新安排L2正规化的唯一区别方程(图11)和权重(图8)是α衰变方程(学习速率)乘以λ(正则化项)。
Figure 12. Condition of Equivalence of L2 Regularization and Weight Decay
后替换λλ′,L2正规化方程reparametrized和现在相当于体重衰变方程(图8),如图13所示。
Figure 13. Reparametrized L2 Regularization equation
从上面的证明,你必须理解为什么L2正则化被认为等同于SGD情况下的权值衰减,但它不是其他优化算法的情况,如Adam, AdaGrad等是基于自适应梯度。特别地,当与自适应梯度相结合时,L2正则化导致具有较大历史参数和/或梯度振幅的权重被正则化的程度小于使用权值衰减时的情况。与SGD相比,当使用L2正则化时,这会导致adam表现不佳。另一方面,重量衰减在SGD和Adam上的表现是一样的。
一个令人震惊的结果是,具有动量的SGD优于Adam等自适应梯度方法,因为常用的深度学习库实现了L2正则化,而不是原始的权值衰减。因此,在使用L2正则化对SGD有益的任务中,Adam的结果要比使用动量的SGD差。
结论
因此,我们得出结论,尽管权重衰减和L2正则化在某些条件下可能达到等价,但仍然是略有不同的概念,应该区别对待,否则会导致无法解释的性能下降或其他实际问题。