李宏毅深度学习——优化方法

m_{t+1}记录了关于梯度的历史

 

SGD 

SGD with Momentum

防止gradient为0,SGD停止不动了

sgd with momentum,前面的移动会累加到下一步

sgd with momentum,前面的移动会累加到下一步,所以小球不会卡在局部的一个最优的位置

Adagrad

前几个time step如果坡度很大,就会暴走,走到不好的位置上,有个分母就会走小步一点

RMSProp

怕使用adagrad时,一开始的坡度很大,那么步幅就会很小,走没几步就停了

 RMSProp保证分母不会无止境变大

Adam

一开始,m_{t}帽等式右边分母小于1,保证m_{t}帽一开始不为0,且不会随时间变化变得太大

adam:一开始冲的很快

sgdm:冲的不会太快,稳一些,不会有太大的上下起伏的情况 

冲的快会形成sharp mininum,generalization gap 大

冲的不快 flat mininum,generalization gap 小

combine一下,一开始用adam后面用sgdm

如何让adam像sgdm一样收敛得又快又好

 m_{t}帽等式10的5次方,v_{t}等于10^5*10^5*0.001=10^7

前面100998步都是乱走,并且走了很长,100999步才是对的,然而走了很短。

记住以前最大的grad,但是这和adagrad有一样的错误,分母容易变成0 

让learning_rate自己调整 

sgdm最后很稳,但是速度太慢了

可以通过调整learning_rate加快速度 

 learning_rate大小大小变化,周期性变化

一开始gradient很乱

方向比较乱的时候走小步一点,方向不乱的时候走大步一点

一开始用sgdm后面用adam

RAdam一开始不用Adam,因为Adam不稳,并且<4的时候是不能用RAdam 

SWATS一开始用Adam,因为Adam一开始快,后面用sgdm稳

 

 

实践中用的最多,用weight decay的效果会比较好 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值