深入理解深度学习——正则化(Regularization):参数范数惩罚

news2024/11/26 3:57:02

分类目录:《深入理解深度学习》总目录


正则化在深度学习的出现前就已经被使用了数十年。线性模型,如线性回归和逻辑回归可以使用简单、直接、有效的正则化策略。许多正则化方法通过对目标函数 J J J添加一个参数范数惩罚 Ω ( θ ) \Omega(\theta) Ω(θ)限制模型的学习能力。我们将正则化后的目标函数记为:
J ~ ( θ ; X , y ) = J ( θ ; X , y ) + α Ω ( θ ) \tilde{J}(\theta;X, y) = J(\theta;X, y) + \alpha\Omega(\theta) J~(θ;X,y)=J(θ;X,y)+αΩ(θ)

其中 α ∈ [ 0 , + ∞ ] \alpha\in[0, +\infty] α[0,+]是权衡范数惩罚项 Ω \Omega Ω和标准目标函数 J ( θ ; X , y ) J(\theta;X, y) J(θ;X,y)相对贡献的超参数。将 α \alpha α设为 0 0 0表示没有正则化。 α \alpha α越大,对应正则化惩罚越大。当我们的训练算法最小化正则化后的目标函数 J ~ \tilde{J} J~时,它会降低原始目标 J J J关于训练数据的误差并同时减小在某些衡量标准下参数 θ \theta θ(或参数子集)的规模。选择不同的参数范数 Ω \Omega Ω会偏好不同的解。在探究不同范数的正则化表现之前,我们需要说明一下,在神经网络中,参数包括每一层仿射变换的权重和偏置,我们通常只对权重做惩罚而不对偏置做正则惩罚。精确拟合偏置所需的数据通常比拟合权重少得多。每个权重会指定两个变量如何相互作用。我们需要在各种条件下观察这两个变量才能良好地拟合权重。而每个偏置仅控制一个单变量。这意味着,我们不对其进行正则化也不会导致太大的方差。另外,正则化偏置参数可能会导致明显的欠拟合。因此,我们使用向量 w w w表示所有应受范数惩罚影响的权重,而向量 θ \theta θ表示所有参数 (包括 w w w和无需正则化的参数)。在神经网络的情况下,有时希望对网络的每一层使用单独的惩罚,并分配不同的 α \alpha α系数。寻找合适的多个超参数的代价很大,因此为了减少搜索空间,我们会在所有层使用相同的权重衰减。

L 1 L^1 L1正则化

对模型参数 w w w L 1 L^1 L1正则化被定义为:
Ω ( θ ) = ∣ ∣ w ∣ ∣ 1 = ∑ i ∣ w i ∣ \Omega(\theta) = ||w||_1 = \sum_i|w_i| Ω(θ)=∣∣w1=iwi

因此, L 1 L^1 L1正则化的目标函数 J ~ ( w ; X , y ) \tilde{J}(w;X, y) J~(w;X,y)为:
J ~ ( w ; X , y ) = J ( w ; X , y ) + α 2 w T w \tilde{J}(w;X, y) = J(w;X, y) + \frac{\alpha}{2}w^Tw J~(w;X,y)=J(w;X,y)+2αwTw

对应的梯度:
∇ w J ~ ( w ; X , y ) = ∇ w J ( w ; X , y ) + α sign ( w ) \nabla_w\tilde{J}(w;X, y) = \nabla_wJ(w;X, y) + \alpha\text{sign}(w) wJ~(w;X,y)=wJ(w;X,y)+αsign(w)

其中 sign ( w ) \text{sign}(w) sign(w)只是简单地取 w w w各个元素的正负号。具体来说,我们可以看到正则化对梯度的影响不再是线性地缩放每个 w i w_i wi,而是添加了一项与 sign ( w ) \text{sign}(w) sign(w)同号的常数。使用这种形式的梯度之后,我们不一定能得到 J ( w ; X , y ) J(w;X, y) J(w;X,y)二次近似的直接解析解。简单线性模型具有二次代价函数,我们可以通过泰勒级数表示。或者我们可以设想,这是逼近更复杂模型的代价函数的截断泰勒级数。在这个设定下,梯度为:
∇ w J ~ ( w ; X , y ) = H ( w − w ∗ ) \nabla_w\tilde{J}(w;X, y) = H(w - w^*) wJ~(w;X,y)=H(ww)

