Batch
每一次训练就是一次Batch,Batch Size的大小表示一个Batch样本容量的大小。
对于Batch Size的选择有多种策略:
Batch Size越大,由于可以利用并行化的优势,处理速度就会越快,可以充分利用内存资源;但是同时Batch Size越大,对于内存资源的要求就越高(epoch的次数需要增加以达到最好的结果)。
图片参考自:博客
Iteration
意为“迭代”,1个iteration等于使用batchsize个样本训练一次。
迭代是重复反馈的动作,神经网络中我们希望通过迭代进行多次的训练以达到所需的目标或结果。
每一次迭代得到的结果都会被作为下一次迭代的初始值。
Epoch
中文翻译为时期。
一个时期=所有训练样本的一个正向传递和一个反向传递。
在神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。但是我们使用的是有限的数据集,并且我们使用一个迭代过程即梯度下降来优化学习过程。如下图所示。因此仅仅更新一次或者说使用一个epoch是不够的。