Epochs, Batchsize, Iterations
函数在该点处沿着该方向(梯度方向)变化最快:变化率(梯度模)最大。
梯度下降法是多次迭代求解的,梯度下降的迭代质量有助于使模型尽可能拟合训练数据。
梯度下降中有一个叫做学习率的参数,在迭代开始时,步长越大,学习率就越高。随着点的下降,步长变短,即学习率变小。
我们在训练模型时,如果训练数据过多,无法一次性将所有图像数据输入网络,为了解决这个问题,我们会将数据分成几个部分进行分批训练,即batch,使得每个批次的数据量是可以负载的。将这些batch的数据逐一输入到网络中,更新神经网络的参数,使得网络收敛。
Epoch
:在训练过程中所有训练集反复训练的次数。
一个Epoch指的是将所有的数据输入网络完成一次向前计算及反向传播。
由于完成一个epoch训练的周期较长(数据量大),一次性输入所有数据计算机无法负荷,所以将其分成多个batches。在实际训练时,将所有数据分成多个batches,每次输入一个batch大小的数据进行训练。
训练网络时,梯度下降本身就是一个迭代过程,所以经过单个epoch更新权重是不够的,即仅仅将所有数据迭代训练一次是不够的,需要反复训练多次才能使网络收敛。
对于不同的数据集来说,最佳的epoch是不同的。但是,epoch的大小和数据集的多样化程度有关,多样化程度越强,epoch也应该越大。
Batchsize
Batch是每次输入网络进行训练的批次,而batchsize是每个batch中训练样本的数量。注意batch size 和 batch numbers(iterations) 是不同的。
batch size:1、每次选取的数据集中的一小部分,也就是小批度下降中的那一小批。
2、一个 batch 中的样本总数,一次喂进网络的样本数。
batchsize大小的选择也是非常重要的,为了在内存容量和内存效率之间取得最佳平衡,batchsize 应该用心设置,从而最优化网络模型的性能和速度。
————————————————
1.批梯度下降(BGD ----- Batch Gradient Decent)
概念:1、训练数据集的时候,将所有的数据集样本都训练一遍后更新损失函数,
2、所有数据一起输入进行训练,也就是只有一个batch,batch内包含所有训练样本;
3、遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度
特点:这样效率低,计算开销大,速度慢,不适合在线机器学习。
当数据量较小,计算机内存可以负载的时候,可以采用全数据效果更好。
batch英文直接翻译过来就是一批的意思,批梯度下降我们可以把这样一批看成是整个数据集。
2.随机梯度下降(SGD ---- Stochastic Gradient Decent)
概念:1、每训练一个数据更新一次损失函数。
2、随机训练,即每个batch内只有一个样本。
3、每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降。
特点:这样的计算速度提高了很多,但是收敛性可能不太好,容易在最优点徘徊,很难get到那个最优点。难以达到收敛状态。这个方法速度比较快,但是收敛性能不太好,可能在最优点附近晃来晃去,hit不到最优点。两次参数的更新也有可能互相抵消掉,造成目标函数震荡的比较剧烈。
3.小批梯度下降(mini-batch Gradient Decent)
概念:1、把数据分为若干批,按批来更新损失函数,
2、即将所有数据分成若干个batches,每个batch内包含一小部分训练样本;
3、这种方法把数据分为若干个批,按批来更新参数,
特点:一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。
这个方法是上面两个方法的折中方法。
minibatch,mini分批次训练精度略有损失
————————————————
Iterations
所谓iterations就是完成一次epoch所需的batch个数。batch numbers就是iterations。
举个例子来说,我们有12800个训练样本,分成100个batches,那么batchsize就是128。将所有的数据输入网络,训练完成一个epoch,需要经过100次iterations。
https://blog.csdn.net/dancing_power/article/details/97015723
https://blog.csdn.net/qingdujun/article/details/80638500
https://www.cnblogs.com/ldfhnb/p/11851043.html
https://blog.csdn.net/zqx951102/article/details/88918948
https://www.cnblogs.com/booturbo/p/12674754.html
https://blog.csdn.net/qq_40938646/article/details/102673786