ResNet強勢升級,僅改進訓練和擴展策略便與EfficientNets一爭高下

點擊下面卡片關注AI算法與圖像處理”,選擇加"星標"或“置頂”

重磅乾貨,第一時間送達


來源丨機器之心
編輯丨極市平臺

導讀

 

谷歌大腦和 UC 伯克利的研究者的最新研究重新審視了ResNet 架構,他們提出了ResNet 的變體架構 ResNet-RS,其使用的內存不僅更少,在 TPU 和 GPU 上的訓練速度也數倍於 EfficientNet。 

架構變化、訓練方法和擴展策略是影響模型性能的不可或缺的重要因素,而當前的研究只側重架構的變化。谷歌大腦和 UC 伯克利的一項最新研究重新審視了 ResNet 架構,發現對於提升模型性能而言,改進訓練和擴展策略或許比架構變化更重要。他們提出了 ResNet 的變體架構 ResNet-RS,其使用的內存不僅更少,在 TPU 和 GPU 上的訓練速度也數倍於 EfficientNet。

視覺模型的性能是架構、訓練方法和擴展策略的綜合結果。但是,研究往往只強調架構的變化。新架構是促成諸多進展的基礎,但與新架構同時出現的通常還有訓練方法和超參數變化——一些關鍵但很少公開的細節。此外,通過現代訓練方法改進的新架構有時需要與使用過時訓練方法的舊架構進行對比,例如 ImageNet 數據集上 Top-1 準確率爲 76.5% 的 ResNet-50 架構。

訓練方法和擴展策略對流行的 ResNet 架構有哪些影響呢?近日,谷歌大腦和 UC 伯克利的研究者給出了他們的答案。

論文鏈接:https://arxiv.org/pdf/2103.07579.pdf

研究者調查了現今廣泛使用的現代訓練和正則化方法,並將其應用於 ResNet,如下圖 1 所示。在這一過程中,他們觀察到訓練方法之間的交互,並展示了與其他正則化方法一同使用時減少權重衰減值的益處。此外,下表 1 中的訓練方法試驗也揭示了這些策略的重大影響:僅通過改進訓練方法,典型 ResNet 架構的 ImageNet Top-1 準確率由 79.0% 提升至 82.2% (+3.2%)。通過兩個微小且常用的架構改進:ResNetD 和 Squeeze-and-Excitation,準確率更是提升至 83.4%。圖 1 通過速度 - 準確率帕累託曲線描述了 ResNet 架構的優化過程:

研究者還提供了擴展視覺架構的新思路和實用建議。相較於以往研究從小模型或者從少量 epoch 的訓練中推斷擴展策略,該研究基於對不同規模的模型執行完整的訓練來設計擴展策略(如選擇 350 個 epoch,而不是 10 個 epoch),進而發現最佳擴展策略與訓練機制(epoch 數量、模型大小和數據集大小)之間的強依賴性。這些依賴性在小型訓練系統中被忽略了,從而導致次優的擴展決策。研究者將他們的擴展策略總結如下:1)在過擬合可發生的訓練設置下擴展模型深度(否則擴展寬度更可取);2)以更慢的速度擴展圖像分辨率。

使用這種改進的訓練和擴展策略,研究者設計了 re-scaled ResNet(ResNet-RS),它基於不同規模的模型進行訓練,其速度準確率帕累託曲線如圖 1 所示。ResNet-RS 模型在訓練中使用了更少的內存,但在 TPU 上的速度是 EfficientNets 的 1.7-2.7 倍,GPU 上的速度是 EfficientNets 的 2.1-3.3 倍。在大規模半監督學習設置下,使用 ImageNet 和額外 1.3 億僞標註圖像進行聯合訓練時,ResNet-RS 在 TPU 上的訓練速度是 EfficienrtNet-B5 的 4.7 倍,GPU 上的速度是 EfficientNet-B5 的 5.5 倍。

最後,研究者通過一系列實驗驗證了這些改進訓練和擴展策略的泛化性。他們首先使用該擴展策略設計了 EfficientNet 的速度更快版本 EfficientNet-RS,它的速度準確率帕累託曲線表現優於原版 EfficientNet。接着,研究者展示了改進訓練策略的性能表現在一系列下游任務上媲美甚至優於自監督算法 SimCLR 和 SimCLRv2 的表現。改進訓練策略還可以泛化至視頻分類任務。在 Kinetics-400 數據集上將該訓練策略應用於 3D-ResNets,可以將準確率從 73.4% 提升至 77.4%(+4%)。

