深度学习最优化(四)—— 动量法/Nesterov/Adagrad/Adadelta/RMSprop/Adam/Nadam

本文详细介绍了深度学习优化中的几种算法,包括SGD、动量法、Nesterov、Adagrad、RMSprop、Adadelta、Adam以及Nadam。这些算法针对梯度下降中的问题提出解决方案,如学习率选择、局部最优等,其中Adam和Nadam结合了一阶和二阶动量,表现出良好的优化效果。
摘要由CSDN通过智能技术生成

1. SGD

现在的SGD一般都指小批量梯度下降,即每一次迭代计算mini-batch的梯度,然后对参数进行更新。

               g_{t}= \triangledown _{\theta_{t-1}}J(\theta_{t-1})

              \triangle \theta _t = -\eta \ast g_t

              \theta _t = \theta _{t-1}+\triangle \theta _t

其中\theta _t是模型参数,J(\theta _{t-1})是模型目标函数,g_t是目标函数的梯度,\eta是学习率。

难点(缺点):

          (1)学习率的选择。过低收敛缓慢,过高无法收敛。

          (2)“之字形”的出现,即在陡谷(一种在一个方向的弯曲程度远大于其他方向的表面弯曲情况)处震荡。如下图所示

2. 动量法(Momentum)

               m_t=\mu \ast m_{t-1}-\eta g_t

               

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深度学习中的优化方是指在训练神经网络时,通过更新模型参数来最小化损失函数的过程中所采用的算。常用的优化方包括:momentumNesterov MomentumAdaGradAdadeltaRMSprop、Adam等。 1. Momentum Momentum是一种基于梯度下降的优化方,它通过引入动量来加速收敛。在更新模型参数时,不仅考虑当前的梯度,还考虑之前的梯度对更新方向的影响,通过累积之前的梯度,使得更新方向更加稳定,加速收敛。 2. Nesterov Momentum Nesterov MomentumMomentum的一种变体,它在更新模型参数之前,先向前“看一步”,计算模型参数在当前动量下的移动方向,然后再计算当前位置的梯度,最后根据这两个信息来更新模型参数。相比于MomentumNesterov Momentum能够更快地收敛。 3. AdaGrad AdaGrad是一种自适应学习率的优化方,它通过动态地调整学习率来适应不同参数的更新需求。具体地说,它将学习率分别应用于每个参数的更新量上,使得每个参数的学习率随着训练的进行不断减小,从而减少参数更新的震荡。 4. Adadelta Adadelta也是一种自适应学习率的优化方,它和AdaGrad不同之处在于,它不仅考虑了过去的梯度信息,还考虑了过去的参数更新信息。具体地说,它通过维护一个累积梯度平方的指数衰减平均值和一个累积参数更新平方的指数衰减平均值,来动态调整学习率和更新量,使得参数更新更加平稳。 5. RMSprop RMSprop也是一种自适应学习率的优化方,它和Adadelta类似,但只考虑了过去的梯度信息,没有考虑过去的参数更新信息。具体地说,它通过维护一个梯度平方的指数衰减平均值来动态调整学习率,使得参数更新更加平稳。 6. Adam Adam是一种结合了MomentumRMSprop的优化方,它不仅考虑了梯度的一阶矩和二阶矩信息,还引入了偏置修正,使得参数更新更加准确。相比于其他优化方Adam不仅收敛速度快,还具有较好的性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值