CVPR 2018 | 曠視科技物體檢測冠軍論文——大型Mini-Batch檢測器MegDet

CVPR 2018 | 曠視科技物體檢測冠軍論文——大型Mini-Batch檢測器MegDet

54 人贊了文章

全球計算機視覺頂會 CVPR 2018 (Conference on Computer Vision and Pattern Recognition,即IEEE國際計算機視覺與模式識別會議)將於6月18日至22日在美國鹽湖城舉行。作為大會鑽石贊助商,曠視科技研究院也將在孫劍博士的帶領下重磅出席此次盛會。而在盛會召開之前,曠視將針對 CVPR 2018 收錄論文集中進行系列解讀。本次第 7 篇的解讀主題是 COCO 2017 物體檢測挑戰賽冠軍論文——MegDet(《MegDet: A Large Mini-Batch Object Detector》)。已有解讀請見文末。

論文鏈接:arxiv.org/abs/1711.0724

目錄

  • 導語
  • 設計思想
  • 方法
  • 實驗
  • 結論
  • 參考文獻

導語

深度學習時代,計算機視覺領域的基石之一物體檢測技術獲得一次飛躍式發展,新模型新方法不斷湧現。本文從 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:帶有正負 proposal 的實例圖像。(a-b) 兩個實例的比率不平衡;(c-d)兩個實例比率平衡且中等。

如果簡單地增大 mini-batch,又會面臨哪些挑戰?正如圖像分類問題一樣,主要困難在於大型 mini-batch 通常需要配置高學習率以保持精度。但是在物體檢測中,高學習率很可能導致模型無法收斂;如果使用較低的學習率,獲得的結果通常又較差。

為解決上述問題,本文提出了名為 MegDet 的解決方案:

首先,作者提出線形縮放的一種新解釋,並在早期階段藉助「warmup」學習率策略逐漸提高學習率;接著,為解決精度和收斂問題,作者引入多 GPU 批歸一化(Cross-GPU Batch Normalization/CGBN)以更好地統計 BN。CGBN 不僅會漲點精度,還會使訓練更加穩定,從而可以安全無慮地享用業界強大的算力加持,這很有意義。

圖 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 所示:

圖 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 所示:

表 3:不同 mini-batch、BN 大小、GPU 數量和訓練策略的訓練對比。

除此之外,本文還有以下發現。首先,在 mini-batch 增加的過程中,精度幾乎保持在同一水平,這持續優於基線(16-base)。同時,較大的 mini-batch 通常會縮短訓練周期。第二,BN 的最佳大小是 32。如果圖像太少,比如 2,4,8,BN 統計信息會非常不準確,從而導致更差的性能。然而,如果把大小增加至 64,精度會掉點。這證明了圖像分類與物體檢測之間的不匹配。

圖 4:16-batch 和 256-batch 的驗證集精度,使用長期訓練策略。兩個檢測器的 BN 大小相同。垂直的虛線表示學習率衰減的時刻。

第三,如表 3 最後一部分所示,本文調查了長期訓練策略。較長的訓練時間會帶來精度的輕微漲點。最後,如圖 4 所示,256-batch 在早期階段的 epochs 中表現欠佳,但是在最後階段反超了 16-batch(第二次學習率衰減之後)。這一情況大不同於圖像分類,其中精度曲線和收斂分值在不同大小的 mini-batch 設置中非常接近。

結論

本文提出了一種大型 mini-batch 檢測器 MegDet,可在更短時間內實現更高精度。這項工作意義重大,極大地縮短了研究周期。藉助 MegDet,曠視科技摘取了 COCO 2017 檢測挑戰賽的桂冠,一些細節如下:

圖 5:MegDet 在 COCO 數據集上的示例。

表 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.

更多解讀請參見:

  • CVPR 2018 | 為移動 AI 而生——曠視科技最新成果 ShuffleNet 全面解讀
  • CVPR 2018 | 曠視科技提出用於語義分割的判別特徵網路DFN
  • CVPR 2018 | 曠視科技提出RepLoss,優化解決密集遮擋問題
  • CVPR 2018 | 曠視科技新方法——通過角點定位和區域分割檢測場景文本
  • CVPR 2018 | 曠視科技率先提出DocUNet,可復原扭曲的文檔圖像
  • CVPR 2018 | 曠視科技人體姿態估計冠軍論文——級聯金字塔網路CPN

推薦閱讀:

如何評價 2018 年的 Kinetics 比賽數據集出現重大疏忽導致泄漏全部標籤?
CVPR—II | 經典網路再現,全內容跟蹤
python下載CVPR2017全套paper
CVPR2018 | 新加坡國立大學論文:利用互補幾何模型改善運動分割
[CVPR2018筆記]Discriminative Learning of Latent Features for Zero-Shot Recognition

TAG:計算機視覺 | 深度學習DeepLearning | CVPR |