batch size 和 epoch的关系和讲解
可参考链接。
epoch里面到底发生了什么
- 整个训练过程中,我们只有一个损失函数(loss function)。
- 一个epoch代表模型已经见过所有的训练数据,也就是被拆分成多个batch的训练集都会被输入模型。
- 在训练一个batch中的数据时,网络只会有前向传播,并且记录batch中每条数据的预测误差,然后对batch size的误差做平均。
- 当一个batch的数据训练结束,通过均值误差再进行反向传播,以此进行参数的迭代。所以一个epoch会进行batch number(总数据量除以batch size)次的参数迭代。
- 下一个epoch的参数为上一个epoch最终的参数,接着进行同一个数据集的再训练。