首页 > 编程知识 正文

权重衰减系数,回归系数正负预期不一样

时间:2023-05-06 06:55:16 阅读:29660 作者:3781

单击上面的“AI公园”,关注公众号,然后选择标记“星形”或“顶部”

作者: Divyanshu Mishra

编译:荣辉

导读

权重衰减和L2正则化到底是一样的吗,这篇文章会给你答案。

神经网络是伟大的函数逼近器和特征提取器,但有时它们的权值变得过于特定化,导致过拟合。这就是正则化概念出现的地方,我们将讨论两种主要权重正则化技术之间的细微差别,它们经常被错误地认为是相同的。

介绍1943年,Warren McCulloch和Walter Pitts首先提出了神经网络,但当时还不够流行。 因为神经网络需要大量的数据和计算能力,这在当时是不可能的。 但是,随着上述制约条件和其他训练技术的进步,如参数初始化和更好的激活函数等成为可能,它们又开始主导各种比赛,在各种人类支援技术中找到了其应用。

目前,神经网络已成为众多知名APP应用的最主要部分,包括自动驾驶、谷歌翻译、人脸识别系统等,几乎应用于所有人类发展中的技术。

神经网络非常擅长于将函数近似为线性或非线性,在从输入数据中提取特征时也很有优势。 无论是计算机视觉领域还是语言建模,这一能力在许多任务中都很好。 但是我们听过这句名言:

“能力越大,责任越大。 ”

这句话也适用于全能神经网络。 根据这些强大的函数近似器的能力,有时通过近似某个函数来拟合数据集。 这个函数在训练的数据中工作非常好,但是在测试以前从未见过的数据时吃了一次败仗。 更具技术意义的是,无法学习神经网络学习权重对给定数据更专门化、一般化的特征。 为了解决过拟合问题,应用正则化技术降低了模型的复杂性和约束权重,使神经网络学习到可泛化的特征。

正则化正则化可以定义为为减少泛化误差而不是减少训练误差而对训练算法所做的改变。 有很多正规化战略。 向模型添加附加约束时(例如,向参数值添加约束或向所需函数添加附加项目时),可能会向参数值添加间接约束或软约束。 仔细使用这些技术可以提高测试集的性能。 在深度学习环境中,许多正则化技术基于正则化估计器。 正则化一个估计量时,必须权衡,选择增加偏差、减少方差的模型。 一个有效的规范化是将有利的交易明显减少方差而不过度增加偏差。

实践中使用的主要归一化技术是:

L2正则化

L1正则化

数据扩展

出口

Early停止

本文主要关注L2正则化,探讨L2正则化和权重衰减是否可以是同一个硬币的两面。

L2正则化L2正则化是正则化技术的一种,称为参数范数惩罚。 之所以提到这样的技术,是因为在这样的技术中,特定参数的范数(主要是权重)被添加到优化的目标函数中。 在L2范数中,在网络丢失函数中添加名为正则化项的附加项。 例如:

交叉熵损失函数的定义如下。

为了将L2正则化应用于具有交叉熵损失的网络,在损失函数中增加了正则化项。 正则化项如下。

在上述方程中,是正则化参数,其与所应用的正则化量成比例。 =0时不应用正则化,=1时将最大正则化应用于网络。 是超级参数。 也就是说,用户手动调整和使用诸如随机搜索之类的超参数调整技术,而不是在训练过程中学习到的。

让我们将它们放在一起,形成L2正则化的最终方程,并将其应用于由以下公式给出的交叉熵损失函数:

上述例子表明L2正则化适用于交叉熵损失函数,但该概念可以推广到所有可用的损失函数。 以下公式给出了L2正则化的更通用公式,其中C0是非正则化损失函数,c是加上正则化项的正则化损失函数。

:我们在标准化网络时不考虑网络的bias。 理由如下。

1、与权重相比,bias通常需要更少的数据来精确拟合。 每个权重指定两个变量如何相互作用。 因此,为了很好地匹配权重,需要在各种条件下观察两个变量。 另一方面,每个bias只控制一个变量(b )。 因此,我们不对bias使用正则化,避免引入太多的方差。 2、将bias规范化,可能会引入很多不匹配。

为什么L2正则化有用?实践推理

了解基于L2正则化损失函数的梯度机制。 对于网络中所有权重和偏差,取上式所示的方程式的偏导数或梯度、即c时

/∂w和∂C/∂b。求偏导数,我们得到:

我们可以使用backpropagation算法计算上述方程中提到的∂C0/∂w和∂C0/∂b项。由于没有应用正则化项,偏置参数的偏导将不变,而权重参数将包含额外的(λ/n)*w)正则化项。

偏置和权重的学习规则由此变为:

上面的权值方程类似于通常的梯度下降学习规则,除了现在我们首先通过 (1−(η*λ)/n)重新调整权值w。这就是L2正则化经常被称为权重衰减的原因,因为它使权重变小。因此,你可以看到为什么正则化工作的时候,它使网络的权值更小。权值变小意味着,如果我们在这里或那里改变一些随机输入,网络的行为不会有太大的变化,这反过来使正则化的网络很难学习数据中的局部噪声。这迫使网络只学习那些在训练集中经常看到的特征。

个人的直觉

简单地从优化损失函数的角度来考虑L2正则化,当我们把正则化项添加到损失函数中我们实际上增加了损失函数的值。因此,如果权值越大,损失也就越高,训练算法会试图通过惩罚权值来降低损失函数,迫使它们取更小的值,从而使网络正则化。

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

L2正则化和权值衰减并不是一回事,但是可以根据学习率对权值衰减因子进行重新参数化,从而使SGD等价。不明白?让我给你详细解释一下。

以λ为衰减因子,给出了权值衰减方程。

在以下证明中可以证明L2正则化等价于SGD情况下的权值衰减:

让我们首先考虑下面图中给出的L2正则化方程。我们的目标是对它进行重新参数化,使其等价于上式中给出的权值衰减方程。

首先,我们找到L2正则化损失函数相对于参数w的偏导数(梯度),如下式所示。

注意:上图中这两种符号的意思是一样的。

得到损失函数的偏导数结果后,将结果代入梯度下降学习规则中,如下式所示。代入后,打开括号,重新排列,使其等价于在一定假设下的权值衰减方程。

你可以注意到,最终重新排列的L2正则化方程和权值衰减方程之间的唯一区别是α(学习率)乘以λ(正则化项)。为了得到两个方程,我们用λ来重新参数化L2正则化方程。

将λ'替换为λ,对L2正则化方程进行重新参数化,将其等价于权值衰减方程,如下式所示。

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

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

总结

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

—END—

英文原文:https://towardsdatascience.com/weight-decay-l2-regularization-90a9e17713cd

请长按或扫描二维码关注本公众号

喜欢的话,请给我个在看吧

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。