收藏 分享(赏)

基于Sharpness-A...on程序的最优Rho值选择_沈奥然.pdf

上传人:哎呦****中 文档编号:2250721 上传时间:2023-05-04 格式:PDF 页数:4 大小:1.88MB
下载 相关 举报
基于Sharpness-A...on程序的最优Rho值选择_沈奥然.pdf_第1页
第1页 / 共4页
基于Sharpness-A...on程序的最优Rho值选择_沈奥然.pdf_第2页
第2页 / 共4页
基于Sharpness-A...on程序的最优Rho值选择_沈奥然.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、SOFTWARE软 件2023第 44 卷 第 1 期2023 年Vol.44,No.1作者简介:沈奥然(1999),男,河北张家口人,本科,研究方向:机器学习。基于 Sharpness-Aware Minimization 程序的最优 Rho 值选择沈奥然(圣克劳德州立大学,明尼苏达州圣克劳德 56301-4498)摘要:现代神经网络模型仅依赖于 training loss 值的优化方式进行训练,由于使用了过多的参数(Over-parameterize),在这种情况下,即便 training loss 值很低,也依旧无法保证模型的泛化(Generalization)能力。P.Foret 和他

2、的合作者1提出了一个名为 Sharpness-Aware Minimization(SAM)的程序,来同时最小化 Loss Value and Loss Sharpness,SAM 程序在基准数据集中提升了模型的泛化能力。SAM 程序有一个单一的超参数(即 the Neighborhood Size),P.Fore 等人通过网格搜索的方式在 CIFAR 训练集中找到了最佳超参数=0.05。但在相关人员实际训练的过程中2,不同的训练集与模型的最佳超参数 并非均等于 0.05,在训练时使用不恰当的超参数 会浪费计算资源且影响模型的泛化能力,我们提出一种简单的实验方式,以便在训练初期快速找到超参数

3、的最佳值。关键词:SAM 程序;泛化能力;最佳超参数中图分类号:TP182 文献标识码:A DOI:10.3969/j.issn.1003-6970.2023.01.034本文著录格式:沈奥然.基于Sharpness-Aware Minimization程序的最优Rho值选择J.软件,2023,44(01):126-129Optimal Rho Value Selection Based on Sharpness-Aware Minimization ProgramSHEN Aoran(St.Cloud State University,Saint Cloud,MN 56301-4498)【A

4、bstract】:Modern neural network models rely only on the optimization of loss values for training.Due to Over-parameterize,in this case,even if the training loss value is very low,the Generalization ability of the model is still not guaranteed.P.Foret and his co-workers proposed a program called Sharp

5、ness-Aware Minimization(SAM)to simultaneously minimize the Loss Value and Loss Sharpness.The SAM program improves the generalization capability of the model in the benchmark dataset.The SAM program has a single hyperparameter (the Neighborhood Size).P.Fore et al found the optimal hyperparameter =0.0

6、5 in the CIFAR training set by means of a grid search.However,in the process of actual training by those involved,the optimal hyperparameters for different training sets and models are not all equal to 0.05.Using inappropriate hyperparameters during training wastes computational resources and affect

7、s the generalization ability of the model.We propose a simple experimental approach to quickly find the optimal value of the hyperparameter at the early stage of training.【Key words】:SAM program;generalization capability;best hyperparameters设计研究与应用0 引言模型的泛化能力是机器学习对新鲜样本的适应能力。而评价一个模型的好坏可以引入奥卡姆剃刀原则,即简单

8、有效原理,若有一些连续点,可以用二次或更复杂的函数拟合,那么就用二次函数来拟合。但同时,Over-parameterize 导致训练的模型泛化能力弱,我们需要一个新的方式优化模型,P.Foret 和他的合作者提出了 SAM 程序,使用 SAM 提高了一系列广泛研究的计算机视觉任务和模型的模型泛化能力。1 损失函数损失函数是一个将随机事件或其相关随机变量的值映射为非负实数的函数,以表示随机事件的“损失”3。对于机器学习,损失函数一般收敛于最优点的宽阔平坦区域边界附近的点,大部分时候,参数收敛在 Flat 127沈奥然:基于 Sharpness-AwareMinimization 程序的最优 Rh

