没有合适的资源?快使用搜索试试~ 我知道了~
52840AdaNorm:基于自适应梯度范数校正的CNN优化器0Shiv Ram Dubey � ,Satish Kumar Singh � ,Bidyut Baran Chaudhuri †0� 印度信息技术学院计算机视觉和生物特征实验室,阿拉哈巴德 † TechnoIndia大学,加尔各答,印度和印度统计研究所,加尔各答,印度0srdubey@iiita.ac.in,sk.singh@iiita.ac.in,bidyutbaranchaudhuri@gmail.com0摘要0随机梯度下降(SGD)优化器通常用于训练卷积神经网络(CNN)。近年来,已经引入了几种基于自适应动量的SGD优化器,如Adam、diffGrad、Radam和AdaBelief。然而,现有的SGD优化器没有利用过去迭代的梯度范数,导致收敛和性能较差。在本文中,我们提出了一种新颖的基于AdaNorm的SGD优化器,通过根据梯度范数的自适应训练历史来校正每次迭代中的梯度范数。通过这样做,所提出的优化器能够在训练过程中保持高且具有代表性的梯度,并解决低和非典型梯度问题。所提出的概念是通用的,可以与任何现有的SGD优化器一起使用。我们使用四种最先进的优化器,包括Adam、diffGrad、Radam和AdaBelief,展示了所提出的AdaNorm的有效性。我们在三个基准目标识别数据集上,包括CIFAR10、CIFAR100和TinyImageNet,使用三个CNN模型,包括VGG16、ResNet18和ResNet50,展示了由于所提出的优化器而带来的性能改进。01. 引言0近年来,卷积神经网络(CNN)已成为解决计算机视觉问题[8]的主要参数模型,如目标识别[28],[11],目标定位[24],[23],图像分割[9],人脸识别[27],[2],图像检索[4],生物医学图像分析[29]等。CNN模型的训练是通过在数据的训练集上学习网络的参数来完成的。在实践中,使用基于批次的随机梯度下降(SGD)优化技术来训练CNN模型。首先使用某种方法(如随机初始化、Xavier初始化[7]、He初始化[10]等)初始化参数/权重。然后,通过利用目标的梯度来更新参数。0根据多次迭代中相应参数的变化情况,函数w.r.t.在梯度方向上的更新参数。传统的SGD方法[1]通过一个称为学习率的小步长,将参数更新方向与梯度相反。然而,它面临着各种挑战,比如局部最小值和鞍点区域的零梯度、不同方向上梯度的严重变化、每个参数更新都使用相同的步长,以及由于批次计算而产生的不良梯度。SGD动量法(即SGDM)[30]通过考虑梯度的指数移动平均(EMA)来解决前两个问题,以进行参数更新。梯度的EMA在一致梯度方向上建立速度,以实现更快的收敛。AdaGrad[6]通过将步长除以过去平方梯度的平方根来解决步长问题。然而,在训练后期,它会导致学习率衰减问题,这在RMSProp[13]中通过将步长除以平方梯度的EMA的根来修复。Adam优化器[16]结合了SGDM和RMSProp的概念,并提出了自适应矩。第一和第二矩分别计算为梯度和平方梯度的EMA。Adam使用第一矩来更新参数,使用第二矩来控制步长。Adam优化器已成功应用于不同计算机视觉问题的各种CNN模型。为了处理批次梯度对有效学习率的影响,AMSGrad[22]使用过去平方梯度的最大值来控制学习率,而不是指数平均值。然而,AMSGrad无法处理用于参数更新的不良梯度,而这在提出的AdaNorm优化器中得到了解决。0Adam优化器在接近最小值时由于高动量而导致最小值超调和振荡[5],[20],[32]。最近的优化器尝试解决这个问题,例如diffGrad[5]根据局部梯度行为引入了一个摩擦系数来降低接近最小值时的学习率;修正Adam(即Radam)[20]修正了自适应学习率的方差,并将Adam转化为基于SGDM的st = (et/gnorm)gtgt = ∇θft(θt−1)(1)52850算法1: Adam优化器0初始化: θ 0 , m 0 ← 0 , v 0 ← 0 , t ← 0超参数: α, β 1 , β 2 当 θ t 未收敛时 t ← t +1 g t ← � θ f t ( θ t − 1 ) m t ← β 1 m t − 1+ (1 − β 1 ) g t v t ← β 2 v t − 1 + (1 −β 2 ) g 2 t 偏差校正 � m t ← m t / (1 − β t 1) , � v t ← v t / (1 − β t 2 ) 更新 θ t ← θ t −1 − α � m t / ( √ � v t + ϵ )0根据方差阈值进行调整;AdaBelief[32]则考虑了梯度和一阶矩(即置信信息)之间差的平方的EMA来控制学习率。Adam的其他变体包括NostalgicAdam (NosAdam)[15],它更加重视过去的梯度以融入长期记忆。然而,NosAdam未能修正梯度的范数。AdaBound[21]通过剪裁来使优化器对极端学习率更加鲁棒,这是由自适应动量引起的。AdaBound方法可以看作是学习率的后修正。类似地,AdaMod[3]中使用自适应和动量上界来避免Adam初始迭代中的大学习率。AdamP[12]表明学习率的衰减可能导致次优解,并且可以通过消除径向分量来解决。Yogi[31]利用随机梯度的方差极限来控制学习率。AngularGrad[25]利用梯度方向的变化来控制学习率。为了控制学习率,还利用了基于衰减的SGD方法[14][17]。尽管现有的优化方法尝试通过利用梯度的不同属性来控制学习率,但由于梯度不一致,它们仍然存在问题。在本文中,我们通过梯度范数校正来解决这个问题,以使其在整个训练迭代过程中保持历史一致性。本文通过利用梯度范数的历史来解决上述问题。贡献如下:01.我们通过利用过去迭代的梯度范数的EMA,提出了一种AdaNorm方法。所提出的AdaNorm根据训练历史修正梯度范数,以更好地保持一致且信息丰富的梯度。02.所提出的AdaNorm方法是通用的,可以与任何现有的自适应SGD优化器一起使用。我们将所提出的AdaNorm与Adam [16]、diffGrad[5]、Radam [20]和AdaBelief [32]优化器一起使用,并0算法2: AdamNorm优化器0初始化: θ 0 , m 0 ← 0 , v 0 ← 0 , e 0 ← 0 , t ← 0 超参数: α, β1 , β 2 , γ 当 θ t 未收敛时 t ← t + 1 g t ← � θ f t ( θ t − 1 ) g norm ← L 2范数 ( g t ) e t = γe t − 1 + (1 − γ ) g norm s t = g t 如果 e t > g norm0m t ← β 1 m t − 1 + (1 − β 1 ) s t v t← β 2 v t − 1 + (1 − β 2 ) g 2 t偏差校正 � m t ← m t / (1 − β t 1 ) , � v t← v t / (1 − β t 2 ) 更新 θ t ← θ t − 1− α � m t / ( √ � v t + ϵ )0分别提出了AdamNorm、diffGradNorm、RadamNorm和AdaBeliefNorm优化器。03.我们对所提出的优化器进行了直观的解释和收敛证明。我们还通过实验证明了所提出的AdaNorm方法对梯度范数的影响。04.我们对三个基准数据集进行了严格的实验研究,包括CIFAR10、CIFAR100和TinyImageNet,用于目标识别,以展示所提出的基于AdaNorm的优化器的有效性。实验中还研究了超参数、AdaNorm对二阶矩、学习率和批量大小的影响。0我们通过在第2节中介绍提出的AdaNorm优化器,第3节中进行直观解释和收敛分析,第4节中进行实验设置,第5节中进行结果和讨论,第6节中进行消融研究,第7节中进行结论,来组织本文。02. 提出的AdaNorm优化器0考虑一个由参数 θ 表示的网络( f),使用SGD方法进行迭代训练。在训练开始之前,参数被初始化为 θ 0 。在给定的第 t次迭代中,目标函数关于参数的梯度(即 g t)使用链式法则计算,并表示为,0其中 f t 是第 t 次迭代的模型, θ t − 1表示上一次迭代中的参数, � θ 表示参数 θ 的梯度。gnorm =���(gt,i)2(2)st =et = γet−1 + (1 − γ)gnorm(4)mt = β1mt−1 + (1 − β1)st(5)52860现有的优化器,如Adam(见算法1)、diffGrad、Radam和AdaBelief使用 g t 计算梯度的指数移动平均(EMA)(m t ),并用于更新参数。然而,梯度 g t是在随机抽取的训练样本批次上计算的平均值。因此,它可能不具有代表性,不与过去的梯度行为一致,并容易出现问题。在本文中,我们通过使用历史梯度范数来纠正当前批次梯度的范数来解决这个问题。令 g norm = || g t || 2是当前梯度向量 g t = ( g t, 1 , g t, 2 , ..., g t,k )的L2范数。计算 g norm 的方法如下,0k0其中 g t,i 是 g t 的第 i 个元素, k 是 g t中元素的数量。令 s t 表示修正后的梯度。计算 s t的方法如下,0如果 e t > g norm ,则 g t,i 是 g t的第 i 个元素,否则 g t,i 是 e t /g norm与 g t 的第 i 个元素的乘积 (3)0其中 e t是使用过去梯度的范数计算的历史梯度范数,即之前的迭代。我们使用EMA方法计算 e t ,如下所示,0其中 g norm 是当前梯度 g t 的L2范数, e t − 1是在之前的( t −1)次训练迭代中计算的历史梯度范数,初始值为 e 0 = 0, γ是一个超参数,用于控制过去历史梯度范数和当前梯度范数在计算新的历史梯度范数时的贡献。在实验部分分析了 γ的影响。所提出的梯度范数校正步骤使得当前梯度的范数至少为历史梯度范数。从本质上讲,它强制当前梯度与之前梯度的行为更好地对齐和一致,并解决了现有方法中的梯度问题。此外,它减少了对批量大小的依赖,使深度网络的训练更加有效和稳定。我们将梯度范数校正的AdaNorm概念与Adam[16]集成,并提出AdamNorm优化器。我们使用修正后的梯度( s t )计算所提出的AdamNorm优化器中的第一时刻 m t ,如下所示,0其中 m t − 1 和 m t 分别是第( t − 1)次和第 t次迭代的第一时刻, m 0 初始化为0, β 1是一个超参数。然而,我们使用原始梯度( g t)计算第二时刻,如下所示,0v t = β 2 v t - 1 + (1 - β 2) g 2 t (6)0其中v t - 1和v t分别是第(t - 1)次和第t次迭代的二阶矩,v0初始化为0,β2是一个超参数。由于二阶矩用于控制学习率,我们避免在计算中使用经过范数校正的梯度,因为这可能导致有效步长显著降低,阻碍学习能力。梯度范数校正对二阶矩的影响在实验中进行了分析。按照Adam的方法,我们通过以下方式对矩进行偏差校正,以避免在初始训练迭代中出现非常高的步长:0� m t ← m t / (1 - β t 1) (7)0� v t ← v t / (1 - β t 2) (8)0其中t是当前迭代次数,� m t和� vt分别是偏差校正后的一阶和二阶矩。最后,网络的参数根据� m t和� v t进行更新,更新公式如下:0θ t ← θ t - 1 - α � m t0v t + ϵ) (9)0其中θ t - 1是第(t - 1)次训练迭代后的参数,θt是当前训练迭代后的参数,α是用于计算参数更新的学习率。所提出的AdamNorm优化器的步骤总结在算法2中,其中用蓝色突出显示与Adam相比的变化。请注意,使用历史梯度范数进行梯度范数校正是一个通用的想法,可以与任何现有的SGD优化技术结合使用。我们刚刚描述了AdamNorm的步骤,即将该概念与Adam集成在一起。然而,为了展示梯度范数校正方法的泛化性,我们还将其与最近的最先进优化器(包括diffGrad、Radam和AdaBelief优化器)集成在一起,并提出了diffGradNorm、RadamNorm和AdaBeliefNorm优化器。diffGrad、diffGradNorm、Radam、RadamNorm、AdaBelief和AdaBeliefNorm的算法在补充材料中提供。03. 直观解释和收敛分析03.1. 直观解释0为了证明梯度范数校正的重要性,我们通过图1进行了直观解释。+52870图1. 典型场景,描述了优化中自适应参数更新的重要性[32]。01.AdaNorm方法提供了在一维优化曲率上的三种典型场景(即S1、S2和S3)中,如何在大型和小型权重更新之间提供有希望的折衷方案。为了简单起见,忽略了偏差校正步骤。梯度范数g norm被认为是一维优化的|gt|。场景S1描述了在优化中非常常见的平坦区域。在这种区域中,理想的优化器期望进行大型更新,但梯度gt非常小。小的g t限制了Adam中的mt,在这种情况下导致仍然是小的更新。然而,在AdamNorm中,由于|s t|≥e t在训练时期内被保持足够大,所以mt是大的,导致大的更新,因为s t是大的。vt在两种情况下都很小且同样有帮助。场景S2描述了优化景观中的大梯度区域。在这种区域中,理想的优化器期望进行大型更新,这得到了大的g t的支持。Adam中的mt在这种情况下是大的,导致大的更新。然而,在AdamNorm中,m t至少是Adam中的mt,导致大的更新。这表明在大梯度区域中,AdamNorm的性能至少与Adam一样好。vt在两种情况下的影响是相似的。场景S3描述了优化景观中的陡峭而狭窄的山谷区域,模拟了函数的最小值。在这种区域中,理想的优化器期望进行小型更新,这得到了小的gt的支持。Adam导致小的mt,从而导致小的更新,但AdamNorm导致相对较大的mt,从而导致相对较大的更新,这可能有利于不需要的局部最小值。在最小值的情况下,AdamNorm中的mt将在靠近最小值的几次参数更新迭代中变小,最终导致收敛。v t在两种情况下的表现都很差。03.2. 收敛性分析0我们使用[33]中提出的在线学习框架来展示AdamNorm类似于Adam[16]的收敛性质。假设f1(θ),f2(θ),...,fT(θ)是一个未知序列中的凸代价函数。我们计算遗憾界如下:0R(T)=0∑t=1[ft(θt)-ft(θ�)] (10)0其中ft(θt)是第t个在线猜测,ft(θ�)是来自可行集χ的最佳参数设置,其中θ�=argminθ∈χ∑Tt=1ft(θ)。观察到AdamNorm的遗憾界与Adam类似,即O(√T)0T)。我们在补充材料中提供了AdamNorm的收敛证明。假设gt,i和st,i分别是第t次迭代中第i个元素的梯度和修正梯度范数,gt,i=[g1,i,g2,i,...,gt,i]∈Rt和st,i=[s1,i,s2,i,...,st,i]∈Rt分别是梯度向量和修正梯度向量,对于所有迭代到t的i个参数,η�β21√β2。0定理1.假设函数ft的梯度有界(即||gt,θ||2≤G和||gt,θ||∞≤G∞,对于所有θ∈Rd)。假设AdamNorm产生的任意θt之间的距离也有界(即||θn-θm||2≤D和||θn-θm||∞≤D∞,对于任意m,n∈{1,...,T})。令η�β21√β2,β1,β2∈[0,1)0t,β1,t=β1λt-1,λ∈(0,1),其中λ通常非常接近1,例如1-10-8。对于所有T≥1,AdamNorm具有以下保证:0R(T)≤D202α(1-β1)0d∑0∑i=10∑0TˆvT,i0+α(1+β1)G3∞0(1-β1)√(1-β2)(1-γ)2G20∑i=1 ||g1:T,i||20d∑0∑i=10D2∞G∞√(1-β2)02α(1-β1)(1-λ)20注意,维度(d)上的附加项可能比其上界||g1:T,i||2<
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功