PyTorch学习笔记7——优化与深度学习算法

7.1 梯度下降与随机梯度下降

梯度下降也叫最陡下降(steepest descent)
使用适当的学习率,沿着梯度反方向更新自变量可能降低目标函数值。梯度下降重复这一更新过程直到得到满足要求的解。
学习率过大或过小都有问题,一个合适的学习率通常需要通过多次实验找到。
当训练数据集样本较多时,梯度下降每次迭代的计算开销较大,因此随机梯度下降通常更多使用。

7.1.1 小批量随机梯度下降

小批量随机梯度下降每次随机均匀采样一个小批量的训练样本计算梯度。
在实际中,随机梯度下降的学习率可以在迭代过程中自我衰减。

7.2优化算法

7.1 动量法

动量法利用了指数加权移动平均的思想,它将过去时间步的梯度做了加权平均,且权重随时间步指数衰减。
动量法使得相邻时间步的自变量更新在方向上更加一致。
在PyTorch中,只需要通过参数momentum来指定动量超参数即可使用动量法。

7.2 ADAFRAD 算法

AdaGrad算法在迭代过程中不断调整学习率,并让目标函数自变量中每个元素都分别拥有自己的学习率。
使用该算法时,自变量中每个元素的学习率都在迭代中不断下降或者保持不变。
在PyTorch中,利用torch.optim.Adagrad即可使用该优化器。

7.3 RMSPROP 算法

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

7.4 ADADELTA算法

AdaDelta算法没有学习率超参数,它通过使用有关自变量更新量平方的指数加权移动平均的项来替代RMSProp算法中的学习率
在PyTorch中,可以利用torch.optim.Adadelta 来使用该优化器,它的超参数可以通过‘rho’来指定

7.5 ADAM算法

Adam算法在RMSProp的基础上对小批量随机梯度做了指数加权平均,同时使用了偏差修正。
在PyTorch中,可以利用torch.optim.Adam 来使用该优化器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值