02.改善深层神经网络:超参数调试、正则化以及优化 W2.优化算法

2021-02-19 14:38:22 浏览数 (1)

文章目录

    • 1. Mini-batch 梯度下降
    • 2. 理解 mini-batch 梯度下降
    • 3. 指数加权平均数
    • 4. 理解指数加权平均数
    • 5. 指数加权平均的偏差修正
    • 6. 动量Momentum梯度下降法
    • 7. RMSprop
    • 8. Adam 优化算法
    • 9. 学习率衰减
    • 10. 局部最优的问题
    • 作业

参考: 吴恩达视频课 深度学习笔记

1. Mini-batch 梯度下降

在巨大的数据集上进行训练,速度非常慢,如何提高效率?

前面我们学过向量化可以较快的处理整个训练集的数据,如果样本非常的大,在进行下一次梯度下降之前,你必须完成前一次的梯度下降。如果我们能先处理一部分数据,算法速度会更快。

  • 把训练集分割为小一点的子集(称之 mini-batch)训练

batch 梯度下降法:指的就是前面讲的梯度下降法,可以同时处理整个 训练集 mini-batch:每次处理的是单个的 mini-batch 训练子集

2. 理解 mini-batch 梯度下降

mini-batch 梯度下降,每次迭代后 cost 不一定是下降的,因为每次迭代都在训练不同的样本子集,但总体趋势应该是下降的

mini-batch 的 size 大小:

  • 大小 = m,就是batch梯度下降法
  • 大小 = 1,就是随机梯度下降

3. 指数加权平均数

4. 理解指数加权平均数

5. 指数加权平均的偏差修正

6. 动量Momentum梯度下降法

思想:计算梯度的指数加权平均数,利用该梯度更新权重

上图情况下,标准的梯度下降会上下波动,且要使用较小的学习率,否则会偏离更远。

如果我们使用过去梯度的加权平均,纵向的就抵消了一些,横向的叠加了一些,可以更平滑的快速找向最优点

RMSpropMomentum 有很相似的一点,可以消除梯度下降和mini-batch梯度下降中的摆动,并允许你使用一个更大的学习率,从而加快你的算法学习速度。

8. Adam 优化算法

Adam (Adaptive Moment Estimation) 优化算法基本上就是将 Momentum 和 RMSprop 结合在一起

Adam算法结合了 Momentum 和 RMSprop 梯度下降法,并且是一种极其常用的学习算法 其被证明能有效适用于不同神经网络,适用于广泛的结构

超参数:

9. 学习率衰减

慢慢减少 学习率 的本质在于,在学习初期,使用较大的步伐,开始收敛的时候,用小一些的学习率能让步伐小一些

  • 对不同的 mini-batch 进行训练,一次称之为 epoch

还有离散下降学习率,即 不是每步都下调学习率

10. 局部最优的问题

高维度空间中,我们不太可能遇见(概率很低)如上图所示的局部最优点,因为需要这么多的维度方向上都梯度为 0(概率很低)

所以更有可能遇到的是鞍点

基本不会遇见局部最优问题,可能遇见的是平稳段减缓了学习速度,该区域梯度接近于 0 ,要很长时间才能走出去。Momentum 或 RMSprop,Adam 能够加快速度,让你尽早 走出平稳段。

0 人点赞