假设我们正在训练一个用于图像分类的深度神经网络,并使用MNIST数据集,其中包含60000张28x28像素的灰度图像 (假设这里的60000张图片都用于训练)。下面是对这些术语的简要解释:
-
epoch:一个epoch表示将所有的60000张图像都过一遍网络训练一次,epoch所代表的数字是指所有训练数据被训练的总轮数。也就是说,一个epoch表示用整个训练数据进行一次训练,即 所有的数据送入网络中, 完成了一次前向计算 + 反向传播(BP)的过程。如果我们将整个数据集分成100个batch,那么一个epoch需要进行100次迭代(Iterations)。
-
batch:批处理,一个batch表示每次迭代训练使用的图像数。例如,我们可以将整个数据集分成100个batch,那么每个batch就包含600张图像(因为60000/100=600)。在每次迭代训练时,我们将一个batch的600张图像输入到网络中进行计算,计算得到损失函数和梯度ÿ