ImageNet上的預訓練模型沒什麼用?計算機視覺任務可以從零做起
Facebook AI Research (FAIR)研究人員何愷明,Ross Girshick ,Piotr Dolla ́r 等人最新研究顛覆計算機視覺領域對預訓練模型的認知。一直以來,計算機視覺領域解決問題的正規化為在ImageNet上的預訓練模型,再在具體任務上微調。但研究表明,這個預訓練過程並沒有人們以為的那麼重要。在計算資源和目標任務資料充足的情況下,預訓練過程完全不必要。
2018 年,預訓練的語言模型,這一併不算新的概念,更多地進入 NLP(自然語言處理)領域研究人員的視野。首先在大規模語料上得到預訓練的語言模型,再將其與具體任務結合的方式讓許多工上的原有模型重新整理了最佳成績。10 月的 Bert 血洗 11 項 NLP 任務排行榜,更是讓預訓練的語言模型收穫了前所未有的關注。可以說,接下來 NLP 領域的各項工作恐怕都繞不過使用預訓練的語言模型這一項,不論是作為最終的主模型還是用於對比的 baseline(基準模型)。
與 NLP 領域形成鮮明對比的是,這種‘pre-training and fine-tuning’的方法,在 CV(計算機視覺)領域早已廣泛應用。自從人們發現預訓練模型中學得的特徵表示可以為具體任務輸送有用的資訊後,使用大規模資料預訓練模型得到通用的特徵表示,再在具體任務上微調的方法就成了解決問題的正規化,尤其是對於那些訓練資料較少的任務。著名科學家李飛飛創立的 ImageNet 是目前最大的影象識別資料庫,包含 2 萬多個類別,千萬張被標註的圖片。在其上通過監督學習得到的眾多預訓練模型被開源,在眾多 CV 任務上被廣泛使用。目前,包括物體檢測、影象分割等多項 CV 任務上的最佳成績均是通過這樣的方法獲得的。這種方法似乎已經被研究人員預設——利用預訓練的模型結果會更好。
近年來,也有少量工作另闢蹊徑從零開始訓練模型。這些工作專注於設計具有特異結構的模型,希望彌補沒有預訓練過程帶來的差距。但實際上,沒有任何證據表明,要從零開始訓練的模型需要特殊的結構。同時,雖然預訓練模型的使用帶來了結果的改善,但相對於訓練資料集的規模而言,這些改善的幅度卻比較小,尤其是在物體檢測任務上。
不同於前人對特殊結構模型的探索,何愷明等人專注於探索在 ImageNet 上的預訓練過程在非特殊化模型(模型在設計時沒有考慮要從零開始訓練的需求)中的角色。

圖丨此次論文(來源:arXiv)
作者介紹了他們在 COCO 資料集上進行的物體檢測和例項分割實驗,在直接對引數進行初始化的情況下取得了可以與那些使用預訓練模型相匹敵的結果。實驗結果表明,即使不使用預訓練的模型,往往也可以取得一樣好的結果。而即使使用少量的資料或是應用於更寬、更深的網路,即使在多工和多個衡量指標的情況下,從零開始訓練的方法依然能取得同樣好的結果。
要探索預訓練模型的作用,就要在實驗設定相同,模型改動最小的情況下進行比較實驗。作者發現,在不經過預訓練的情況下,只有兩種對於模型的改動是必要的:
(1)Normalization(標準化):圖形分類器在訓練過程中需要標準化來幫助優化。目標檢測器與影象分類器不同,它的輸入往往解析度較高,由於記憶體的限制,批處理的影象的數量就相對較小。批處理數量的減小會降低批標準化的準確性。使用預訓練的模型可以解決這一問題。因此,在隨機初始化引數進行訓練的情況下,作者使用 GN(Group Normalization)和 SyncBN(Synchronized Batch Normalization)兩種標準化策略解決這一問題。
(2)Convergence(收斂):希望隨機初始化引數的模型和通過預訓練初始化引數的模型收斂地一樣快是不現實的。尤其是預訓練過程中模型已經學到低層特徵,而隨機初始化模型需要重新開始學。故而隨機初始化模型需要更長的訓練時間。
作者使用 Detectron 等人 Mask R-CNN 的超引數,以隨機初始化的方式在 COCO 資料集上進行了的物體檢測和例項分割實驗。他們首先發現,在不增加資料量,只使用 COCO 資料集中訓練資料的情況下,其結果就可以與 fine-tuned 的模型相匹敵。

