分享
基于Sharpness-A...on程序的最优Rho值选择_沈奥然.pdf
下载文档

ID:2250721

大小:1.88MB

页数:4页

格式:PDF

时间:2023-05-04

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于 Sharpness on 程序 最优 Rho 选择 沈奥然
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 和他的合作者1提出了一个名为 Sharpness-Aware Minimization(SAM)的程序,来同时最小化 Loss Value and Loss Sharpness,SAM 程序在基准数据集中提升了模型的泛化能力。SAM 程序有一个单一的超参数(即 the Neighborhood Size),P.Fore 等人通过网格搜索的方式在 CIFAR 训练集中找到了最佳超参数=0.05。但在相关人员实际训练的过程中2,不同的训练集与模型的最佳超参数 并非均等于 0.05,在训练时使用不恰当的超参数 会浪费计算资源且影响模型的泛化能力,我们提出一种简单的实验方式,以便在训练初期快速找到超参数 的最佳值。关键词: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)【Abstract】: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 Sharpness-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.05 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 affects 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 引言模型的泛化能力是机器学习对新鲜样本的适应能力。而评价一个模型的好坏可以引入奥卡姆剃刀原则,即简单有效原理,若有一些连续点,可以用二次或更复杂的函数拟合,那么就用二次函数来拟合。但同时,Over-parameterize 导致训练的模型泛化能力弱,我们需要一个新的方式优化模型,P.Foret 和他的合作者提出了 SAM 程序,使用 SAM 提高了一系列广泛研究的计算机视觉任务和模型的模型泛化能力。1 损失函数损失函数是一个将随机事件或其相关随机变量的值映射为非负实数的函数,以表示随机事件的“损失”3。对于机器学习,损失函数一般收敛于最优点的宽阔平坦区域边界附近的点,大部分时候,参数收敛在 Flat 127沈奥然:基于 Sharpness-AwareMinimization 程序的最优 Rho 值选择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 indicates 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 ResNet 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)=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)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(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)wLSSAM(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+Pytorch 实现核心代码,如图 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

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开