神经网络常见参数解释:epoch、batch、batch size、step、iteration

本文介绍在机器学习、深度学习的神经网络模型中,epochbatchbatch sizestepiteration等名词的具体含义。

epoch:表示将训练数据集中的所有样本都过一遍 (且仅过一遍 )的训练过程。在一个epoch中,训练算法会按照设定的顺序将所有样本输入模型进行前向传播、计算损失、反向传播和参数更新。一个epoch通常包含多个step

batch:一般翻译为"批次 ",表示一次性输入模型一组样本 。在神经网络的训练过程中,训练数据往往是很多的,比如几万条甚至几十万条------如果我们一次性将这上万条的数据全部放入模型,对计算机性能、神经网络模型学习能力等的要求太高了;那么就可以将训练数据划分为多个batch,并随后分批将每个batch的样本一起输入到模型中进行前向传播、损失计算、反向传播和参数更新。但要注意,一般batch这个词用的不多,多数情况大家都是只关注batch size的。

batch size:一般翻译为"批次大小 ",表示训练过程中一次输入模型 的一组样本的具体样本数量 。前面提到了,我们在神经网络训练过程中,往往需要将训练数据划分为多个batch;而具体每一个batch有多少个样本,那么就是batch size指定的了。

step:一般翻译为"步骤 ",表示在一个epoch中模型进行一次参数更新 的操作。通俗地说,在神经网络训练过程中,每次完成对一个batch数据的训练,就是完成了一个step。很多情况下,stepiteration表示的是同样的含义。

iteration:一般翻译为"迭代 ",多数情况下就表示在训练过程中经过一个step的操作。一个iteration包括了一个step中前向传播、损失计算、反向传播和参数更新的流程。当然,在某些情况下,stepiteration可能会有细微的区别------有时候iteration是指完成一次前向传播和反向传播的过程,而step是指通过优化算法对模型参数进行一次更新的操作。但是绝大多数情况下,我们就认为二者是一样的即可。

以上是对这些名词的解释,我们将他们带入实际的例子就更好理解了。

假设我们现在有一个训练数据集 (这个数据集不包括测试集),其中数据的样本数量为1500。那么,我们将这1500条数据全部训练1次,就是一个epoch。其中,由于数据量较大(其实1500个样本在神经网络研究中肯定不算大,但是我们这里只是一个例子,大家理解即可),因此我们希望将其分为多个batch,分批加以训练;我们决定每1批训练100条数据,那么为了将这些数据全部训练完,就需要训练15批------在这里,batch size就是100,而batch就是15。而前面我们提到,每次完成对一个batch数据的训练,就是完成了一个step,那么stepiteration就也都是15

以上是我们对这一数据集加以1次训练(1epoch)的情况,而一般情况下我们肯定是需要训练多次的,也就是多个epoch。我们假设我们需要训练3epoch,相当于需要将这1500个样本训练3次。那么,stepiteration都会随着epoch的改变而发生改变------二者都变为45,因为15 * 3。但是,batch依然是15,因为其是在每一个epoch的视角内来看待的,和epoch的具体大小没有关系。

至此,大功告成。

相关推荐
小马过河R1 小时前
AIGC视频生成之Deepseek、百度妙笔组合实战小案例
人工智能·深度学习·计算机视觉·百度·aigc
东经116度2 小时前
生成对抗网络(GAN)
深度学习·gan·模式崩塌
王哈哈^_^2 小时前
【数据集】【YOLO】【目标检测】农作物病害数据集 11498 张,病害检测,YOLOv8农作物病虫害识别系统实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·1024程序员节
湘-枫叶情缘2 小时前
宫殿记忆术AI训练系统:可扩展的终身记忆框架
人工智能·深度学习
Dev7z3 小时前
基于Swin Transformer的糖尿病视网膜病变影像分类与诊断系统
人工智能·深度学习·transformer
B站_计算机毕业设计之家3 小时前
预测算法:股票数据分析预测系统 股票预测 股价预测 Arima预测算法(时间序列预测算法) Flask 框架 大数据(源码)✅
python·算法·机器学习·数据分析·flask·股票·预测
GG向前冲3 小时前
【大数据】Spark MLlib 机器学习流水线搭建
大数据·机器学习·spark-ml
深蓝岛3 小时前
目标检测核心技术突破:六大前沿方向
论文阅读·人工智能·深度学习·计算机网络·机器学习
晚霞apple3 小时前
特征融合与目标检测的六大创新方向
论文阅读·人工智能·深度学习·神经网络·机器学习
Theodore_10224 小时前
神经学习(4)神经网络的向量化实现与TensorFlow训练流程
人工智能·深度学习·机器学习·计算机视觉·线性回归