深度学习中:epoch、batch size和iterations之间的关系

                           机器学习中:epoch、batchsize和iterations之间的关系

在深度学习中,epoch、batchsize和iterations是在训练模型时,一定用到的一些概念。那么分别是什么意思呢?
首先,为什么会用到以上概念,是因为“梯度下降”,也就是寻求曲线的一个最小值。其次,梯度下降是迭代的,它是一个需要多次计算的结果来求得最优解。
1,epoch
一个epoch指代所有的数据送入网络中完成一次前向计算及反向传播的过程。在训练模型时,一般会设置多个epoch,比如epoch=50、100、600,甚至等于6000。这么做是因为在寻求最优解时,将数据送入网络进行一次迭代是不够的,一般是需要进行多轮的迭代才会收敛。同时,深度学习中,训练模型时的数据量一般来说是比较大的,也就是说一个epoch是比较大的,计算机一般无法负荷,所以这时,一般会分成几个比较小的batches,每次送入网络一部分数据。
2,batch size
经上面所述,batch就是每次送入网络中训练的一部分数据,batch size就是每个batch中训练样本的数量。所以,至于batch size取多大合适,这取决于设备和运行效率,根据实际情况来进行实际的选择。
3,iterations
iterations就是完成一次epoch所需的batch个数。比如,训练集一共有5000个数据,batch size为500,则iterations=10,epoch是等于1(因为一个epoch是所有数据融入网络中完成一次前向计算及反向传播的过程)。

你可能感兴趣的:(深度学习中:epoch、batch size和iterations之间的关系)