Adam简要介绍

本文概述了梯度下降的基本概念,强调了其在模型参数调整中的应用。介绍了带动量的优化方法以提升收敛速度和避免局部极小值,以及Adagrad和RMSProp的自适应学习率策略。最后,Adam算法通过修正解决了冷启动问题和学习率衰减问题。
摘要由CSDN通过智能技术生成

简单概述梯度下降

它的目标是通过最小化一个损失函数来调整模型的参数,以使模型能够更好地拟合训练数据。

在梯度下降中,我们首先需要选择一个初始的模型参数值。然后,我们计算损失函数关于这些参数的梯度,即损失函数对每个参数的变化率。梯度告诉我们在当前参数值下,如果稍微改变参数,损失函数会如何变化。

接下来,我们沿着梯度的反方向更新模型参数。也就是说,我们将参数朝着能够减少损失函数的方向移动一小步。这个步长称为学习率,它决定了我们每次更新参数时应该走多远。

我们重复这个过程,不断计算梯度、更新参数,直到达到停止条件,比如达到预定的迭代次数或者损失函数已经足够小。

image-20230818070315636

梯度的下降+Momentum

梯度下降算法结合动量的优化方法可以帮助解决以下问题:

  1. 解决收敛速度慢的问题:传统的梯度下降可能会在接近最优解时收敛速度变慢。

  2. 克服局部极小值问题:梯度下降容易被困在局部极小值中,无法找到全局最优解。

  3. 平滑参数更新:参数在训练过程中的剧烈波动,提高模型的稳定性。

下面是梯度下降与动量的算法流程:

梯度小的方向自动累加,震荡方向梯度相互累加

image-20230818070248550

Adagrad

原理:震荡的方向步长很小,梯度小的方向的步长很大(本质就是自适应调节学习率)

image-20230818070843128

RMSProp

在Adagrad中可能会出现问题:随着rk的增加,步长会逐渐减少,这个会导致rk极速增大,以至于学习率的减少而无法趋近于目标点。

image-20230818071440071

使用一个衰减系数来控制rk的增加问题,随着循环的增加,由于衰减系数的作用导致历史信息的作用逐渐减少,使得学习一直处于一个良好的状态

Adam

image-20230818071920925

避免冷启动,修正使得初始启动加快

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值