通過將微小的架構變化與這種改進訓練和擴展策略結合起來,研究者發現 ResNet 架構爲視覺研究設置了 SOTA 基線。這一發現強調了梳理區分這些因素的重要性,以便了解哪些架構表現更優。

方法

研究者介紹了基礎的 ResNet 架構和使用到的訓練方法。

架構

研究者介紹了 ResNet 架構以及兩種廣泛使用的架構變化策略:ResNet-D 修改和所有瓶頸塊中的 Squeeze-and Excitation (SE)。TResNet、ResNeSt 和 EfficientNets 等多個架構使用了這兩種架構變化策略。

訓練方法

研究者介紹了 SOTA 分類模型和半 / 自監督學習中通常使用的正則化和數據增強方法。

研究者使用的訓練方法與 EfficientNet 非常接近,訓練了 350 個 epoch,但還是存在一些差異:

1)爲簡單起見,研究者使用了餘弦學習率調度,而沒有使用指數式衰減。

2)在所有模型中使用了 RandAugment,原版 EfficientNet 使用的是 AutoAugment。研究者使用 RandAugment 重新訓練了 EfficientNets B0-B4,發現沒有出現性能提升。

3)使用 Momentum 優化器,而沒有使用 RMSProp。

研究者採用權重衰減、標籤平滑、dropout 和隨機深度這些正則化方法,並將 RandAugment 數據增強作爲額外的正則化器。

改進訓練方法

加性研究

下表 1 展示了對訓練、正則化方法和架構變化的加性研究。基線 ResNet-200 獲得了 79.0% 的 Top-1 準確率,研究者通過改進訓練方法(未改變架構)將性能提升至 82.2% (+3.2%)。添加兩個常見的架構更新後(Squeeze-and-Excitation 和 ResNet-D),模型性能進一步提升至 83.4%。其中訓練方法帶來的性能提升佔 3/4,這說明訓練方法的改進對 ImageNet 性能起到關鍵作用。

結合正則化方法時,降低權重衰減值的重要性

下表 2 展示了在結合多種正則化方法時,改變權重衰減值的重要性:

在應用 RandAugment (RA) 和標籤平滑 (LS) 時,無需改變默認權重衰減 1e-4。但進一步添加 dropout (DO) 和隨機深度 (SD) 之後,不降低權重衰減值會導致模型性能下降。

改進擴展策略

研究者在本節中展示了擴展策略同樣重要。爲了建立擴展趨勢,研究者在 ImageNet 上對寬度乘法器 [0.25,0.5,1.0,1.5,2.0]、深度 [26,50,101,200,300,350,400] 、分辨率 [128,160,224,320,448] 進行廣泛搜索。

該研究模仿 SOTA ImageNet 模型的訓練設置,訓練 epoch 爲 350。隨着模型尺寸的增加,研究者增加正則化以限制過度擬合。

策略 1:在過擬合發生的機制下進行深度擴展

對於較長的 epoch 機制,深度擴展優於寬度擴展。在 350 個 epoch 設置中(下圖 3 右),研究者觀察到,在所有圖像分辨率中,深度擴展的效果明顯優於寬度擴展。寬度擴展會導致過擬合,即使增加正則化,性能也會下降。他們假設這是由於擴展寬度時參數增加較大所致。因此,與擴展寬度相比,擴展深度(特別是在較早的層中)引入的參數更少。

在較短 epoch 的機制下,寬度擴展優於深度擴展。相比之下,當只訓練 10 個 epoch 時,寬度擴展效果更好(圖 3,最左邊)。

策略 2:減少圖像分辨率擴展

在下圖 2 中,研究者還觀察到較大的圖像分辨率會導致性能衰減。因此,他們建議相比以往的工作,應逐漸增加圖像分辨率。實驗表明,較慢的圖像擴展同時提升了 ResNet 和 EfficientNets 架構的性能。

設計擴展策略的兩個常見錯誤

1. 在小規模設置下(如小模型或少量訓練 epoch)推斷擴展策略:這無法泛化至大模型或更長的訓練迭代;