圖 | 模型:在 COCO train2017 資料集上使用 ResNet-50 FPN 和 GroupNorm 訓練的 Mask R-CNN,在 val2017 上進行對邊界框的 AP 指標進行評估。由圖可見,儘管隨機初始化的模型在初期收斂速度較慢,但是最後可以達到與使用預訓練模型初始化條件下同樣好的結果。
實驗結果顯示,預訓練模型的使用在訓練初期加快了收斂速度,但是並沒有帶來最終結果準確性的提升。作者又在多個測評指標和不同的基準模型上進行了對比,其結果仍然支援這一結論。
直覺上,預訓練模型的優勢之處在於大量的預訓練資料。尤其是具體任務中的訓練資料較少時,預訓練過程可能更能展示其優勢。然而,作者驚訝地發現,即使在更少的訓練資料上(COCO 資料集的 10%),隨機初始化的模型也能取得與使用預訓練模型一樣好的結果。

圖 | 在更小資料量的 COCO 資料集上的訓練結果。模型為使用 ResNet-50 FPN 和 GroupNorm 訓練的 Mask R-CNN。左:使用在 118k 2017train 上選擇的超引數,在學習率改變的情況下會出現過擬合現象。中:在 35kCOCO 影象資料集上的實驗結果。右:在 10kCOCO 資料集上的實驗結果。中圖和右圖表明,在減小資料量的情況下,隨機初始化引數的訓練方法仍可以達到不輸使用預訓練的模型的結果。
當然,我們不能希冀這一趨勢一直持續下去。當僅僅使用 COCO 資料集中 1% 的資料(約 1k)時,訓練集上損失的下降便不能很好地轉化為驗證集上準確度的提升了。
基於大量的實驗,作者最終得出了以下幾個可能挑戰 CV 領域以往對預訓練模型認知的結論:
1. 在 ImageNet 上的預訓練是必要的嗎?
當我們擁有足夠的計算資源和訓練資料時,不是的。這也意味著收集特定任務目標資料的標註比收集預訓練資料的標註更有效。
2.ImageNet 有幫助嗎?
當然。在 ImageNet 上進行預訓練推動發展的一項極其重要的輔助任務。預訓練的代價較大,但是這種代價不需要重複付出。許多開源免費易於獲得的預訓練模型可以幫助研究人員縮短訓練時間,更快地獲得結果。
3. 我們需要大量的資料嗎?
需要。但是當我們考慮到收集資料、清洗資料所需的額外努力,一個通用大規模分類級別預訓練資料集就不是那麼理想了。既然增加這個資料集帶來的收益不是那麼理想,那麼在特定領域增加資料量會更加有效。
4.我們還要追求通用的表徵嗎?
要。我們一直相信學習通用的表徵是值得讚頌的目標,我們的實驗結果並不意味著我們要偏離這個目標。實際上,我們的工作正說明了研究人員在評估預訓練得到的特徵時應該更加小心。
如作者所言,儘管隨機初始化也可以帶來很好的結果,但是在計算資源和時間有限的情況下,使用預訓練模型仍是最佳選擇。這些實驗結果更重要的價值在於引發研究人員對預訓練過程所起作用的思索。
深度學習的特殊性質使得我們往往先通過實驗結果得到某些現象和性質,再反過來探究它們出現的原因。但若是在獲得了較好的結果之後便淺嘗輒止,缺少了進一步的探究分析,很可能反被束縛。這篇論文或許會引起計算機視覺領域對這種模式的更多探索,也警醒預訓練模型開始變得火熱的 NLP 的研究人員:預訓練的語言模型又在扮演怎樣的角色呢?
參考: ofollow,noindex"> https:// arxiv.org/abs/1811.0888 3