天天看點

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

雷鋒網 AI 科技評論按,2018 年 11 月,何恺明在 arxiv 上送出論文 「Rethinking ImageNet Pre-training」,這篇論文由他與 Ross Girshick,Piotr Dollar 合作,系統地對預訓練模型是不是必須的問題進行了研究,在坊間引起諸多讨論。兩個多月過去,Computer Vision News 也對這篇文章開始了一輪 review,全面且系統地介紹了這篇 paper 中的研究方法、創新點、實驗結果等諸多關鍵點,雷鋒網(公衆号:雷鋒網) AI 科技評論将這篇 review 整理如下,以飨讀者。

「Rethinking ImageNet Pre-training」這篇驚豔的論文向我們展示了:使用從随機初始化的狀态開始訓練的标準模型在 COCO 資料集上也可以在目标檢測和執行個體分割任務中取得十分出色的結果,其結果可以與使用 ImageNet 預訓練的模型所得到的結果相媲美。研究人員驚奇地發現,使用随機初始化的模型具有很強的魯棒性。在以下三種情況下,模型的結果仍然能保持在比較高的水準上:(1)即使僅僅使用 10% 的訓練資料,(2)使用更深和更寬的模型,(3)處理多任務并使用多種評價名額。

實驗表明,使用 ImageNet 預訓練可以在訓練早期加速收斂,但不一定能起到正則化的作用或提高模型在最終的目标任務上的準确率。

引言

從 RCNN 驚天出世開始,在早期的将深度學習應用于目标檢測的任務中,使用在 ImageNet 資料集上為圖像分類預訓練的神經網絡,然後再在資料集上進行調優,這取得了許多突破。受到這些結果的啟發,目前大多數用于目标檢測的神經網絡和許多其它的計算機視覺算法都遵循「先使用預訓練初始化,再進行調優」的訓練範式。學界最近發表的一些論文在大小相當于 6-3000 倍 ImageNet 的資料集(JTF 為 6 倍,ImageNet-5k 為 300 倍,Instagram 為 3000 倍)上進行了預訓練,進而又進一步推廣了這樣的訓練範式。盡管這種範式在圖像分類訓練中展現出了相當大的性能提升,但它在目标檢測任務中卻收效甚微(提升大約能達到 1.5%)。而相對于預訓練的資料集,目标檢測任務的資料集越大,這種提升就越小。

研究方法和創新點

在本文中,作者說明了:

1. 盡管使用 ImageNet 進行預訓練可以加速模型訓練收斂速度,在給定充足的訓練時間的情況下,從頭開始訓練的模型也可以得到與前者相當的準确率。請注意,在從頭開始訓練的過程中,網絡必然會學到在預訓練過程中通常會學到的低級和中級特征(如邊緣、紋理等特征)。

2. 當我們認為預訓練的訓練範式更加高效時,我們往往并沒有考慮到預訓練所需要的時間。

3. 本文作者說明了:如果我們謹慎地選取超參數進而克服過拟合,那麼,從随機初始化的狀态開始在僅僅 10% 的 COCO 資料集上進行訓練可以得到與使用預訓練參數進行初始化的訓練過程旗鼓相當的結果。在使用與預訓練的網絡相同的超參數設定的情況下,即使在僅僅 10% 的資料集上進行訓練,随機初始化的訓練也能得到幾乎相同的結果。

4. 當目标任務/評價名額對于局部的空間資訊更敏感時,在 ImageNet 上進行預訓練幾乎沒有作用。

對于目前最先進的工作來說,本文得到的結果是十分令人驚訝的,它們會對「使用 ImageNet 進行預訓練的訓練範式究竟有多大影響」提出挑戰。使用 ImageNet 預訓練的範式在目前以及在未來的一段時間内将仍然繼續成為從業人員的首選方案,特别是在以下兩種情況下 :(1)當開發者擁有的用于在其目标任務中從頭開始訓練的資料和計算資源不足時;(2)得益于前人所做的标注工作、以及使用 ImageNet 預訓練過的模型較為容易獲得,ImageNet 預訓練被廣泛認為是一種「免費開放」的資源。

模型實作

接下來,讓我們研究一下本文的工作所使用的網絡架構、學習率、優化和歸一化方法以及超參數設定:

網絡架構:

本文研究了使用 ResNet 的 Mask R-CNN、ResNeXt+ 特征金字塔網絡(FPN)主幹架構。

歸一化方法:

那些人們通常在訓練标準的預訓練網絡時所使用的歸一化方法往往并不太适用于檢測和分割任務的訓練,因為這些歸一化方法需要載入大量的訓練資料(分辨率非常高的圖像,并且為每個像素都打上了标簽)。這将導緻我們在每一批中隻能處理數量非常有限的圖像(因為顯存有限),進而使正則化非常困難。而我們通過調優範式網絡可以避免這種困難,它能利用預訓練時學到的歸一化參數。

在從随機初始化狀态開始訓練的檢測和分割任務中,作者采用了以下兩種歸一化方法:

1.群組歸一化(GN):執行獨立于批次元的計算,其準确率對批大小不敏感 。

