nhà cái k8新闻中心 >学术资讯 >cvpr 2018 | 旷视科技物体检测冠军论文——大型 mini-batch 检测器megdet

megdet: a large mini-nhà cái k8

学术资讯 | 2018-11-01


全球计算机视觉顶会 cvpr 2018 (conference on computer vision and pattern recognition,即ieee国际计算机视觉与模式识别会议)将于6月18日至22日在美国盐湖城举行。作为大会钻石赞助商,旷视科技研究院也将在孙剑博士的带领下重磅出席此次盛会。



1.jpg



论文链接:https://arxiv.org/abs/1711.07240




导语


深度学习时代,计算机视觉领域的基石之一物体检测技术获得一次飞跃式发展,新模型新方法不断涌现。本文从 mini-batch 角度为加速深度神经网络的训练提供了一种新型检测 megdet,通过把 mini-batch 扩大至 256,从而可以充分利用 128 块 gpu 并大大缩短了训练时间。从技术上讲,warmup 学习率策略和 cross-gpu 批归一化(cgbn)共同保证了大型 mini-batch 检测器 megdet 的成功训练,并且时间更短(从 33 小时缩至 4 小时)精度更高。这意味着 megdet 从精度和速度两个核心维度优化了物体检测技术,为该技术的落地及其他计算机视觉的应用甚至安防、新零售和无人驾驶等领域的发展进一步铺平了道路。




设计思想


r-cnn 之后,fast/faster r-cnn,mask r-cnn, retinanet 等一系列新模型层出不穷,这些基于 cnn 的方法在物体检测领域进展巨大,仅仅两年内,coco ap 由 19.7(fast r-cnn)拔升至 39.1(retinanet),上述进步的背后,是更优的基础网络,更好的检测架构,更佳的 loss design 以及不断改进的池化方法。


cnn 图像分类模型的一个新近趋势是通过大型 mini-batch 大幅缩减训练时间。比如,通过大小分别为 8192 或 16000 的 mini-batch,resnet-50 可以 1 小时或 31 分钟完成训练,同时精度几乎不掉点。相反,cnn 图像检测模型的 mini-batch 普遍很小,比如 2-16,而一般分类模型的 mini-batch 大小通常为 256。针对这一问题,本文给出一个技术方案,使得大型 mini-batch 同样适用于检测模型。


小型 mini-batch 有何问题?简单说,有三点:首先,训练极其费时;其次,通过小型 mini-batch 训练无法精确统计批归一化(bn);最后,小型 mini-batch 中正、负实例的数量更易失衡。


2.jpg

图 2:带有正负 proposal 的实例图像。(a-b) 两个实例的比率不平衡;(c-d)两个实例比率平衡且中等。



如果简单地增大 mini-batch,又会面临哪些挑战?正如图像分类问题一样,主要困难在于大型 mini-batch 通常需要配置高学习率以保持精度。但是在物体检测中,高学习率很可能导致模型无法收敛;如果使用较低的学习率,获得的结果通常又较差。


为解决上述问题,本文提出了名为 megdet 的nhà cái k8的解决方案:


首先,作者提出线形缩放的一种新解释,并在早期阶段借助“warmup”学习率策略逐渐提高学习率;接着,为解决精度和收敛问题,作者引入多 gpu 批归一化(cross-gpu batch normalization/cgbn)以更好地统计 bn。cgbn 不仅会涨点精度,还会使训练更加稳定,从而可以安全无虑地享用业界强大的算力加持,这很有意义。


3.jpg

图 1:当 mini-batch 大小分别为 16(8 gpus)和 256(128 gpus)时,coco 数据集上训练的同一 fpn 物体检测器的验证集精度。大型 mini-batch 检测器更为精确,训练速度也快了近一个数量级。



megdet 通过 128 块 gpu 可在 4 小时内完成 coco 训练,甚至精度更高;相比之下,小型 mini-batch 需要 33 小时完成训练,并且精度更低。这意味着可以把创新周期几乎缩短一个数量级,甚至性能更优。基于 megdet,旷视夺得  coco 2017 物体检测挑战赛第一名。




方法


megdet 作为一个大型 mini-batch 检测器既可以更短时间完成训练,又可实现精度涨点,本节将介绍其方法原理。


