1.Batch_Size(批尺寸)
该参数主要用于批梯度下降算法(Batch Gradient Descent)中,批梯度下降算法是每次迭代都遍历批中的所有样本,由批中的样本共同决定最优的方向,Batch_Size 正是批中的样本数量。
若数据集比较小,可以采用全数据集(Full Batch Learning)的形式,由全数据确定的方向能更好地代表样本总体,从而更准确地朝向极值所在的方向;但该种方式并不适用于大数据集;
另一个极端是每次只训练一个样本,即Batch_Size=1,每次修正方向以各自样本的梯度方向修正,横冲直撞各自为政,难以达到收敛。
在合理范围内增大Batch_Size,可以
(1)提高内存利用率,进而提高大矩阵乘法的并行效率;
(2)跑完一次epoch(全数据集)所需的迭代次数减少,对于相同数据量的处理速度进一步加快;
(3)在一定范围内,一般来说Batch_Size越大,其确定的下降方向越准,引起的训练震荡越小。
盲目增大Batch_Size的坏处:
(1)超出内存容量;
(2)跑完一次epoch(全数据集)所需的迭代次数减小,要想达到相同的精度,所需要的epoch数量越多,对参数的