2. 在單個次優初始架構中推斷擴展策略:次優初始架構會影響擴展結果。

小結

對於一項新任務,一般推薦將一組不同規模的模型運行完整的訓練 epoch,以瞭解哪些維度最有用。但這一方法成本較高,該研究指出如果不搜索架構,則成本將得到顯著降低。

對於圖像分類,擴展策略可以總結爲:在會發生過擬合的設置下擴展深度,緩慢的圖像分辨率擴展。實驗表明,對 ResNet 和 EfficientNet 應用這些擴展策略(得到 ResNetRS 和 EfficientNet-RS)會帶來相比於 EfficientNet 的極大加速。近期研究如相比 EfficientNet 實現極大加速的 LambdaResNet 和 NFNet,也使用了類似的擴展策略。

實驗

ResNet-RS 的速度 - 準確率

研究者使用改進後的訓練和擴展策略,設計了 ResNet-RS。下圖 4 對比了 EfficientNet 和 ResNet-RS 的速度 - 準確率帕累託曲線,從中可以看到 ResNet-RS 與 EfficientNet 具備類似性能時,在 TPU 上的速度是後者的 1.7-2.7 倍。

這一加速讓人意想不到,畢竟 EfficientNet 的參數量和 FLOPs 相比 ResNet 有顯著減少。研究者分析了原因,並展示了 EfficientNet 和 ResNet-RS 的性能對比情況,從中可以看出參數量和 FLOPs 的影響:

提升 EfficientNet 的效率

上文的分析表明擴展圖像分辨率會導致收益遞減。這說明 EfficientNet 倡導的擴展規則(增加模型深度、寬度和分辨率)是次優的。

研究者將 Strategy #2 應用於 EfficientNet,訓練出多個圖像分辨率降低的版本,並且並未改變模型的深度或寬度。下圖 5 展示了重擴展後的 EfficientNet (EfficientNetRS) 相比原版 EfficientNet 的性能提升:

半監督學習

研究者在使用大型數據集的大規模半監督學習設置下,衡量 ResNet-RS 的性能。具體而言,該研究在 1.2M ImageNet 標註圖像和 130M 僞標註圖像上進行模型訓練,訓練方式類似於 Noisy Student。

下表 4 展示了 ResNet-RS 模型在半監督學習設置下性能依然強大。該模型在 ImageNet 數據集上獲得了 86.2% 的 top-1 準確率,相比於對應的 Noisy Student EfficientNet-B5 模型其在 TPU 上速度快了 3.7 倍(GPU 上的速度快 4.5 倍)。

ResNet-RS 的遷移學習效果

下表 5 對比了改進版監督學習策略(RS)和自監督 SimCLR、SimCLRv2 的遷移性能,發現即使在小型數據集上,改進版訓練策略也能提升模型的遷移性能。

針對視頻分類設計的 3D ResNet

下表 6 展示了 RS 訓練方法和架構改進的加性研究。將該訓練策略擴展至視頻分類任務,準確率從 73.4% 增至 77.4% (+4.0%)。ResNet-D 和 Squeeze-and-Excitation 架構變化更是進一步將性能提升到 78.2% (+0.8%)。與圖像分類任務的情況類似(參加表 1),研究者發現大多數提升不需要架構變化。不需要模型擴展,3D ResNet-RS-50 的性能也只比 SOTA 模型的性能(80.4%)低了 2.2%。

  
      
      
      
個人微信(如果沒有備註不拉羣!
請註明: 地區+學校/企業+研究方向+暱稱



下載1:何愷明頂會分享


AI算法與圖像處理」公衆號後臺回覆:何愷明,即可下載。總共有6份PDF,涉及 ResNet、Mask RCNN等經典工作的總結分析


下載2:終身受益的編程指南:Google編程風格指南


AI算法與圖像處理」公衆號後臺回覆:c++,即可下載。歷經十年考驗,最權威的編程規範!



    
    
    
下載3 CVPR2021

AI算法與圖像處公衆號後臺回覆: CVPR 即可下載1467篇CVPR 2020論文 和 CVPR 2021 最新論文

點亮 ,告訴大家你也在看



本文分享自微信公衆號 - AI算法與圖像處理(AI_study)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章