其中, H H H J J J w ∗ w^∗ w处关于 w w w的Hessian矩阵。由于 L 1 L^1 L1惩罚项在完全一般化的Hessian的情况下,无法得到直接清晰的代数表达式,因此我们将进一步简化假设Hessian是对角的,即 H = diag ( [ H 1 , 1 , ⋯   , H n , n ] ) H = \text{diag}([H_{1,1}, \cdots, H_{n,n}]) H=diag([H1,1,,Hn,n]),其中每个 H i , i > 0 H_{i,i} > 0 Hi,i>0。如果线性回归问题中的数据已被预处理(如可以使用 PCA),去除了输入特征之间的相关性,那么这一假设成立。

我们可以将 L 1 L^1 L1正则化目标函数的二次近似分解成关于参数的求和:
J ^ ( w ; X , y ) = J ( w ∗ ; X , y ) + ∑ i [ 1 2 H i , i ( w − w ∗ ) 2 + α ∣ w i ∣ ] \hat{J}(w;X, y) = J(w^*;X, y) + \sum_i[\frac{1}{2}H_{i,i}(w - w^*)^2+\alpha|w_i|] J^(w;X,y)=J(w;X,y)+i[21Hi,i(ww)2+αwi]

如下列形式的解析解(对每一维 i i i)可以最小化这个近似代价函数:
w i = sign ( w i ∗ ) max ⁡ { ∣ w i ∗ − α H i , i , 0 ∣ } w_i = \text{sign}(w_i^*)\max\{|w^*_i - \frac{\alpha}{H_{i, i}}, 0|\} wi=sign(wi)max{wiHi,iα,0∣}

对每个 i i i,考虑 w i ∗ > 0 w^∗_i > 0 wi>0的情形,会有两种可能结果:

  • w i ∗ ≤ α H i , i w^∗_i \leq\frac{\alpha}{H_{i, i}} wiHi,iα:正则化后目标中的 w i w_i wi最优值是 w i = 0 w_i=0 wi=0。这是因为在方向 i i i J ( w ; X , y ) J(w; X, y) J(w;X,y) J ^ ( w ; X , y ) \hat{J}(w; X, y) J^(w;X,y)的贡献被抵消, L 1 L^1 L1正则化项将 w i w_i wi推至0。
  • w i ∗ > α H i , i w^∗_i >\frac{\alpha}{H_{i, i}} wi>Hi,iα:在这种情况下,正则化不会将 w i w_i wi的最优值推至0,而仅仅在那个方向上移动 α H i , i \frac{\alpha}{H_{i, i}} Hi,iα的距离。

w i ∗ < 0 w^∗_i < 0 wi<0的情况与之类似,但是 L 1 L^1 L1惩罚项使 w i w_i wi更接近0(增加 α H i , i \frac{\alpha}{H_{i, i}} Hi,iα) 或者为0。相比 L 2 L^2 L2正则化, L 1 L^1 L1正则化会产生更稀疏(Sparse)的解。此处稀疏性指的是最优值中的一些参数为0。和 L 2 L^2 L2正则化相比, L 1 L^1 L1正则化的稀疏性具有本质的不同。

L 1 L^1 L1正则化导出的稀疏性质已经被广泛地用于特征选择(Feature Selection)机制。特征选择从可用的特征子集选择出有意义的特征,化简机器学习问题。著名的LASSO (Least Absolute Shrinkage and Selection Operator)模型将 L 1 L^1 L1惩罚和线性模型结合,并使用最小二乘代价函数。 L 1 L^1 L1惩罚使部分子集的权重为零,表明相应的特征可以被安全地忽略。

