深度学习相关概念:梯度下降

深度学习相关概念:梯度下降法、动量法与自适应梯度

在深度学习中,你一定听说过”梯度下降”,在绝大部分的神经网络模型里有直接或者间接地使用了梯度下降的算法。深度学习的核心:就是把数据喂给一个人工设计的模型,然后让模型自动的”学习”,通过反向传播进而优化模型自身的各种参数,最终使得在某一组参数下该模型能够最佳的匹配该学习任务。那么如果想要这个模型达到我们想要的效果,这个”学习”的过程就是深度学习算法的关键。梯度下降法就是实现该”学习”过程的一种最常见的方式,尤其是在深度学习(神经网络)模型中,BP反向传播方法的核心就是对每层的权重参数不断使用梯度下降来进行优化。虽然不同的梯度下降算法在具体的实现细节上会稍有不同,但是主要的思想是大致一样的。

  1. 梯度下降的目的

深度学习相关概念:梯度下降
  1. 梯度下降的原理

梯度下降就是寻找 损失函数的最低点。那么如何寻找损失函数的最低点呢?在这里,我们使用了微积分里 导数,通过求出函数导数的值,从而找到 函数下降的方向或者是 最低点(极值点)。

深度学习相关概念:梯度下降
计算梯度后如何找到最低点?如下图路线所示
深度学习相关概念:梯度下降
深度学习相关概念:梯度下降
深度学习相关概念:梯度下降

; 4. 梯度计算

梯度的计算分为数值法和解析法:

深度学习相关概念:梯度下降
深度学习相关概念:梯度下降
  1. 梯度下降算法的类别及计算效率

5.1 批量梯度下降(BGD)

在梯度下降的每一步中,我们都用到了所有的训练样本,我们需要进行求和运算,在梯度下降中,在计算微积分时,每一个样本都需要计算,会导致运算速度比较慢。

深度学习相关概念:梯度下降

; 5.2 随机梯度下降(SGD)

随机梯度下降法和批量梯度下降法是两个极端,批量梯度下降每次采用所有数据下降,随机梯度下降 每次用一个样本来梯度下降

  • 训练速度:随机梯度下降法由于每次仅仅采用一个样本来迭代, 训练速度很快
  • 精准度:随机梯度下降法每次训练仅仅用一个样本决定梯度的方向,可能 得到局部最小值,精准度不高。
  • 收敛速度:由于随机梯度下降法一次迭代一个样本,导致迭代方向变化很大, 不能很快的收敛到局部最优解

深度学习相关概念:梯度下降

5.3 小批量梯度下降(MBGD)

小批量梯度下降每次迭代使用一个以上但又不是全部的样本。小批量梯度下降是集中了随机梯度下降(SGD)和批量梯度下降(BGD)的 优点:使用多个样本相比SGD提高了梯度估计的精准度,小批量的估计。 缺点:同SGD一样,每次梯度的方向不确定 加粗样式,可能 陷入局部最优。通常在使用MBGD之前 先将数据随机打乱,然后 划分Mini-batch,所以MBGD有时也称SGD。Mini-batch 大小的选择通常使用 2的幂数,可以获得更少的运行时间。

深度学习相关概念:梯度下降
但是梯度下降3种算法都有缺点,都可能会陷入局部最优或者计算量大。应该如何改进?
目前人们已经提出动量法和自适应梯度来解决本文中的问题。详情见我的下一篇博客——深度学习相关概念:动量法与自适应梯度

Original: https://blog.csdn.net/muye_IT/article/details/123525536
Author: Jasper0420
Title: 深度学习相关概念:梯度下降

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/689751/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球