标准回答
三种梯度下降
按每步用多少样本估计梯度区分:BGD(全量,方向最准但每步慢、占内存、难处理大数据),SGD(单样本,更新快、噪声大、不稳但有跳出局部极小的能力),MBGD(小批量,兼顾稳定性与效率,是深度学习实际使用的范式)。
Batch Size 的权衡
大 batch 让梯度估计更接近真实梯度,训练曲线平滑、GPU 并行利用率高、单 epoch 步数少;但它倾向收敛到「尖锐极小(sharp minima)」,泛化往往不如小 batch,且显存随 batch 线性增长。小 batch 的梯度噪声相当于一种正则化,常带来更好的泛化与更平坦的极小,代价是收敛慢、波动大。
学习率联动
batch 增大后单步梯度方差下降,需同步放大学习率(常用线性法则 \(lr \propto B\) 或平方根法则)并加 warmup,否则大 batch 反而欠拟合。实践中先在显存允许范围内选 batch,再调学习率与 warmup。
常见误区
⚠️ 常见踩坑
认为 batch 越大越好——大 batch 常损害泛化且需重调学习率;以及增大 batch 后不调学习率,导致训练欠拟合或不收敛。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。