L 2 L^2 L2正则化

L 2 L^2 L2正则化策略通过向
目标函数添加一个正则项:
Ω ( θ ) = 1 2 ∣ ∣ w ∣ ∣ 2 \Omega(\theta) = \frac{1}{2}||w||^2 Ω(θ)=21∣∣w2

,使权重更加接近原点。同时, L 2 L^2 L2也被称为岭回归(Ridge Regression)或Tikhonov正则(Tikhonov Regularization)。我们可以通过研究正则化后目标函数的梯度,洞察一些权重衰减的正则化表现。

为了简单起见,我们假定其中没有偏置参数,因此 θ \theta θ就是 ∣ ∣ w ∣ ∣ ||w|| ∣∣w∣∣。这样一个模型具有以下总的目标函数:
J ~ ( w ; X , y ) = J ( w ; X , y ) + α 2 w T w \tilde{J}(w;X, y) = J(w;X, y) + \frac{\alpha}{2}w^Tw J~(w;X,y)=J(w;X,y)+2αwTw

与之对应的梯度为:
∇ w J ~ ( w ; X , y ) = ∇ w J ( w ; X , y ) + α w \nabla_w\tilde{J}(w;X, y) = \nabla_wJ(w;X, y) + \alpha w wJ~(w;X,y)=wJ(w;X,y)+αw

