MegDet: A Large Mini-Batch Object Detector

分类网络如ReseNet-50的mini-batch尺寸已经很大了,如8192或16000.但检测网络的mini-batch尺寸确很小,如2-16。小的batch尺寸有什么问题?一是训练时间长,二是无法为BN提供精确的统计信息。三是正负样本比例不平衡,如下图a-b所示。

MegDet: A Large Mini-Batch Object Detector

但是直接增加batch尺寸有什么问题呢?大的batch尺寸需要比较大的学习率去保持精度,但大的学习率通常会导致无法收敛。为解决这个两难的问题,论文首先使用“warmup”学习率策略逐步增加学习率,其次使用跨GPU的Batch Norm(CCBN)获得更好的BN统计。

在图像分类中,基于SGD的梯度等效假设,mini-batch尺寸从N增加到k*N,学习率从r增加大k*r。但对于目标检测,每个图像中的真值标记数目不同,图像具有不同的真值分布。论文引入了方差等效假设。对于损失函数l(x,w),其梯度的方差为:

MegDet: A Large Mini-Batch Object Detector

对于大的mini-batch k*N,梯度的方差为:

MegDet: A Large Mini-Batch Object Detector

保持大batch=k*N中的方差与k步小batch=N累计等价:

MegDet: A Large Mini-Batch Object Detector

以上仅是对学习率的阐述,论文用的是wormup策略,即在训练早期用足够小的学习率,在一定的迭代后使用固定速度增长。

跨GPU Batch Norm

MegDet: A Large Mini-Batch Object Detector

 

训练时间对比

MegDet: A Large Mini-Batch Object Detector

不同的batch size对比

MegDet: A Large Mini-Batch Object Detector