9、o 值选择Minima 区域的模型,比参数收敛在 Sharp Minima 区域的模型,具有更好的泛化能力,如图 1 所示可直观表现该观点4。鞍点所有参数的一阶导数均为 0 且存在某一参数的二阶导数小于 0,极大值的一阶导数均为 0且对于所有参数二阶导数均大于 0。Training FunctionTesting FunctionSharp MinimumFlat Minimum)(xf图 1 平坦和尖锐的最小值的概念性简图,Y 轴表示损失函数的值,X 轴表示变量。Fig.1 A conceptual sketch of flat and sharp minima,the Y-axis ind

10、icates value of the loss function and the X-axis the variables2 SAM 程序原理SAM 程序(锐度感知最小化)是一种新的、有效的方法,它可以同时减小损失值和损失锐度,在领域Rho 内寻找具有均匀的低损失值的参数,SAM 在各种基准数据集上都改善了的模型泛化。如图 2 所示为利用SGD 训练与利用 SAM 程序训练的对比。(a)(b)图 2(a)用 SGD 训练的 ResNet 收敛到的尖锐最小值;(b)用SAM 训练的同一 ResNet 收敛到的一个宽的最小值Fig.2(a)A sharp minimum to which a R

11、esNet trained with SGD converged;(b)A wide minimum to which the same ResNet trained with SAM converged2.1 SAM 程序的原理现代神经网络模型中损失函数通常是非凸的,因此具有多个局部最小值,这些最小值产生的loss值会直接影响模型的泛化能力5。P.Fore 等人给出如式(1)所示的理论6:LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w

12、)=argmaxp TwLS(w)wLSSAM(w)wLS(w)|w+(w)(1)h 是一个严格的单调递增函数,LS是在训练集 S 上的损失值,如式(2)所示:LD(w)=E(x,y)Dl(x,y;w)(2)h(w 22/2)通过 Weight Decay 可以看成 w 22,则目标函数如式(3)、式(4)所示:LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w)=argmaxp TwLS(w)wLSSAM(w)wLS(w)|w+(w)(3

13、)LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w)=argmaxp TwLS(w)wLSSAM(w)wLS(w)|w+(w)(4)采取近似的方式对上述函数求解,如式(5)所示:LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w)=argmaxp TwLS(w)wLSSAM(w)wLS

14、(w)|w+(w)LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w)=argmaxp TwLS(w)wLSSAM(w)wLS(w)|w+(w)(5)得到支撑 SAM 程序的理论依据,如式(6)所示:LD(w)max2LS(w+)+(w22/2)minwLSSAM(w)+w22 and LSSAM(w):=maxpLS(w+)(w):=argmaxp LS(w+)argmaxp LS(w)+TwLS(w)=argmaxp TwLS(w)wL

15、SSAM(w)wLS(w)|w+(w)(6)绘制图像直观的显示了 SAM 程序运算过程,如图 3所示:(1)基于参数 w 对 batch data 计算梯度值;(2)求解梯度值的 dual norm,依照 dual vector 方向更新参数并得到 w+;(3)基于参数 w+对 S 计算梯度值 G;(4)用 G 更新原本的参数 w。()(2ttwLwL)(twL1+twSAMt+1W)(advwLtwadvw图 3 运算过程图Fig.3 Operation process diagram2.2 SAM 程序的实现P.Foret 在论文中给出了 SAM 程序的伪代码,我们使用 Python+Py

16、torch 实现核心代码,如图 4 所示。Input:Training set ,Loss function R+,Batch size ,Step size ,Neighborhood size .Output:Model trained with SAMInitialize weights ;While not converged do Sample batch B Compute gradient of the batchs training loss;Compute per equation 2;Compute gradient approximation for the SAM objective (equation 3):g=;Update weights:g;endreturn ()iiniyxS,1=yxwl:b000,0=t()();,.,11bbyxyx=()?()()?+BL=+tt 1;1+=ttt()BL图 4 程序代码Fig.4 Program code128软 件第 44 卷 第 1 期SOFTWARE创建 SAM 类,继承 torch.optim.Opt

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 专业资料 > 其它

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2