Batch, Iteration,Epoch概念理解
训练过程种Batch, Iteration,Epoch概念理解
以Mnist数据集为例,Mnist数据集共有6000张训练样本。假设现在选择 Batch_Size = 100对模型进行训练。则:
整个样本被分成了:6000/100=600个Batch
每个Batch的Batch_size=100
训练一个Batch就是一次Iteration(迭代)
所有6000张图片都训练一次的过程叫一个Epoch
每个Epoch中有6000/100=600个Batch
假设训练了50个Epoch,则:
共迭代了50*600=30000次
参考:深度学习 | 三个概念:Epoch, Batch, Iteration
小结:
Batch:数据集划分角度。将整批数据划分成一批一批
Iteration, Epoch:训练角度。训练时,训练一个batch数据叫一个Iteration;训练完一次整批数据叫一个Epoch。
为什么要分成多个Batch呢?
batch概念
batch字面上是批量的意思,在深度学习中指的是计算一次cost需要的输入数据个数。
在batch可以认为上述cost计算公式中的m。
如果数据集比较小,可以将全体数据看做一个batch,即把数据集中每个样本都计算loss然后取其平均值当做cost。
为什么要分成多个Batch呢?
在训练模型时,如果数据集比较大,一次性将所有样本输入去计算一次cost存储会吃不消,因此会采用一次输入一定量的样本来进行训练。 所以Batch就是指计算一次cost需要的样本个数。将每个样本都计算cost后,求平均值,就是整个Batch的cost。
遍历全部数据计算损失函数(将整个数据当作一个batch),然后算函数对各个参数的梯度,然后更新参数。这称为Batch gradient descent,批梯度下降。这种方法缺点很明显,计算量大,吃内存,不适用与在线学习。
每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochastic gradient descent。这种方法比较快,但是由于迭代一次仅依靠单一样本,这样很容易在相邻的两次迭代计算的梯度差距非常大,甚至方向相反,因此容易不收敛。
另一种就是将上述两种方法的折中,称为mini-batch gradient decent。将数据集分成一定数量的批,梯度不容易跑偏容易收敛,同时减少了一次处理的数据数量,因而计算量也小了很多,速度较快。
参考:深度学习batch的理解
为什么训练时要用多个Epoch呢?
虽然不同的Epoch用的训练图片相同,但是模型的权重值却是完全不同的。不同代的模型处于代价函数空间上的不同位置。
Batch, Iteration,Epoch概念理解相关推荐
- 几句话明白:神经网络中的基本概念batch,epoch,iterations及对训练效果的影响
###神经网络中的基本概念batch,epoch,iterations及对训练效果的影响 自己一直很迷糊,这几个关键词也是傻傻分不清楚,为了彻底搞明白,所以用文字记录: batch:批,一次网络训练读 ...
- 训练Epoch, Batch, Iteration
4.关于训练Epoch, Batch, Iteration. 名词 定义 Epoch 使用训练集的全部数据进行一次完整的训练,简称"一代训练" Batch_size 使用数据集中指 ...
- 批量梯度下降(BGD)、随机梯度下降(SGD)以及小批量梯度下降(MBGD)及 batch、epoch、iteration
先介绍一下梯度下降:梯度下降是一种用于机器学习训练参数的一种优化方法.对损失函数进行梯度下降,"梯度"指误差梯度或误差斜率,"下降"指沿着误差斜率移动到误差较小 ...
- Batch和Epoch之间的区别是什么?
写在前面(快速理解): · 随机梯度下降(SGD)是一种迭代学习算法,它使用训练数据集来更新模型. · Batch(批量)大小是梯度下降算法的超参数,在模型的内部参数更新之前控制训练样本的数量,一个周 ...
- 深度学习中IU、IoU(Intersection over Union)的概念理解以及python程序实现
from: 深度学习中IU.IoU(Intersection over Union)的概念理解以及python程序实现 IoU(Intersection over Union) Intersectio ...
- 高性能计算中并行的概念理解
高性能计算中并行的概念理解 分类: 并行计算高性能计算HPC - General2011-11-09 22:54 932人阅读 评论(0) 收藏 举报 编译器编程parallel优化formsvect ...
- 目标检测基本概念理解之IoU(交并比)以及Python代码实现
目标检测基本概念理解之IoU(交并比) 交并比理解 Python代码实现 计算IoU,矩形框的坐标形式为xyxy 计算IoU,矩形框的坐标形式为xywh 交并比理解 在检测任务中,使用交并比(Inte ...
- 神经网络中Batch和Epoch之间的区别
来自蜂口知道公众号 随机梯度下降法是一种具有大量超参数的学习算法.通常会使初学者感到困惑的两个超参数: Batch大小和Epoch数量,它们都是整数值,看起来做的事情是一样的.在这篇文章中,您将发现随 ...
- Hadoop:HDFS的概念理解和体系架构-成都加米谷大数据分享
HDFS是什么? HDFS 全称 Hadoop Distributed File System ,简称HDFS,是一个分布式文件系统.它是谷歌的GFS提出之后出现的另外一种文件系统.它有一定高度的容错 ...
- muck数据的概念理解
muck数据的概念理解 所谓muck表示"模仿","假的":也可翻译为mock-test. 很多项目案例的讲解中,经常会提及muck数据.muck对象.muck ...
最新文章
- linux内核报告,Linux升级内核报告.docx
- Mac下使用svn命令
- socketmq 设置队列大小_C++编程实例:面向对象的整形队列实现
- android string.xml中%1$s、%1$d等的用法
- arrays.sort(._Arrays.sort与Arrays.parallelSort
- 是否可以在最终课程中使用抽象方法?
- Supervisord进程管家
- 工作217:重置逻辑
- (需要大神,请求解决,遇见runtime error 错误)poj 1009 java
- 使用CentOS光盘镜像作为YUM源安装rpm软件包
- 【直播预告】阿里特邀专家关键:Java无锁集合代码分析...
- [数据结构] 非旋Treap
- CCNA学习指南 无线技术
- MATLAB 创建function函数,主程序打不开function函数所在的.m文件怎么办?
- c#窗体编辑个人简历_3年工作经验.net程序员简历应该怎么写
- hadoop之MapReduce统计选修课程人数,不及格门数,选课人数
- Extjs中加载异步树的最简单例子实现
- 洛谷:P1460 [USACO2.1]健康的荷斯坦奶牛 Healthy Holsteins(DFS)
- 剖析Framework面试-笔记(二)
- 青岛 android培训哪家好,青岛android培训学习班