吴恩达深度学习 2.2 改善深度神经网络-优化算法

1. 知识点

  • Mini-batch梯度下降法

         普通梯度下降法,每一步梯度下降都要对训练集的所有样本进行运算。

         Mini-batch梯度下降法,每一步梯度下降选择训练集样本的子集进行运算。

        Mini-batch梯度下降的算法实现:打乱训练集、对训练集进行切分(比如,切分为64个子集)、更新参数时每次选择一个子集进行运算。

吴恩达深度学习 2.2 改善深度神经网络-优化算法 

        普通梯度下降、随机梯度下降、Mini-batch梯度下降成本函数的比较:普通梯度下降每一次训练时间较长,成本递减;随机梯度下降成本总体趋势向下,呈波动状态;Mini-batch在前两者之间做到一个平衡。

      Mini-batch大小的选择:如果样本数较小,选择普通梯度下降。切分的子集的样本数,要符合CPU/GPU的运算能力。

  • 指数加权平均:将离散波动的观测值变得平滑。

        同时考虑当前观测值和前n个观测值的平均值,对两者进行加权运算,获得指数加权平均值。吴恩达深度学习 2.2 改善深度神经网络-优化算法

        偏差修正:由于吴恩达深度学习 2.2 改善深度神经网络-优化算法=0 ,且吴恩达深度学习 2.2 改善深度神经网络-优化算法较大,t较小时,吴恩达深度学习 2.2 改善深度神经网络-优化算法会明显小于吴恩达深度学习 2.2 改善深度神经网络-优化算法,需要修改。修正函数为吴恩达深度学习 2.2 改善深度神经网络-优化算法。随着t的增大,吴恩达深度学习 2.2 改善深度神经网络-优化算法接近于0 ,不再起到修正作用。

吴恩达深度学习 2.2 改善深度神经网络-优化算法

  • 动量梯度下降法:为了减小梯度下降时成本函数上下波动幅度,将指数加权平均用在计算梯度上。吴恩达深度学习 2.2 改善深度神经网络-优化算法吴恩达深度学习 2.2 改善深度神经网络-优化算法吴恩达深度学习 2.2 改善深度神经网络-优化算法吴恩达深度学习 2.2 改善深度神经网络-优化算法
  • RMSprop优化算法:(为啥这样更新能起到减小成本波动的作用,没想明白??)

吴恩达深度学习 2.2 改善深度神经网络-优化算法

  •  Adam优化算法:将动量梯度下降法和RMSprop结合起来。

        用动量梯度下降计算吴恩达深度学习 2.2 改善深度神经网络-优化算法,用RMSprop计算吴恩达深度学习 2.2 改善深度神经网络-优化算法,分别修偏差,吴恩达深度学习 2.2 改善深度神经网络-优化算法吴恩达深度学习 2.2 改善深度神经网络-优化算法,更新参数吴恩达深度学习 2.2 改善深度神经网络-优化算法

  • 学习率衰减:用固定的学习率,当算法在到达最小值附近时,由于噪声存在,使得不会精确收敛,而是会在最小值附近一定范围内波动。学习率衰减,可以让波动减小,计算结果更接近最小值。
  • 局部最优

        存在一些局部最小值点,其梯度为0。

        在高维度的函数中,会存在一些梯度为0的点,并不是局点最小值点,而是在有些维度局部最小,在有些维度局部最大,这样的点为鞍点。

 

        

        

 

 

 

上一篇:深度学习基础--多层感知机(MLP)


下一篇:深度学习 | 三个概念:Epoch, Batch, Iteration