2.同步批量歸一化(SyncBN):是批量歸一化的一種實作方式,它通過使用多個 GPU 運算提升了批量歸一化(BN)時有效批處理的規模。

注:群組歸一化(GN)也是本文作者何恺明于 2018 年發表的一份工作(https://arxiv.org/abs/1803.08494)。

學習率:

學習率的更新政策是,學習率更新政策是在最後 60k 疊代中将學習率降低 10 倍。在最後的 20k 次疊代中再降低 10 倍。作者指出,沒有必要在訓練結束前更早地降低學習率,也沒有必要長時間以較低的學習率進行訓練,這隻會導緻過拟合。

超參數:

所有其它(學習率之外的)超參數都遵循 Detectron 中的超參數。具體而言,初始學習率是 0.02(使用線性的熱啟動操作,https://arxiv.org/abs/1706.02677)。權重衰減為 0.0001,動量衰減為 0.9。所有的模型都在 8 個 GPU 上使用同步的随機梯度下降進行訓練,每個 GPU 的 Mini-batch 的規模為 2 張圖像。根據 Detectron 的預設設定,Mask R-CNN 在測試不使用資料增強技術,僅僅訓練中使用水準翻轉增強。在較短的邊上,圖像的尺寸是 800 個像素點。

實驗結果

實際上,從下圖中可以看出,在給定充足的資料的情況下,任何網絡都可以被訓練到較好的狀态。亮藍色的橫條代表用于 ImageNet 預訓練的資料量,深藍色的橫條代表調優所使用的資料量,紫色的橫條代表從頭開始訓練所使用的資料量。最上方的一欄橫條代表的是用于訓練的訓練過的圖像數量;中間一欄代表物體的數量(每個圖像中可能包含不止一個物體);最下面的紫色橫條代表所處理的所有像素點的數量(不同的資料集中的圖像規模差别很大),我們可以将其換算為資料的體量。讀者可以從最下方的一欄中的紫色橫條中看出,整體而言,網絡處理的經過了預訓練再進行調優的資料量和從頭開始訓練(随機初始化)處理的資料量是相當的。 

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

如下圖所示,在驗證集上的邊界框平均精度 bbox AP 曲線被并排排列了出來,圖中顯示了以 ResNet-101(R101)為主幹架構,以及使用 ResNet-50(R50)作為主幹架構的實驗結果。每一組曲線都對比了從随機初始化開始訓練的模型與先在 ImageNet 上進行預訓練再進行調優的模型的性能。 

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

下圖則将對比使用 Mask R-CNN 對不同系統從随機初始化開始訓練與先進行預訓練再調優的方法的比較,具體包括:(1)使用 FPN 和 GN 的對比基線,(2)使用訓練時多尺度增強的對比基線,(3)使用級聯 RCNN 和訓練時增強的對比基線,(4)加上測試時多尺度增強的對比基線。左圖:R50;右圖:R101。

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

作者重複使用不同的方法、不同的配置和不同的架構進行訓練,并且将從随機初始化狀态開始訓練的網絡的性能與先預訓練再進行調優的網絡性能進行比較,說明了無論是從頭開始還是使用預訓練的網絡,整體而言,所需要的資料都是等價的,這不可能僅僅是偶然。實驗所使用的方法也是相同的。

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

作者進行的另一項實驗旨在研究訓練預訓練的網絡去找到最優的超參數設定。作者使用了通過訓練預訓練網絡發現的超參數設定去訓練他們從頭開始訓練的随機初始化的網絡。實驗結果表明,他們僅僅使用了三分之一的資料就獲得了同等水準的模型性能。下圖顯示了訓練的準确率(紫色的線表示随機初始化的訓練情況,灰色的線表示先進行預訓練再進行調優的訓練情況)。

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

訓練用于 COCO 人體關鍵點檢測任務的 Mask RCNN 模型:對于人體關鍵點檢測任務,随機初始化的網絡可以比先進行預訓練再調優的網絡快得多地學習,不需要使用額外的訓練時間。關鍵點監測是對于局部空間資訊預測非常敏感的任務。這說明,對于局部空間資訊預測來說,ImageNet 預訓練的作用非常有限,對于這樣的任務,從頭開始訓練模型的效果和使用預訓練再調優的效果幾乎是一樣的。

Computer Vision 雜志對何恺明 Rethinking ImageNet Pre-training 的最新評論

本文的觀點的總結

在目标任務中幾乎不對架構進行修改,從頭開始訓練網絡(使用随機初始化)是可行的。

從頭開始訓練往往需要經過更多的疊代才能收斂,而預訓練的網絡收斂得更快。

在許多不同的設定和情況下,從頭開始訓練的網絡可以獲得與先預訓練再調優的網絡相媲美的性能,甚至包括僅僅在一萬張 COCO 圖像上進行訓練的情況。

除了訓練資料集極其小的情況,在 ImageNet 上進行預訓練并不一定能夠幫助緩解過拟合現象。

相對于物體的類别資訊,如果目标任務與物體位置資訊更加相關,那麼在 ImageNet 上進行預訓練将收效甚微。

 via:https://www.rsipvision.com/ComputerVisionNews-2019January/4/

雷鋒網 AI 科技評論編譯整理。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

繼續閱讀