在深度学习的训练中,数据的加载过程我们一般会指定batch_size,也就是批量数据的大小(通常是等),究其根源,是从算法的优化考虑问题。
就拿常见的梯度下降法来说,优化的目标函数:
其中n为样本量,为第i个样本,
为第i个样本的预测信息(线性表达式结构),
为第i个样本的真实信息,
为需要确定或者优化的模型参数。
由于此类二次目标函数是常见的凸函数,故可以通过求解梯度来进行优化,优化方法有随机梯度下降法、批量梯度下降法和小批量梯度下降法。
随机梯度下降法。
其中lr为学习率,每次在样本中随机选择一个样本,有迭代速度快的优点,但在异常点或者离群点的作用下,每次的梯度优化方向不会最优。
批量梯度下降法。
其中n为样本总量,同时选择所有的样本进行优化,优点是能保证每次的梯度优化方向正确,容易找到最优解但是当样本量很大时,例如超过1000,对算力的要求很高,将会导致迭代速度缓慢。
小批量梯度下降法。
每次选取的m个样本都是随机采样,这样就能结合优化方法1和2的优点,同时避免他们各自的缺点,最终能保证每次迭代方向的鲁棒性,并且迭代速度不会变缓慢,批量大小通常是等。
总结
小批量数据的含义:在深度学习中,从总样本中随机选取一部分样本数据代入模型进行训练。
小批量数据的意义:即能加快算法优化速度,同时也能保证每次迭代方向的鲁棒性,不受样本异常点的影响。