深度神经网络——优化算法

好的优化算法能够让神经网络运行的更快。本篇博客根据吴恩达老师的讲解,对几种优化算法进行总结。

  • 梯度下降法
  • 指数加权平均数(预备知识)https://blog.csdn.net/v_road/article/details/95114377
  • 动量梯度下降法
  • RMSprop
  • Adam

1. Mini-batch梯度下降法

将训练集分割为小一点子集,使用梯度下降法进行训练。该过程叫做Mini-batch梯度下降
设每个子集中有m个样本(因为考虑到电脑的内存设置和使用方式,一般的mini-batch的大小m设置为62-512,通常为2的n次方。这样代码会运行地快一些。)
当m=整个训练集的大小,称为batch梯度下降
 缺点:训练样本的数量巨大时,单次迭代的耗时太长;
当m=1时,称为随机梯度下降法
 缺点:1.噪声大(可以通过减小学习率来改善或减小);
    2.因为一次只处理一个样本,失去了所有向量多带来的加速效果,效率低下。

2. 动量梯度法

基本思想:
计算梯度指数加权平均数,并利用该梯度更新权重;
更新公式:
深度神经网络——优化算法_第1张图片

3. RMSprop(Root Mean Square根均方)

基本思想:
减缓纵坐标上的学习速度,同时加快横坐标方向上的学习速度。
更新公式:
深度神经网络——优化算法_第2张图片

4. Adam

计算公式:

深度神经网络——优化算法_第3张图片

你可能感兴趣的:(深度神经网络——优化算法)