使用单步梯度下降更新权重,即执行以下更新:
w = w − ϵ ( ∇ w J ( w ; X , y ) + α w ) = ( 1 − ϵ α ) w − ϵ ( ∇ w J ( w ; X , y ) w = w - \epsilon(\nabla_wJ(w;X, y) + \alpha w) = (1 - \epsilon\alpha)w - \epsilon(\nabla_wJ(w;X, y) w=wϵ(wJ(w;X,y)+αw)=(1ϵα)wϵ(wJ(w;X,y)

我们可以看到,加入权重衰减后会引起学习规则的修改,即在每步执行通常的梯度更新之前先收缩权重向量(将权重向量乘以一个常数因子)。这是单个步骤发生的变化。我们进一步简化分析,令 w ∗ w^∗ w为未正则化的目标函数取得最小训练误差时的权重向量,即 w ∗ = arg ⁡ min ⁡ w J ( w ) w^∗ = \arg\min_wJ(w) w=argminwJ(w),并在 w ∗ w^∗ w的邻域对目标函数做二次近似。如果目标函数确实是二次的(如以均方误差拟合线性回归模型的情况),则该近似是完美的。近似的 J ^ ( θ ) \hat{J}(\theta) J^(θ)如下:
J ^ ( θ ) = J ( w ∗ ) + 1 2 ( w − w ∗ ) + H ( w − w ∗ ) \hat{J}(\theta) = J(w^*) + \frac{1}{2}(w - w^*) + H(w - w^*) J^(θ)=J(w)+21(ww)+H(ww)

其中, H H H J J J w ∗ w^∗ w处计算的Hessian矩阵(关于 w w w)。因为 w ∗ w^∗ w被定义为最优,即梯度消失为0,所以该二次近似中没有一阶项。同样地,因为 w ∗ w^∗ w J J J的一个最优点,我们可以得出 H H H是半正定的结论。当 J ^ \hat{J} J^取得最小时,其梯度:
∇ w J ( w ) = H ( w − w ∗ ) \nabla_wJ(w) = H(w - w^*) wJ(w)=H(ww)

为 0。为了研究权重衰减带来的影响,我们在上式中添加权重衰减的梯度。现在我们探讨最小化正则化后的 J ^ \hat{J} J^。我们使用变量 w ~ \tilde{w} w~表示此时的最优点:
α w ~ + H ( w − w ∗ ) = 0 ( H + α I ) w ~ = H w ∗ w ~ = ( H + α I ) − 1 H w ∗ \begin{align*} \alpha\tilde{w} + H(w-w^*) = 0 \\ (H + \alpha I)\tilde{w} = Hw^* \\ \tilde{w} = (H + \alpha I)^{-1}Hw^* \end{align*} αw~+H(ww)=0(H+αI)w~=Hww~=(H+αI)1Hw
α \alpha α趋向于 0 0 0时,正则化的解 w ~ \tilde{w} w~会趋向 w ∗ w^∗ w。那么当 α \alpha α增加时,因为 H H H是实对称的,所以我们可以将其分解为一个对角矩阵 Λ \Lambda Λ和一组特征向量的标准正交基 Q Q Q,并且有 H = Q Λ Q T H = Q\Lambda Q^T H=QΛQT,可得: w ~ = Q ( Λ + α I ) − 1 Λ Q T w ∗ \tilde{w} = Q(\Lambda + \alpha I)^{-1}\Lambda Q^Tw^* w~=Q(Λ+αI)1ΛQTw。我们可以看到权重衰减的效果是沿着由 H H H的特征向量所定义的轴缩放 w ∗ w^∗ w。具体来说,我们会根据 λ i λ i + α \frac{\lambda_i}{\lambda_i+\alpha} λi+αλi因子缩放与 H H H i i i个特征向量对齐的 w ∗ w^∗ w的分量。沿着 H H H特征值较大的方向 (如 λ i ≫ a \lambda_i\gg a λia)正则化的影响较小。而 λ i ≪ a \lambda_i\ll a λia的分量将会收缩到几乎为零。
L2正则化对最佳 w 值的影响
只有在显著减小目标函数方向上的参数会保留得相对完好。在无助于目标函数减小的方向(对应 Hessian 矩阵较小的特征值)上改变参数不会显著增加梯度。这种不重要方向对应的分量会在训练过程中因正则化而衰减掉。

目前为止,我们讨论了权重衰减对优化一个抽象通用的二次代价函数的影响。我们可以研究线性回归,它的真实代价函数是二次的,因此我们可以使用相同的方法分析。再次应用分析,我们会在这种情况下得到相同的结果,但这次我们使用训练数据的术语表述。线性回归的代价函数是平方误差之和: Loss = ( X w − y ) T ( X w − y ) \text{Loss}=(Xw-y)^T(Xw-y) Loss=(Xwy)T(Xwy),我们添加 L 2 L^2 L2正则项后,目标函数变为: Loss = ( X w − y ) T ( X w − y ) + 1 2 α w T w \text{Loss}=(Xw-y)^T(Xw-y)+\frac{1}{2}\alpha w^Tw Loss=(Xwy)T(Xwy)+21αwTw,这将普通方程的解从 w = ( X T X ) − 1 X T y w=(X^TX)^{-1}X^Ty w=(XTX)1XTy变为 w = ( X T X + α I ) − 1 X T y w=(X^TX+\alpha I)^{-1}X^Ty w=(XTX+αI)1XTy。式中的矩阵 X T X X^TX XTX与协方差矩阵 1 m X T X \frac{1}{m}X^TX m1XTX成正比。 L 2 L^2 L2正则项将这个矩阵替换为 ( X T X + α I ) − 1 (X^TX+\alpha I)^{-1} (XTX+αI)1 。这个新矩阵与原来的是一样的,不同的仅仅是在对角加了 α \alpha α。这个矩阵的对角项对应每个输入特征的方差。我们可以看到, L 2 L^2 L2正则化能让学习算法感知到具有较高方差的输入 x x x,因此与输出目标的协方差较小(相对增加方差)的特征的权重将会收缩。

如果我们使用Hessian矩阵 H H H为对角正定矩阵的假设(与 L 1 L^1 L1正则化分析时一样),重新考虑这个等式,我们发现 w i ~ = H i , i H i , i + α w i ∗ \tilde{w_i}=\frac{H_{i, i}}{H_{i, i} + \alpha}w_i^* wi~=Hi,i+αHi,iwi 。如果 w i ∗ w_i^* wi不是零,那么 w i ~ \tilde{w_i} wi~也会保持非零。这表明 L 2 L^2 L2正则化不会使参数变得稀疏,而 L 1 L^1 L1正则化有可能通过足够大的 α \alpha α实现稀疏。

参考文献:
[1] Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/525504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三、Neo4j 源码研究系列 - 持久化

version: v-2023051401 author: 路__ 说到数据库&#xff0c;那么离不开的模块就是持久化&#xff08;Persistence&#xff09;&#xff0c;数据持久化是数据库不可缺少的重要组成模块之一。可以说一个数据库少了持久化功能&#xff0c;可以说这个数据库就不足以称为数据库。…

并查集:解密算法面试中的常客

文章目录 1. 并查集原理&#x1f351; 举例说明&#x1f351; 并查集的应用 2. 并查集实现&#x1f351; 接口总览&#x1f351; 构造函数&#x1f351; 查询操作&#x1f345; 代码实现 &#x1f351; 合并操作&#x1f345; 动图演示&#x1f345; 代码实现 &#x1f351; 判…

Linux文件打开函数open()

#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> int main(void) {int fd -1; /*这个整数用来存放文件描述符*/char filename[] "good.txt"; /*打开的文件名&#xff0c;是一个字符数组…

String类 [下]

目录 一、拷贝构造和赋值重载的传统写法和现代写法 0x01 拷贝构造的传统写法 0x02 拷贝构造的现代写法 0x03 赋值重载的传统写法 0x04 赋值重载的现代写法 0x05 总结 二、 增删改查之后的string 0x01 成员函数swap: 0x02 reserve&#xff1a;改变容量 0x03 push_back: 尾…

带你深入理解Java异常

&#x1f495;“人生就像一盘棋&#xff0c;有时候你慢一步&#xff0c;就输掉了一局。但只要你不停止思考和行动&#xff0c;就永远有机会翻盘。”&#x1f495; &#x1f43c;作者&#xff1a;不能再留遗憾了&#x1f43c; &#x1f386;专栏&#xff1a;Java学习&#x1f38…

《计算机网络——自顶向下方法》精炼——3.4.1-3.4.3

聪明出于勤奋,天才在于积累。——华罗庚 文章目录 对协议的进一步改进rdt2.1rdt2.2rdt3.0&#xff1a;含有比特差错和丢包的可靠数据传输协议 流水线协议回退n步&#xff08;GBN&#xff09; 对协议的进一步改进 rdt2.1 在上一篇文章中&#xff0c;我们讲到对于产生比特差错的…

A2-RIDE Long-tailed recognition by routing diverse distribution-aware experts

文章目录 0. Abstract1. Introduction2. Related Works3. RIDE&#xff1a;ROUTING DIVERSE DISTRIBUTION-AWARE EXPERTS4. Experiments5. Summary论文总结长尾数据分布 (Long-tailed Data Distribution)RIDE方法及模型1. **Multi-expert framework**2. **Routing diversified …

RabbitMQ如何保证顺序消费

目录标题 生产者有序的情况下如何保证顺序生产单个消费者多个消费者 生产者无序的情况下消息返回队列消息不返回队列 生产者有序的情况下 如何保证顺序生产 单一生产者&#xff1a;消息生产的顺序性仅支持单一生产者。 串行发送&#xff1a;如果生产者采用多线程并行发送&…

借助国内ChatGPT平替+markmap/Xmind飞速生成思维导图

系列文章目录 借助国内ChatGPT平替MindShow&#xff0c;飞速制作PPT 文章目录 系列文章目录前言一、科大讯飞“星火”认知大模型二、使用步骤1.借助讯飞星火生成思维导图的文案2.选择markmap绘制思维导图3.选择Xmind绘制思维导图 总结 前言 随着人工智能技术的不断发展&#x…

自动操作魔法师4.9.0.0

产品下载 (won-soft.com) 如下图所示&#xff1a; 彻底远离枯燥乏味的工作 在日常办公中&#xff0c;开发票&#xff0c;更新客户资料&#xff0c;打印报表&#xff0c;录入数据等等工作是极为重要&#xff0c;但大部分时候这些工作是相当枯燥的。你不得得一遍又一遍的进行重复…

第二章: Mybatis-Plus 快速入门

目录 1. 准备工作 数据库准备: 创建Maven 父模块 2. Mybatis 整合 Mybatis-Plus 创建子模块: 准备 log4j.properties 日志文件 3. Mybatis 原生写法实现查询User 编写mybatis-config.xml文件&#xff1a; 编写User实体对象&#xff1a;&#xff08;这里使用lombok进行了…

Hyper-V搭建免费桌面云

Hyper-V 是 Microsoft 的硬件虚拟化产品。 它用于创建并运行计算机的软件版本&#xff0c;称为“虚拟机”。 每个虚拟机都像一台完整的计算机一样运行操作系统和程序。 如果需要计算资源&#xff0c;虚拟机可提供更大的灵活性、帮助节省时间和金钱&#xff0c;并且与在物理硬件…

【AI面试】RoI Pooling 和 RoI Align 辨析

RoI Pooling和RoI Align是两种常用的目标检测中的RoI特征提取方法。它们的主要区别在于&#xff1a;如何将不同大小的RoI对齐到固定大小的特征图上&#xff0c;并在这个过程中保留更多的空间信息。 一、RoI Pooling RoI Pooling最早是在Fast R-CNN中提出的&#xff0c;它的基…

MySQL MHA

概述 什么是 MHA MHA&#xff08;Master High Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中…

JAVA语言-比较器Comparator(java中Comparable和Comparator的区别)

文章目录 一、什么是Comparator二、Java compare方法和compareTo方法三、java中Comparable和Comparator的区别 Comparator的例子三、demo&#xff1a;java8使用Lambda表达式比较器Comparator给List对象排序&#xff0c;按时间、数字、字典排序 一、什么是Comparator Comparato…

Unittest单元测试框架之unittest_执行用例的详细信息

unittest_执行用例的详细信息 用unittest.main()执行测试集 这里的verbosity是一个选项,表示测试结果的信息复杂度&#xff0c;有三个值&#xff1a;0 (静默模式): 你只能获得总的测试用例数和总的结果 比如 总共100个 失败20 成功801 (默认模式): 非常类似静默模式 只是在每…

MySQL数据库从入门到精通学习第3天(查看,选择,修改,删除数据库)

查看&#xff0c;选择&#xff0c;修改&#xff0c;删除数据库 查看数据库选择数据库修改数据库删除数据库 查看数据库 创建完数据库&#xff0c;可以通过SHOW命令来查看所有的数据库信息&#xff0c;语法&#xff1a; SHOW DATABASES [LIKE %模式% WHERE 条件]; >>>…

MySQL进阶-索引

本文介绍MySQL索引的结构、语法、使用规则等 文章目录 索引介绍索引结构二叉树B-TreeBTreeHash 索引分类思考题 语法SQL性能分析SQL的执行频率慢查询日志PROFILE详情EXPLAIN执行计划 索引使用规则最左前缀法则索引失效情况索引列运算字符串不加引号模糊查询or连接的条件数据分布…

(免费分享)基于微信小程序的旅游系统

目 录 1绪论 1 1.1概述 1 1.2课题意义 2 1.3主要内容 2 2 相关技术简介 3 2.1 HBuilder X技术介绍 4 2.2 JAVA简介 5 2.3 MYSQL数据库 6 2.4 SSM框架 7 3 系统分析 8 3.1 系统需求分析 9 3.1.1系统功能需求 10 3.1.2系统技术需求 11 3.1.3系统安全需求 12 3.2 可行性分析 13 3…

postgresql 词法/语法(scanner/parser)中flex/bison介绍

专栏内容&#xff1a;postgresql内核源码分析个人主页&#xff1a;我的主页座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物&#xff0e; 目录 前言 词法分析与语法分析的关系 工具介绍 flex的介绍 bison的介绍 flex的…