深度学习中epoch、batch、step、iteration等神经网络参数是什么意思?

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

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

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

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

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

相关推荐
147API36 分钟前
蒸馏项目什么时候该停,怎样切换到RAG、微调或模型路由
人工智能·深度学习·机器学习·数据挖掘
YOLO视觉与编程1 小时前
YOLO / Labelme目标分割数据集增强扩充软件v1.0.0适用于YOLO全版本
人工智能·深度学习·yolo·计算机视觉
茗鹤APS和MES2 小时前
工业排产:AI可赋能,APS不可替代
人工智能·深度学习·机器学习
zx_741484813 小时前
【机器学习入门】PyTorch 神经网络、卷积神经网络 CNN 实现矿物分类
pytorch·神经网络·机器学习
程序猿编码3 小时前
基于GGML的C++17轻量化语音推理引擎:说话人识别与语音分析技术全解析
开发语言·c++·pytorch·深度学习·神经网络·大模型
jay神3 小时前
深度学习如何确定Batch Size的大小?
人工智能·深度学习·计算机视觉·毕业设计·课程设计·batch
AI人工智能+4 小时前
证件阅读机,通过光学扫描、AI大脑、芯片感应三双“眼睛”协同工作,借助深度学习OCR引擎完成证卡识别与结构化输出
深度学习·ocr·智能硬件·证件阅读机
ai小陈4 小时前
PyTorch实验可复现实战:随机种子、依赖锁定与配置归档
人工智能·pytorch·python·深度学习·ai·gpu算力
Carol06304 小时前
神经网络、激活函数:ReLU / SiLU / GELU
人工智能·深度学习·神经网络
Zzj_tju5 小时前
Prompt Injection 防御:隔离不可信上下文的最小复现
人工智能·深度学习·机器学习·自然语言处理·prompt