台大李宏毅课程笔记3——New Optimization for Deep Learning深度学习新优化

本次笔记主要包含两节课:

https://www.bilibili.com/video/BV1JE411g7XF?p=8

https://www.bilibili.com/video/BV1JE411g7XF?p=9

SGD with Momentum(SGDM)

SGDM通俗的讲就是在本次计算的偏导和learningrate的基础上,加上上一次的运动长度,也就是保持原来的运动趋势。
下面两个图是对比SGDM和SGD,可以比较容易看出区别。

在这里插入图片描述
下面这个图给出了一些情况下SGDM的优势:

  1. 1号位置可以看出本次的偏导比较小,本次应该运动缓慢,但是现在距离目标还较远,所以应该大步长更优,在SGDM上,刚好加上之前的大步长,保持了较高的运动速度,就提高了缓坡平原的速度;
  2. 2号位置是个局部极值点,SGD在这里就不会动了,但是,图中右侧有更优值,在SGDM算法下,本次加速0,加上原本的速度,可以维持原速度冲过局部极值点;
  3. 3号位置本次偏导反向指向局部极值,也是由于原有速度,冲过了小的边界,发现了更优值。
    但是,这个图是刚好适合SGDM的,改变图形后,SGDM有可能反而使结果陷入了本不该陷入的局部极值。不过思考下来,SGDM是让参数整体更活跃了,无论平坦和局部极值的小的梯度都被本身携带的上次动能增大了运动效果,从而提高了速度和精度。

在这里插入图片描述

RMSProp

这个方式主要是Adagrad的改进,主要是为了避免由于迭代初期g过大,导致后来加入的g对均方根几乎没啥影响了。RMSProp主要是逐渐削弱之前的g的影响,保持新的g的影响是比较大的。

在这里插入图片描述

Adam

在这里插入图片描述

SWATS

老师介绍说,Adam前期快,SGDM平稳后期更优,所以有些结合方法,SWATS就是其中之一。

在这里插入图片描述

AdaXXX

其他Adam改进都是动态改进learning rate。希望在远距离时取大的,需要精度的时候取小值。
https://www.bilibili.com/video/BV1JE411g7XF?p=8
其他改进方法在视频最后45:00之后的部分。
总之就是各种动态调整Learning rate,比如加阈值,虽循环改变,或者具备周期调整等。

Adam分析

由于,Adam的机制,会考虑历史的大量的梯度影响,在出现一个真正有意义的重要的梯度时,往往又被削弱了其影响。如图中100999次迭代,产生了超大的gradient,结果由于Adam的机制,让他呗削弱的还没有之前的小的gradient的影响大。

在这里插入图片描述

AMSGrad

AdaBound

对Learning Rate加阈值,限制其范围,避免过大和过小。

SGDM分析

Cyclical LR

就是周期性改变Learning Rate,周期性变大变小,维持其搜索速度和精度。

SGDR

一个思路,就是变大过程直接阶跃变最大。

One-Cyclical

单个周期内改变其大小。

Adam warm up

为了解决在迭代初期,参数分布不合理,提高分布合理速度。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值