当前位置: 首页 > news >正文

深度学习中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 累加一次

http://www.lryc.cn/news/154372.html

相关文章:

  • 『SpringBoot 源码分析』run() 方法执行流程:(2)刷新应用上下文-准备阶段
  • WordPress Page Builder KingComposer 2.9.6 Open Redirection
  • 第五章:中国革命新道路
  • PMP-沟通管理的重要性
  • 【Sentinel】降级源码:插槽DegradeSlot与断路器的实现
  • 【Apollo】开启Apollo之旅:让自动驾驶如此简单
  • maven搭建spring项目
  • Java“牵手”阿里巴巴商品详情数据,阿里巴巴商品详情API接口,阿里巴巴国际站API接口申请指南
  • MYSQL调优之思路----sql语句和索引调优
  • 论文阅读_变分自编码器_VAE
  • springboot整合elasticsearch使用案例
  • Unity制作下雨中的地面效果
  • windows从0搭建python3开发环境与开发工具
  • centos中得一些命令 记录
  • Python实现Word、Excel、PPT批量转为PDF
  • LLM大模型推理加速 vLLM
  • Python|小游戏之猫捉老鼠!!!
  • 万里路,咫尺间:汽车与芯片的智能之遇
  • Ubuntu22.04.1上 mosquitto安装及mosquitto-auth-plug 认证插件配置
  • CCKS2023:基于企业数仓和大语言模型构建面向场景的智能应用
  • LeetCode 热题 100——无重复字符的最长子串(滑动窗口)
  • 【zookeeper】zookeeper的shell操作
  • R语言Meta分析核心技术
  • Oracle数据库尚硅谷学习笔记
  • CG MAGIC进行实体渲染后!分析渲染器CR和VR的区别之处!
  • Ubuntu下Python3与Python2相互切换
  • 【深度学习】实验07 使用TensorFlow完成逻辑回归
  • 2023-09-04 Linux 让shell编译脚本里面设置的环境变量改变kernel里面驱动文件的宏定义值方法,我这里用来做修改固件版本
  • Python操作Excel实战:Excel行转列
  • java实现迭代器模式