第二门课-第二周

第二周

第二周主要学习如何优化算法,优化算法能够让你快速训练模型,主要分三类:

  • Mini-batch
  • 指数加权平均(Momentum,RMSprop,Adam)
  • 学习率衰减

2.1 Mini-batch梯度下降&理解

  • 迭代中的cost一定是逐渐减小
  • 三种梯度下降方法(Batch,随机梯度,Mini-Batch),cost图如下:
    • 蓝色为常用Batch方式,梯度不会抖动,缺点是每次迭代是全部样本比较慢,一次迭代只改变一次梯度
    • 紫色为随机梯度,每次一个样本,这种方式cost的计算抖动比较大,在最优点附近也是抖动,并不会停留在此
    • 绿色为Mini-batch方式:
      • 也会出现抖动,因为Cost的计算是随意加入的样本,而每次epom样本都在变化。
      • 它也不一定会在很小范围内收敛或者波动,这种情况就可以考虑减小学习率了
      • Mini-batch size选择,一般选择2n,64–512比较常见
    • 三种方式如何选择,主要还是看样本量,一般随机梯度不会选,如果样本量\<2000,选择Batch,否则选择Mini-batch

2.3 指数加权平均数 & 理解

  • 也叫做移动平均值,就是计算局部范围的平均值:$v_t=\beta v_{t-1}+(1-\beta)\theta_{t-1}$(公式1),其中$\frac 1{(1-\beta)}$代表的所要计算的平均范围(这结论数学推导可查阅资料),比如计算温度的指数加权平均>值 $\theta=0.9$,那么$\frac 1{(1-\beta)}=10$,表示计算的10的平均温度

2.5 指数加权平均的偏差修正

  • 蓝色是没有添加指数加权平均的各个离散点,红色为$\beta=0.9$的加权平均值曲线,绿色为$\beta=0.98$加权平均值曲线,紫色为$\beta=0.98$并且进行修正后的加权平均值曲线

  • 上图可以看见绿色和紫色的区别是在初始阶段,通过公式(1)计算得到的$v_0,v_1$和实际值差别是比较大的,造成了前面几个数不太准确,方法:使用$\frac{v_t}{1-\beta_t}$而不是直接用$v_t$进行评估,可以看见初期比较准确,然后后期$\beta_t$很小,所以$\frac{v_t}{1-\beta_t}\approx{v_t}$

2.6 动态梯度下降

  • 目的:想让在x方向上梯度变化大一点,但是在纵轴方向,来回抖动,想要修正y方向上的抖动。方案:在x,y轴分别使用2.5中的指数加权平均法,对y轴的正负抖动进行抵扣平均,达到y轴抖动较小目的:
    $v_{dw}=\beta v_{dw-1}+(1-\beta)d_{dw-1}$
    W=W-$\alpha v_{dw}$
    $v_{db}=\beta v_{db-1}+(1-\beta)d_{db-1}$
    b=b-$\alpha v_{db}$
  • 假设W,b分别表示x,y轴。看下面计算公式,其中学习率$\alpha$也是有影响的,会在下面介绍

2.7 RMSprop

  • RMSprop是微分平方加权平均:
    $S_{dw}=\beta S_{dw-1}+(1-\beta)d_{dw-1}^2$ 1式
    W=W-$\alpha \frac{dw}{\sqrt S_{dw} + \epsilon}$ 2式($\epsilon$避免非0,一般$10^{-8}$)
    $v_{db}=\beta v_{db-1}+(1-\beta)d_{db-1}^2$
    和动态梯度下降区别:
    • 并不是正负抵消,这些计算的是微分平方加权平均,然后计算梯度变化的时候除以平方根
    • 原理(我理解就是将大值调小,小值调大)
      • 如果dw大,那么1式结果$S_{dw}$也会比较大,但2式结果W就会小
      • 如果dw小,那么1式结果$S_{dw}$也会比较小,但2式结果W就会大
  • RMSprop我理解就是将大值调小,小值调大,个人觉得Momentum(平均后正负抵消)更有效

2.8 Adam优化算法

  • Momentum与RMSprop的结合
  • 其中有多个超参数及默认值α,β1​(0.9),β2​(0.98),ϵ(10−8)

2.9 学习率衰减

  • 如果学习率α一直是一个值,在使用Mini-batch方法的时候,就会在收敛值附件波动,根本原因就是在收敛期α过大,变化过多的原因
  • 动态变化α值,开始α希望较大,收敛时α逐渐变小,类似于绿色曲线,在收敛值较小范围波动

2.10 局部最优问题

  • 担忧深度学习优化算法总是困在极差的局部最优
  • 通常梯度为0的点并不是局部最优点,实际上成本函数的零梯度点,即鞍点
  • 普通优化算法一般都是沿着蓝色点坡度向下,比较难走出平稳期。为什么Momentum,RMSprop和Adam能尽早往下坡出平稳期?