目录
1、名词解释
2、换算关系
3、举例说明
Step(步):训练模型的步数(遍历学习一次训练集数据所需要的Batch数量),跟iteration一样。
Batch Size(批尺寸):计算梯度所需的样本数量,太小会导致效率低下,无法收敛。太大会导致内存撑不住,Batch Size增大到一定程度以后,其下降方向变化很小了,所以Batch Size是一个很重要的参数。
Epoch(回合):代表样本集内所有的数据经过了一次训练。
Iteration(迭代):理解迭代,只需要知道乘法表或者一个计算器就可以了。迭代是batch需要完成一个epoch的次数。记住:在一个epoch中,batch数和迭代数是相等的。比如说一个有2000个训练样本的数据集。将2000个样本分成大小为500的batch,那么完成一个epoch需要4个iteration/step。
实际上,梯度下降的几种方式的根本区别就在于上面公式中的Batch Size不同。
*注:上表中Mini-Batch的Batch个数为N/B+1是针对未整除的情况。整除则是N/B。
CIFAR10数据集有50000张训练图片,10000张测试图片,现在选择Batch Size = 256对模型进行训练。
(1)每个Epoch要训练的图片数量:50000
(2)训练集具有的Batch个数:50000/256 = 195+1 = 196
(3)每个Epoch需要完成的Batch个数:196
(4)每个Epoch具有的Iteration个数:196
(5)每个Epoch中发生模型权重更新的次数:196
(6)训练10代后,模型权重更新的次数:196*10 = 1960
不同代的训练,其实用的是同一个训练集的数据。第1代和第10代虽然用的都是训练集的五万张图片,但是对模型的权重更新值确是完全不同。因为不同代的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。