【记录】动手学深度学习07

优化算法paramsstateshyperparamsoptimizer
梯度下降----
随机梯度下降----
小批量随机梯度下降----
动量法w, b速度变量vlr, momentumsgd
AdaGrad算法w, b按元素平方的累加变量slrAdagrad
RMSProp算法w, b按元素平方的指数加权移动平均slr, alphaRMSprop
AdaDelta算法w, bs, deltarhoAdadelta
Adam算法w, bv, slr, tAdam

7.4 动量法

背景:梯度下降中,自变量的迭代方向仅仅取决于自变量当前位置。

动量法在每个时间步的自变量更新量近似于将最近1/(1−γ)个时间步的普通更新量(即学习率乘以梯度)做了指数加权移动平均后再除以1−γ。所以,在动量法中,自变量在各个方向上的移动幅度不仅取决当前梯度,还取决于过去的各个梯度在各个方向上是否一致。

动量法依赖指数加权移动平均使得自变量的更新方向更加一致。

  • 动量法使用了指数加权移动平均的思想。它将过去时间步的梯度做了加权平均,且权重按时间步指数衰减。
  • 动量法使得相邻时间步的自变量更新在方向上更加一致。

7.5 AdaGrad算法

背景:梯度下降和动量法中,目标函数自变量的每一个元素在相同时间步都使用同一个学习率来自我迭代。

AdaGrad算法,它根据自变量在每个维度的梯度值的大小来调整各个维度上的学习率,从而避免统一的学习率难以适应所有维度的问题。

  • AdaGrad算法在迭代过程中不断调整学习率,并让目标函数自变量中每个元素都分别拥有自己的学习率。
  • 使用AdaGrad算法时,自变量中每个元素的学习率在迭代过程中一直在降低(或不变)。

7.6 RMSProp算法

背景:AdaGrad算法,因为调整学习率时分母上的变量st一直在累加按元素平方的小批量随机梯度,所以目标函数自变量每个元素的学习率在迭代过程中一直在降低(或不变)。因此,当学习率在迭代早期降得较快且当前解依然不佳时,AdaGrad算法在迭代后期由于学习率过小,可能较难找到一个有用的解。

RMSProp算法和AdaGrad算法的不同在于,RMSProp算法使用了小批量随机梯度按元素平方的指数加权移动平均来调整学习率。

7.7 AdaDelta算法

背景:AdaGrad算法在迭代后期可能较难找到有用解。
AdaDelta算法没有学习率超参数,它通过使用有关自变量更新量平方的指数加权移动平均的项来替代RMSProp算法中的学习率。

7.8 Adam算法

背景:Adam算法在RMSProp算法基础上对小批量随机梯度也做了指数加权移动平均。

  • Adam算法在RMSProp算法的基础上对小批量随机梯度也做了指数加权移动平均。
  • Adam算法使用了偏差修正。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值