深度学习记录--mini-batch gradient descent

这篇具有很好参考价值的文章主要介绍了深度学习记录--mini-batch gradient descent。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

batch vs mini-batch gradient descent

batch:段,块

与传统的batch梯度下降不同,mini-batch gradient descent将数据分成多个子集,分别进行处理,在数据量非常巨大的情况下,这样处理可以及时进行梯度下降,大大加快训练速度

深度学习记录--mini-batch gradient descent,深度学习记录,深度学习,batch,人工智能

mini-batch gradient descent的原理

两种方法的梯度下降图如下图所示深度学习记录--mini-batch gradient descent,深度学习记录,深度学习,batch,人工智能

batch gradient descent是一条正常的递减的曲线

mini-batch gradient descent是一条噪声很大的曲线,分成许多小段时,每个小段是一条batch gradient descent曲线,总体看这条曲线还是递减的趋势

为什么会有区别呢?

mini-batch gradient descent中的,可能容易计算,也可能很难计算,这就导致cost时高时低,出现摆动,其实主要是mini-batch的大小的原因

mini-batch size

当size=m,mini-batch gradient descent变为batch gradient descent

梯度下降的噪声更小步长更大,最终会收敛于最小值(如下图蓝色曲线)

弊端:如果数据量很大时,单次迭代时间过长

当size=1,变为随机梯度下降(stochastic gradient descent),每个样本都是独立的

每个样本都是随机的,可能靠近最小值,也可能远离最小值,噪声很大无法收敛,最终在最小值附近波动(如下图紫色曲线)

弊端:由于每次只处理一个训练样本,失去了向量化的加速效果,训练效率过低

合适的size-->between1 and m

既可以获得向量化的加速效果,又可以及时进行后续操作(减少单次迭代时间)

梯度下降图如下图绿色曲线(噪声相对随机梯度下降较小,最终不会收敛,在最小值附近波动

深度学习记录--mini-batch gradient descent,深度学习记录,深度学习,batch,人工智能文章来源地址https://www.toymoban.com/news/detail-809932.html

到了这里,关于深度学习记录--mini-batch gradient descent的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 梯度下降算法(Gradient descent)

         首先,我们需要明确梯度下降就是求一个函数的最小值,对应的梯度上升就是求函数最大值。简而言之: 梯度下降的目的就是求函数的极小值点, 例如在最小化损失函数或是线性回归学习中都要用到梯度 下降算法。       ##梯度下降算法作为很多算法的一个关键环节

    2024年01月16日
    浏览(48)
  • PGD(projected gradient descent)算法源码解析

    论文链接:https://arxiv.org/abs/1706.06083 源码出处:https://github.com/Harry24k/adversarial-attacks-pytorch/tree/master PGD算法(projected gradient descent)是在BIM算法的基础上的小改进,二者非常相近,BIM算法的源码解析在上一篇博客中,建议先看上一篇博客理解BIM算法的原理。 具体来说,在BIM算

    2024年01月24日
    浏览(47)
  • 随机梯度下降算法SGD(Stochastic gradient descent)

    SGD是什么 SGD是Stochastic Gradient Descent(随机梯度下降)的缩写,是深度学习中常用的优化算法之一。SGD是一种基于梯度的优化算法,用于更新深度神经网络的参数。它的基本思想是,在每一次迭代中,随机选择一个小批量的样本来计算损失函数的梯度,并用梯度来更新参数。这

    2024年02月11日
    浏览(34)
  • 机器学习之SGD(Stochastic Gradient Descent,随机梯度下降)

    SGD(Stochastic Gradient Descent,随机梯度下降)是深度学习中最基本的优化算法之一。它是一种迭代式的优化方法,用于训练神经网络和其他机器学习模型。以下是关于SGD优化器的重要信息: 基本原理 :SGD的基本思想是通过不断调整模型参数来最小化损失函数。它每次迭代时从

    2024年02月11日
    浏览(41)
  • 【Matlab算法】梯度下降法(Gradient Descent)(附MATLAB完整代码)

    梯度下降法 是一种用于最小化函数的迭代优化算法。其基本思想是通过计算函数的梯度 (导数),找到函数的最小值点。在梯度下降法中,参数(或变量)沿着负梯度的方向进行更新,以降低函数值。 以下是梯度下降法的基本描述: 选择初始点: 选择一个初始点作为优化的起

    2024年01月19日
    浏览(44)
  • 深度学习Batch Normalization

    批标准化(Batch Normalization,简称BN)是一种用于深度神经网络的技术,它的主要目的是解决深度学习模型训练过程中的内部协变量偏移问题。简单来说,当我们在训练深度神经网络时,每一层的输入分布都可能会随着前一层参数的更新而发生变化,这种变化会导致训练过程变

    2024年02月12日
    浏览(34)
  • 深度学习中epoch、batch、batch size和iterations详解

    1.epoch 在训练一个模型时所用到的全部数据; 备注:一般在训练时都要使用多于一个的epoch,因为在神经网络中传递完整的数据集仅仅一次是不够的,只有将完整的数据集在同样的神经网络中传递多次,才会得到比较优秀的训练效果,当然也不行,容易过拟合,所以要根据实

    2023年04月25日
    浏览(35)
  • 【深度学习】5-3 与学习相关的技巧 - Batch Normalization

    如果为了使各层拥有适当的广度,“强制性”地调整激活值的分布会怎样呢?实际上, Batch Normalization 方法就是基于这个想法而产生的 为什么Batch Norm这么惹人注目呢?因为Batch Norm有以下优点: 可以使学习快速进行(可以增大学习率)。 不那么依赖初始值(对于初始值不用那么神

    2024年02月10日
    浏览(38)
  • 深度学习中Epoch和Batch Size的关系

    在深度学习中,Epoch(周期)和 Batch Size(批大小)是训练神经网络时经常使用的两个重要的超参数。它们之间的关系是通过以下方式连接的: Epoch 表示整个训练数据集被神经网络完整地通过了一次。在一个 Epoch 内,神经网络会看到训练数据集中的所有样本一次,进行前向传

    2024年01月16日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包