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

1. 梯度下降概念

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

2. 梯度下降的目的

  在之前我们介绍过交叉熵函数,交叉熵函数就是损失函数的一种,损失函数用来衡量模型的精确度。一般来说,损失函数的值越小,我们训练的模型的精确度就越高。如果要提高模型的精确度,就需要尽可能降低损失函数的值。而降低损失函数的值,我们一般采用梯度下降这个方法。所以,梯度下降的目的,就是最小化损失函数。在这里插入图片描述

3. 梯度下降的原理

梯度下降就是寻找损失函数的最低点。那么如何寻找损失函数的最低点呢?在这里,我们使用了微积分里导数,通过求出函数导数的值,从而找到函数下降的方向或者是最低点(极值点)。
在这里插入图片描述
计算梯度后如何找到最低点?如下图路线所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

4. 梯度计算

梯度的计算分为数值法和解析法:
在这里插入图片描述
在这里插入图片描述

5. 梯度下降算法的类别及计算效率

5.1 批量梯度下降(BGD)

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

5.2 随机梯度下降(SGD)

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

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

在这里插入图片描述

5.3 小批量梯度下降(MBGD)

小批量梯度下降每次迭代使用一个以上但又不是全部的样本。小批量梯度下降是集中了随机梯度下降(SGD)和批量梯度下降(BGD)的优点:使用多个样本相比SGD提高了梯度估计的精准度,小批量的估计。缺点:同SGD一样,每次梯度的方向不确定加粗样式,可能陷入局部最优。通常在使用MBGD之前先将数据随机打乱,然后划分Mini-batch,所以MBGD有时也称SGD。Mini-batch 大小的选择通常使用2的幂数,可以获得更少的运行时间。
在这里插入图片描述
但是梯度下降3种算法都有缺点,都可能会陷入局部最优或者计算量大。应该如何改进?
目前人们已经提出动量法和自适应梯度来解决本文中的问题。详情见我的下一篇博客——深度学习相关概念:动量法与自适应梯度

  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AiCharm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值