深度学习中Batch、Iteration、Epoch的概念与区别
在神经网络训练中,一般采用小批量梯度下降的方式。 Batch Epoch Iteration 就是其中的重要的概念。我们要理解懂得它们都是什么以及它们之间的区别。1、Batch每次迭代时使用的一批样本就叫做一个Batch,样本的数量称为Batch Size。Batch大小是一个超参数,用于定义在更新内部模型参数之前要处理的样本数。深度学习每一次参数的更新的Loss Function并不是由一个样本
在神经网络训练中,一般采用小批量梯度下降的方式。 Batch Epoch Iteration 就是其中的重要的概念。我们要理解懂得它们都是什么以及它们之间的区别。
1、Batch
每次迭代时使用的一批样本就叫做一个Batch,样本的数量称为Batch Size。Batch大小是一个超参数,用于定义在更新内部模型参数之前要处理的样本数。深度学习每一次参数的更新的Loss Function并不是由一个样本得到的,而是由一个Batch的数据加权得到。
2、 Iteration
使用Batch Size个样本训练一次的过程叫做一个Iteration。
3、 Epoch
一个epoch就是使用训练集中的全部样本训练一次。通俗的讲,Epoch的值就是整个训练数据集被反复使用几次。
Epoch数是一个超参数,它定义了学习算法在整个训练数据集中的工作次数。一个Epoch意味着训练数据集中的每个样本都有机会更新内部模型参数。Epoch由一个或多个Batch组成。
举例:
我们有10000个样本,batch_size=100,
意思就是我们总共有10个batch,每次使用这100个样本数量训练一次的过程,就是一个Iteration。
然后我们把这10000个样本都训练完了,就叫做一个Epoch。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)