深度学习日常发问(一):优化方法之间的对比

写在开头:这里主要要记录在平时学习中遇到的一些问题与学习的一些东西,整体的风格按照参考文献的大佬进行。

内容介绍

今天主要对momentum、NesterovMomentum、AdaGrad、RMSprop以及Adam是什么进行讲解,并对这些和比较新的AdaBound算法结果进行对比,通常会使用梯度下降来得到神经网络的参数,但是有时为了加速优化收敛,需要使用优化方法。今天就将对笔者在最近学习深度学习中遇到的优化方法,进行一个分享。如果有感兴趣的朋友想了解这几种优化方法的一些基础核心内容,可以点击这里查看指数加权平均和带偏差修正的指数加权平均。

开始分享

1.momentum
当笔者第一次使用Torch框架的时候,在调用optim.SGD时意外发现了一个参数,没错这个参数就是momentum,在一度以为SGD就是我接触的最棒梯度下降时解决的办法时,笔者对momentum的出现产生了好奇,并在Torch实操案例MNIST中添加了关于momentum的说明,在使用SGD的时候我们不难发现下降的速度比较的慢,而且从理论上来看容易遇到鞍点,就是一个局部最小点,放在一个二维来说就是如下图一样,(图片来自李宏毅《一天搞懂深度学习》),
在这里插入图片描述
那么这个时候怎么办,加入动量,能够帮提高我们的效率,特别是对于高曲率、小但一致的梯度,或者噪声比较大的梯度能够很好的加快学习过程。动量就是一个对于之前的速度与当前的加速度加权考虑的一个综合平均值,能够有效的保持当前的一个速度,对冲当前加速度的影响。
在这里插入图片描述
比较好理解的解释就是,加入动量,能够保持原有趋势,在原有趋势上,调整更新的步幅。如果梯度方向与动量方向相同则加强这个方向的步幅,反之则进行削弱。其具体算法过程,如下(参考《deep learning》):
在这里插入图片描述
在更新速度的时候,对速度也就是动量减去负梯度,相当于就是负梯度更新与动量更新的均衡。从torch的源码中的解释可以看到,动量的SGD的定义,笔者会在文章的最后通过代码来展示各个方法不同的效果。

Considering the specific case of Momentum, the update can be written as
.. math::
         v_{t+1} = \mu * v_{t} + g_{t+1} \\
         p_{t+1} = p_{t} - lr * v_{t+1}
where p, g, v and :math:`\mu` denote the parameters, gradient, 
velocity, and momentum respectively.

2.NesterovMomentum
既然有了Momentum的方法为什么还需要一个Nesterov的动量方法呢?我们给出一张示意图,在这里插入图片描述从图上可以看到,左边就是我们的普通的动量学习法,右边就是Nesterov的方法,如果从结果出发我们可以理解为修正了动量的改进方向。再来看一看算法进行理解,
在这里插入图片描述
与动量算法不同的是,该方法先对参数进行一个临时的更新,也就是站在近似的更新点上来计算梯度,相当于就是跨了一步走。但并不能证明提高了收敛率。
在cs231n中告诉我们在实践中人们我那个网更习惯于使用参数只在最后进行更新,就像前面的动量一样,于是我们可以得到一个新的计算方法,在这里插入图片描述
将上述公式展开写就是
w = w + β 2 V − ( 1 + β ) α d w w = w + \beta^2 V - (1+\beta)\alpha dw w=w+β2V(1+β)αdw这个地方的证明是借鉴的这里
首先有
V t + 1 = β V t − α ∇ w i L ( w t + β V t ) V_{t+1} = \beta V_t-\alpha\nabla_{w_i}L(w_t+\beta V_t) Vt+1=βVtαwiL(wt+βVt) w t + 1 = w t + V t + 1 w_{t+1}=w_t+V_{t+1} wt+1=wt+Vt+1我们定义第一步的向量近似更新步骤,
w t ′ = w t + β V t w^{'}_t=w_t+\beta V_t wt

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 大学生的学习方法有许多种类型和特征。其中一些常见的学习方法包括: 1. 自学: 自己独立学习, 包括自主阅读, 自行搜索信息等。 2. 合作学习: 与其他同学一起学习, 可以互相帮助, 共同讨论等。 3. 讲义学习: 根据老师提供的讲义, 自己复习和巩固所学的知识。 4. 实践学习: 通过实际动手操作来学习, 包括实验, 实习等。 5. 网络学习: 通过网络资源学习, 包括在线课程, 视频教程等。 大学生的学习方法还有许多其他特征, 如是否有规划, 是否有效率, 是否有刻意练习等。总的来说, 最有效的学习方法是结合各种方法, 并且有规划有效率, 并且不断审视和调整学习策略。 ### 回答2: 大学生的学习方法可以分为以下几个类型和特征: 1. 主动学习:大学生应该具备积极主动的学习态度,主动参与学习活动,如主动发问、参与讨论、主动寻找学习资源等。这种学习方法注重个体的积极性和主动性,能够更好地掌握学习内容。 2. 整体学习:在学习过程中,大学生应该注重整体把握知识,学会从整体上理解和分析问题。这种学习方法强调整体思维和系统性思考,能够提高学习的深度和广度。 3. 独立学习:大学生应该培养独立学习的能力,学会自主学习和自主解决问题。这种学习方法重视学生的主体地位,能够培养学生的独立思考和解决问题的能力。 4. 多元学习:大学生应该采用多种不同的学习方法,如听讲、阅读、实践、团队合作等。这种学习方法可以帮助学生多方位地理解知识,从不同角度解决问题。 5. 反思学习:大学生应该反思自己的学习过程,总结经验教训,不断改进学习方法。这种学习方法能够帮助学生自我提升,不断完善学习策略和技巧。 总之,大学生的学习方法应该注重主动性、整体性、独立性、多元性和反思性,这些特征能够帮助学生更有效地学习和提高学习效果。 ### 回答3: 大学生的学习方法有多种类型和特征。 首先,大学生学习方法的类型包括笔记法、创新学习法、合作学习法和自主学习法等。笔记法是记录讲座或阅读材料内容的常见方式,可以帮助学生回顾和整理知识。创新学习法强调学生的主动性和创造性,通过参与实践项目和解决问题来深入理解知识。合作学习法强调团队合作,通过小组讨论、合作项目等方式,促进学生之间的相互学习和交流。自主学习法强调个人的独立思考和学习自觉性,通过自我设置学习目标、自主阅读等方式进行学习。 其次,大学生学习方法的特征包括多样性、灵活性和适应性。不同的学科和学习任务需要不同的学习方法,大学生需要根据具体情况选择适合自己的学习方法。同时,学习方法也需要根据实际情况做出调整和变化,灵活应对不同的学习需求和挑战。大学生学习方法还需要具备适应性,能够适应各种不同的学习环境和条件。 另外,大学生学习方法还应具备系统性和持续性。学习方法应该是有序、有计划的,帮助学生有目标地进行学习。大学生学习方法还需要具备持续性,即学习方法需要成为学生日常学习的一种习惯和方式,而不是暂时的努力。 总之,大学生的学习方法具有多样性、灵活性、适应性、系统性和持续性等特征。根据不同的学科和学习任务,大学生可以灵活选择合适的学习方法,并持续运用以提高学习效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值