权重衰减== L2正则化?(二)

简介: 权重衰减== L2正则化?(二)

为什么L2正则化有效?

让我们试着理解基于代价函数梯度的L2正则化的工作原理。

如果对图4i所示的方程求偏导数或梯度。∂C/∂w和∂C/∂b是关于网络中所有的权重和偏差的。

求偏导得到:

image.png

Figure 5. The gradient of the cost function with respect to weights and biases.

我们可以使用反向传播算法计算∂C0/∂w和∂C0/∂b在上述方程中提到的项。

偏差参数将不变的部分推导不应用正则化项,而重量参数将包含额外的((λ/ n) * w)正则化项。

因此,偏差和权重的学习规则为:

image.png

Figure 6. Gradient Descent Learning Rule for Bias Parameter

image.png

Figure 7. Gradient Descent Learning Rule for Weight Parameter

上面的权重方程类似于通常的梯度下降学习规则,除了现在我们首先重新调节权重w(1−(η*λ)/ n)。

这一术语是L2正则化经常被称为权重衰减的原因,因为它使权重更小。因此,您可以看到为什么正则化工作,它使网络的权重更小。权值的小意味着如果我们在这里和那里改变一些随机输入,网络行为不会有太大的改变,这反过来又使正则化网络难以学习数据中的局部噪声。这迫使网络只学习那些经常在训练集中出现的特征。

简单地从成本函数优化的角度来考虑L2正则化,当我们在成本函数中加入正则化项时,实际上是增加了成本函数的成本。因此,如果权重变大,它也会使成本上升,而训练算法会通过惩罚权重来降低权重,迫使它们取更小的值,从而使网络正规化。

L2正则化和权重衰减是一样的吗?

L2正则化和权值衰减不是一回事,但可以通过基于学习率的权值衰减因子的重新参数化使SGD等效。困惑吗?让我给你详细解释一下。

权重衰变方程给出下面λ是衰减系数。

image.png

Figure 8: Weight Decay in Neural Networks

L2正则化可被证明为SGD情况下的权值衰减,证明如下:

让我们首先考虑下图9所示的L2正则化方程。我们的目标是重新参数化它,使其等价于图8中给出的权重衰减方程。

image.png

Figure 9. L2 Regularization in Neural Networks

首先,我们求出L2正则化代价函数关于参数w的偏导数(梯度),如图10所示。

image.png

Figure 10. Partial Derivative of Loss Function C with respect to w

image.png

Note: Both the Notations in the figure means the same thing.

在得到代价函数偏导数的结果(图10)后,我们将结果代入梯度下降学习规则中,如图11所示。代入后,我们打开括号,重新排列这些项,使其等价于权重衰减方程(图8),并有一定的假设。

image.png

Figure 11. Substituting the Gradient of Cost Function in the Gradient Descent Rule and Rearranging terms.

你可以注意到,最后重新安排L2正规化的唯一区别方程(图11)和权重(图8)是α衰变方程(学习速率)乘以λ(正则化项)。

image.png

Figure 12. Condition of Equivalence of L2 Regularization and Weight Decay

后替换λλ′,L2正规化方程reparametrized和现在相当于体重衰变方程(图8),如图13所示。

image.png

Figure 13. Reparametrized L2 Regularization equation

从上面的证明,你必须理解为什么L2正则化被认为等同于SGD情况下的权值衰减,但它不是其他优化算法的情况,如Adam, AdaGrad等是基于自适应梯度。特别地,当与自适应梯度相结合时,L2正则化导致具有较大历史参数和/或梯度振幅的权重被正则化的程度小于使用权值衰减时的情况。与SGD相比,当使用L2正则化时,这会导致adam表现不佳。另一方面,重量衰减在SGD和Adam上的表现是一样的。

一个令人震惊的结果是,具有动量的SGD优于Adam等自适应梯度方法,因为常用的深度学习库实现了L2正则化,而不是原始的权值衰减。因此,在使用L2正则化对SGD有益的任务中,Adam的结果要比使用动量的SGD差。

结论

因此,我们得出结论,尽管权重衰减和L2正则化在某些条件下可能达到等价,但仍然是略有不同的概念,应该区别对待,否则会导致无法解释的性能下降或其他实际问题。

目录
相关文章
WK
|
2月前
|
机器学习/深度学习 算法 PyTorch
如何计算损失函数关于参数的梯度
计算损失函数关于参数的梯度是深度学习优化的关键,涉及前向传播、损失计算、反向传播及参数更新等多个步骤。首先,输入数据经由模型各层前向传播生成预测结果;其次,利用损失函数评估预测与实际标签间的差距;再次,采用反向传播算法自输出层逐层向前计算梯度;过程中需考虑激活函数、输入数据及相邻层梯度影响。针对不同层类型,如线性层或非线性层(ReLU、Sigmoid),梯度计算方式各异。最终,借助梯度下降法或其他优化算法更新模型参数,直至满足特定停止条件。实际应用中还需解决梯度消失与爆炸问题,确保模型稳定训练。
WK
58 0
|
4月前
|
机器学习/深度学习 数据采集 监控
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
**神经网络与AI学习概览** - 探讨神经网络设计,包括MLP、RNN、CNN,激活函数如ReLU,以及隐藏层设计,强调网络结构与任务匹配。 - 参数初始化与优化涉及Xavier/He初始化,权重和偏置初始化,优化算法如SGD、Adam,针对不同场景选择。 - 学习率调整与正则化,如动态学习率、L1/L2正则化、早停法和Dropout,以改善训练和泛化。
46 0
算法金 | DL 骚操作扫盲,神经网络设计与选择、参数初始化与优化、学习率调整与正则化、Loss Function、Bad Gradient
|
5月前
|
机器学习/深度学习 C++
【chatgpt问答记录】权重衰减vs正则化
【chatgpt问答记录】权重衰减vs正则化
40 2
|
6月前
|
机器学习/深度学习 人工智能
SalUn:基于梯度权重显著性的机器反学习方法,实现图像分类和生成的精确反学习
【4月更文挑战第29天】SalUn是一种新的机器反学习方法,专注于图像分类和生成的精确反学习。通过关注权重的梯度显著性,SalUn能更准确、高效地从模型中移除特定数据影响,提高反学习精度并保持稳定性。适用于多种任务,包括图像生成,且在条件扩散模型中表现优越。但计算权重梯度的需求可能限制其在大规模模型的应用,且在数据高度相关时效果可能不理想。[链接](https://arxiv.org/abs/2310.12508)
110 1
|
6月前
Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW
Stata中的治疗效果:RA:回归调整、 IPW:逆概率加权、 IPWRA、 AIPW
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
基于PyTorch实战权重衰减——L2范数正则化方法(附代码)
基于PyTorch实战权重衰减——L2范数正则化方法(附代码)
424 0
|
6月前
|
机器学习/深度学习 TensorFlow 定位技术
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
神经网络学习率指数衰减ExponentialDecay策略的参数含义与使用方法详解
125 1
|
机器学习/深度学习 自动驾驶 算法
权重衰减== L2正则化?(一)
权重衰减== L2正则化?(一)
144 0
权重衰减== L2正则化?(一)
|
Python
【17】查看中间层卷积核的权重及偏置等参数
【17】查看中间层卷积核的权重及偏置等参数
180 0
【17】查看中间层卷积核的权重及偏置等参数