李宏毅机器学习(深度学习)--optimization

李宏毅机器学习(深度学习)--optimization

1.local minima and saddle point

我们在上一节提到了当training data loss大的时候有optimization的问题,这次来解决这个问题。所以optimization为何导致了loss变大呢?我们之前常见的一个猜想是,我们走到一个地方,这个地方loss对参数微分为0,也就是gradient为0,从而导致我们无法再进行下一步的移动,也就是我们走到了local minima。然而这个观点有一个错误的地方就是gradient为0的地方不仅仅只出现在local minima,还有可能出现在saddle point,这两者并称为critical point。关于如何区别这两者的方法,我们是采用线性代数的一些概念,这里不在赘述。
在这里插入图片描述

2.batch and momentum

(1)batch:老师首先又提了一下batch,并且比较了small batch 和large batch的差别。small batch由于分开进行loss计算,所以很有可能能跳出stuck的状态,所以optimization表现较好。在这里插入图片描述
(2)momentum:就如同将一个铅球从山上扔下去,铅球可能并不会因为一些斜坡而停住,而会在momentum的加成下冲过斜坡,我们机器学习也可以借鉴这个方法,加上momentum来冲过gradient为0的点。
例如我们初始的点在 θ 0 \theta^0 θ0,movement m 0 = 0 m^0=0 m0=0,计算gradient g 0 g^0 g0,得到 m 1 = λ m 0 − η g 0 m^1=\lambda m^0-\eta g^0 m1=λm0ηg0,随后进行更新: θ 1 = θ 0 + m 1 \theta^1=\theta^0+m^1 θ1=θ0+m1,以此类推更新 θ 2 \theta^2 θ2 m 2 = λ m 1 − η g 1 m^2=\lambda m^1-\eta g^1 m2=λm1ηg1 θ 2 = θ 1 + m 2 \theta^2=\theta^1+m^2 θ2=θ1+m2.这个公式表明了momentum是 上一次运动的动量-gradient,也就是除了gradient还要考虑之前的运动

3.Adaptive Learning Rate

我们在上面几次讨论了local minima导致loss无法下降的问题,但其实在我们训练时,我们所遇到的挑战并不是这个问题,而是固定的学习率而导致无法前进或者进行震荡的问题。我们可以想象当gradient较低时,如果学习率过小,会导致前进步伐过慢无法到达理想地。当处于一个类似于二次函数的地方时,若学习率过大,会导致出现震荡而无法前进。这就引出了Adaptive Learning Rate来自定调节学习率。
(1)Root Mean Square: θ i t + 1 = θ i t − η t σ i t g i t \theta^{t+1}_i=\theta^{t}_i-\frac{\eta^t}{\sigma^t_i} g^t_i θit+1=θitσitηtgit其中: σ i t = 1 t + 1 ∑ i = 0 t ( g i t ) 2 \sigma^t_i=\sqrt{\frac{1}{t+1} \sum\limits_{i=0}^t{(g^t_i)^2}} σit=t+11i=0t(git)2
(2) RMSProp: θ i t + 1 = θ i t − η t σ i t g i t \theta^{t+1}_i=\theta^{t}_i-\frac{\eta^t}{\sigma^t_i} g^t_i θit+1=θitσitηtgit
其中: σ i t = α ( σ i t − 1 ) 2 + ( 1 − α ) ( g i t ) 2 \sigma^t_i=\sqrt{\alpha (\sigma^{t-1}_i)^2+(1-\alpha)(g^t_i)^2} σit=α(σit1)2+(1α)(git)2 ,其中 α \alpha α是一个超参数需要我们认为调节,这个式子表明我们是想要现在的gradient对学习率影响大还是之前的对学习率影响大,可以自行调节
(3)Adam:RMSProp+momentum

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值