在大部分深度学习架构中都抛不开三个概念epoch,[batch size], iterations;接下来就对这三个概念逐一解释一下
one epoch:所有的训练样本完成一次Forword运算以及一次BP运算
batch size:一次Forword运算以及BP运算中所需要的训练样本数目,其实深度学习每一次参数的更新所需要损失函数并不是由一个{data:label}获得的,而是由一组数据加权得到的,这一组数据的数量就是[batch size]。当然batch size 越大,所需的内存就越大,要量力而行
iterations(迭代):每一次迭代都是一次权重更新,每一次权重更新需要batch size个数据进行Forward运算得到损失函数,再BP算法更新参数。
最后可以得到一个公式:
one epoch = numbers of iterations = N = 训练样本的数量/batch size
一次epoch 总处理数量 = iterations次数 * batch_size大小
简单一句话说就是,我们有2000个数据,分成4个batch,那么batch size就是500。运行所有的数据进行训练,完成1个epoch,需要进行4次iterations。
转自:http://blog.csdn.net/qq_18515405/article/details/51821125