深度学习中Batch、Iteration、Epoch的概念与区别
在神经网络训练中,一般采用小批量梯度下降的方式。 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。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
python3 || 高斯混合模型GMM