深度学习中epoch、batch、batch size和iterations详解

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

1.epoch

在训练一个模型时所用到的全部数据;

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

epochs:

epochs被定义为向前和向后传播中所有批次的单次训练迭代。这意味着一个周期是整个数据的单次向前和向后传递。简单说,epochs指的就是训练过程中数据将被“轮”多少次,就这样。

2.batch

Keras中参数更新是按批进行的,就是小批的梯度下降算法。如果准备跑模型的数据量太大,此时自己的电脑可能承受不住,所以可以适当的将数据分成几块,就是分成几个batch。每次的参数更新有两种方式:

第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为批梯度下降。

另一种,每看一次数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,这个方法速度比较快,但是瘦脸性能不太好,可能在最优点附近晃来晃去,找不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。 

3.batch size

一个batch中的数据量大小即为batch size,一般为2n,比如32,64,128等等。

4.iterations

iterations(迭代):每一次迭代都是一次权重更新,每一次权重更新需要batch_size个数据进行Forward运算得到损失函数,在BP算法更新参数。1个iteration等于使用batchsize个样本训练一次。

迭代,即batch size需要完成一次epoch的次数

(ps:其实对于一个epoch来说,batch和iterations数值上是相等的)

 文章来源地址https://www.toymoban.com/news/detail-424873.html

以下为上述知识的两个问题:

问题一:比如现在我们有一个2000大小的训练样本,然后我们将这2000个样本分成4个大小为500的小数据集样本,此时epoch=1(暂且就用这个样本训练1次)。

请问以下数值分别为多少:①batch;②batch size;③iterations;

问题二:Fashion Mnist数据集有70000个灰度图像,其中60000张图片作为训练数据,10000张图片作为测试数据。假设现在选择Batch Size=100对模型进行训练。迭代30000次。

每个Epoch要训练的图片数量:60000(训练集上的所有图像)

请问:①训练集具有的Batch个数;②每个Epoch需要完成的Batch个数;③每个Epoch具有的Iteration个数;④每个Epoch中发生模型权重更新的次数;⑤训练10个Epoch后,模型权重更新的次数;

答案公布于评论区。

总结:

1)不同Epoch的训练,其实用的是同一个训练集的数据。

2)第1个Epoch和第10个Epoch虽然用的都是训练集的60000张图片,但是对模型的权重更新值确是完全不同的。

3)因为不同Epoch的模型处于代价函数空间上的不同位置,模型的训练迭代越靠后,越接近低谷,其代价越小。

4)总共完成30000次迭代,相当于完成了30000/600=50个Epoch。

 

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

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

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

相关文章

  • 【深度学习】神经网络中 Batch 和 Epoch 之间的区别是什么?我们该如何理解?

    随机梯度下降(Stochastic Gradient Descent,SGD)是一种优化算法,用于在机器学习和深度学习中更新模型参数,以最小化损失函数。与传统的梯度下降算法不同,SGD在每次参数更新时只使用一个样本(或一小批样本),而不是使用整个训练数据集。这使得SGD具有更快的收敛速度,

    2024年02月10日
    浏览(29)
  • 深度学习中,什么是batch-size?如何设置?

    batch-size 是深度学习模型在训练过程中一次性输入给模型的样本数量。它在训练过程中具有重要的意义,影响着训练速度、内存使用以及模型的稳定性等方面。 以下是 batch-size 大小的一些影响和意义: 训练速度 :较大的 batch-size 通常可以加快训练速度,因为在每次迭代中处

    2024年02月12日
    浏览(26)
  • 关于yolov5训练时参数workers和batch-size的理解

    yolov5的训练很简单,下载好仓库,装好依赖后,只需自定义一下data目录中的yaml文件就可以了。这里我使用自定义的my.yaml文件,里面就是定义数据集位置和训练种类数和名字。 一般训练主要需要调整的参数是这两个: workers 指数据装载时cpu所使用的线程数,默认为8。代码解

    2023年04月13日
    浏览(21)
  • 神经网络中epoch、batch、batchsize区别

    目录 1 epoch 2 batch 3 batchsize 4 区别 当数据集中的 全部数据样本通过神经网络一次并且返回一次的过程即完成一次训练 称为一个epoch。 当我们分批学习时,每次使用过全部训练数据完成一次Forword运算以及一次BP运算,称为完成了一次epoch。 epoch时期 = 所有训练样本的一个正向传

    2024年02月08日
    浏览(24)
  • 深度学习Batch Normalization

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

    2024年02月12日
    浏览(26)
  • Batch_size一些说明跟作用

    Batch_size对loss下降有影响。Batch_size是指每次迭代时所使用的样本数量。当Batch_size较大时,每次迭代可以处理更多的样本,因此可以更快地更新模型参数,加快训练速度。但是,较大的Batch_size也可能会导致模型在训练过程中陷入局部最优解,并且可能会导致模型泛化能力下降

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

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

    2024年02月10日
    浏览(25)
  • PyTorch深度学习实战(1)——神经网络与模型训练过程详解

    人工神经网络 ( Artificial Neural Network , ANN ) 是一种监督学习算法,其灵感来自人类大脑的运作方式。类似于人脑中神经元连接和激活的方式,神经网络接受输入,通过某些函数在网络中进行传递,导致某些后续神经元被激活,从而产生输出。函数越复杂,网络对于输入的数据拟

    2024年02月06日
    浏览(32)
  • 深度学习记录--mini-batch gradient descent

    batch:段,块 与传统的batch梯度下降不同,mini-batch gradient descent将数据分成多个子集,分别进行处理,在 数据量非常巨大 的情况下,这样处理可以及时进行梯度下降,大大加快训练速度 两种方法的梯度下降图如下图所示 batch gradient descent是一条正常的 递减 的曲线 mini-batch

    2024年01月21日
    浏览(38)
  • dictionary changed size during iteration 报错

    当使用 for 循环遍历一个字典(dict)时,如果在循环过程中对字典进行了修改,就会出现 dictionary changed size during iteration 错误。这是因为在 Python 中,字典的遍历是通过迭代器实现的,而在迭代过程中不能修改字典的大小。 例如,以下示例代码会引发该错误: 上述示例代码中

    2024年02月09日
    浏览(28)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包