定义
batch
:使用训练集的部分数据对神经网络进行一次训练和反向传播参数更新。
epoch
:使用训练集的所有数据对神经网络完成一次训练。
iteration
:使用一个batch的数据对神经网络进行参数更新的过程。
关系
number of batches = training set size / batch size
举例
数据集有2000张训练图片,100张测试图片,Batch Size=6。
- 每个Epoch要训练的图片数量:2000
- 训练集具有的Batch个数:2000/6=333+1=334
- 每个Epoch需要完成的Batch个数:334
- 每个Epoch具有的Iteration个数:334
- 每个Epoch中发生模型权重更新的次数:334
- 训练5代Epoch后,模型权重更新的次数:334*5=1670
不同代的训练,其实用的是同一个训练集的数据。第1代和第5代虽然用的都是训练集的2000张图片,但是对模型的权重更新值完全不同,因为不同代的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。
?