由于小型 mini-batch 存在若干问题,而简单增大 mini-batch 必须处理精度与收敛之间的权衡,为此作者引入了针对大型 mini-batch 的学习率策略(warmup)。虽然这在一定程度上优化了收敛,但是对于较大的 mini-batch 比如 128 或者 256 来说,依然有所欠缺。接着作者引入 cgbn,它是大型 mini-batch 训练的关键所在。




cgbn


批归一化是一项训练深度卷积神经网络的重要技术,本文试图将其应用于物体检测。值得一提的是,分类网络的输入图像通常是 224 × 224 或者 299 × 299,一块内存 12g 的 nvidia titan xp gpu 足以处理 32 张以上这样的图片。由此,可在每个设备上单独计算 bn。但是对于物体检测来说,检测器需要处理不同尺寸的物体,因此需要输入较高分辨率的图像,并在多块 gpu 执行批归一化以从更多样本中搜集足够的统计信息。


跨 gpu 执行批归一化需要计算所有设备的汇总均值/方差统计信息。绝大多数现有深度学习框架使用 cudnn 中的 bn 实现,但是只提供高级 api 而无法修改内部统计信息。因此需要初级数学表达式来执行 bn,并通过 allreduce 操作汇总统计信息。这些细粒度表达式通常显著增加运行时间的开销,而 allreduce 操作在大多数框架中是缺失的。cgbn 实现如图 3 所示:


4.jpg

图 3:cgbn 实现。椭圆表示设备之间的同步,圆角框表示多个设备的并行计算。




实验


这次实验使用的数据集是 coco detection,它分为训练集,验证集和测试集,涵盖 80 个类别和超过 250000 张图像。backbone 是在 imagenet 上完成预训练的 resnet-50;检测框架是特征金字塔网络(fpn)。训练集图像数量超过 118000 张,验证集为 5000 张图像,sgd optimizer momentum 为 0.9,weight decay 为 0.0001,mini-batch 16 的基础学习率是 0.02。实验的主要结果如表 3 所示:


6.jpg

图 4:16-batch 和 256-batch 的验证集精度,使用长期训练策略。两个检测器的 bn 大小相同。垂直的虚线表示学习率衰减的时刻。



第三,如表 3 最后一部分所示,本文调查了长期训练策略。较长的训练时间会带来精度的轻微涨点。最后,如图 4 所示,256-batch 在早期阶段的 epochs 中表现欠佳,但是在最后阶段反超了 16-batch(第二次学习率衰减之后)。这一情况大不同于图像分类,其中精度曲线和收敛分值在不同大小的 mini-batch 设置中非常接近。


结论


本文提出了一种大型 mini-batch 检测器 megdet,可在更短时间内实现更高精度。这项工作意义重大,极大地缩短了研究周期。借助 megdet,旷视科技摘取了 coco 2017 检测挑战赛的桂冠,一些细节如下:


7.jpg

8.jpg

图 5:megdet 在 coco 数据集上的示例。



9.jpg

表 4:(增强的)megdet 在 coco test-dev 上的结果。



本文的技术贡献主要有 4 个方面:


    -基于保持相等损失方差的假设,本文在物体检测的语境中为线性缩放规则提出一种新解释。

    -本文实现首次在物体检测框架中训练 bn;实验证明 cgbn 不仅有助于精度的涨点,还会使训练更易收敛,尤其是对于大型 mini-batch 来讲。

    -本文首次(基于 resnet-50)使用 128 块 gpu 在 4 小时内完成 coco 训练,并实现更高精度。

    -megdet 作为 backbone 在 coco 2017 物体检测夺冠中发挥了关键作用。




参考文献


  • r. girshick, j. donahue, t. darrell, and j. malik. rich fea- ture hierarchies for accurate object detection and semantic segmentation. in proceedings of the ieee conference on computer vision and pattern recognition, pages 580–587, 2014. 

  • p. goyal, p. dolla ́r, r. girshick, p. noordhuis, l. wesolowski, a. kyrola, a. tulloch, y. jia, and k. he. accurate, large minibatch sgd: training imagenet in 1 hour. arxiv preprint arxiv:1706.02677, 2017. 

  • a. krizhevsky. one weird trick for parallelizing convolutional neural networks. arxiv preprint arxiv:1404.5997, 2014. 

  • k. he, g. gkioxari, p. dollar, and r. girshick. mask r-cnn. in the ieee international conference on computer vision (iccv), oct 2017. 

  • t.-y. lin, p. goyal, r. girshick, k. he, and p. dollar. focal loss for dense object detection. in the ieee international conference on computer vision (iccv), oct 2017. 


网站地图