ResNet-RS:谷歌領銜調優ResNet,性能全面超越EfficientNet系列 | 2021 arxiv

論文重新審視了ResNet的結構、訓練方法以及縮放策略,提出了性能全面超越EfficientNet的ResNet-RS系列。從實驗效果來看性能提升挺高的,值得參考

來源:曉飛的算法工程筆記 公衆號

論文: Revisiting ResNets: Improved Training and Scaling Strategies

Introduction


 視覺模型的準確率由結構、訓練方式和縮放策略共同決定,新模型的實驗通常使用了新的訓練方法和超參數,不能直接和過時的訓練方法得到的舊模型結果進行對比。爲此,論文打算在ResNet上驗證不同的訓練方法和縮放策略的影響。
 論文的主要貢獻如下:

  • 在不改變模型結構的前提下,通過實驗驗證正則化方法及其組合的作用,得到能提升性能的正則化策略。
  • 提出簡單、高效的縮放策略:1)如果實驗配置可能出現過擬合(比如訓練週期長),優先縮放深度,否則縮放寬度。2)更慢地縮放輸入分辨率。
  • 將上面的正則化策略和縮放策略實驗結果應用到ResNet提出ResNet-RS,性能全面超越EfficientNet。
  • 使用額外的130M僞標籤圖片對ResNet-RS進行半監督預訓練,ImageNet上的性能達到86.2%,TPU上的訓練速度快4.7倍。
  • 將通過自監督獲得的ResNet-RS模型,在不同的視覺任務上進行fine-tuned,性能持平或超越SimCLR和SimCLRv2。
  • 將3D ResNet-RS應用到視頻分類,性能比baseline高4.8%。

Characterizing Improvements on ImageNet


 模型的提升可以粗略地分爲四個方向:結構改進、訓練/正則方法、縮放策略和使用額外的訓練數據。

Architecture

 新結構的研究最受關注,神經網絡搜索的出現使得結構研究更進了一步。另外還有一些脫離經典卷積網絡的結構,比如加入self-attention或其它替代方案,如lambda層。

Training and Regularization Methods

 當模型需要訓練更長時間時,正則方法(如dropout、label smoothing、stochastic depth、dropblock)和數據增強能有效地提升模型泛化能力,而更優的學習率調整方法也能提升模型最終的準確率。爲了與之前的工作進行公平對比,一些研究僅簡單地使用無正則的訓練設置,這樣顯然不能體現研究的極致性能。

Scaling Strategies

 提升模型的維度(寬度、深度和分辨率)也是提升準確率的有效方法。特別是在自然語言模型中,模型的規模對準確率有直接的影響,而在視覺模型中也同樣有效。隨着計算資源的增加,可以適當增加模型的維度。爲了將此適配系統化,EfficentNet提出了混合縮放因子方法,用於縮放時平衡網絡深度、寬度和分辨率之間的關係,但論文發現這個方法並不是最優的。

Additional Training Data

 另一個有效提升性能的方法是使用額外的數據集進行預訓練。在大規模數據集下預訓練的模型,能夠在ImageNet上達到很好的性能。需要注意的是,這裏並非必須要標註好的數據集,使用僞標籤的半監督訓練,同樣也能達到很好的性能。

Methodology


Architecture

 在結構上,ResNet-RS僅採用了ResNet-D加SENet的改進,這些改進在當前的模型中經常被採用。

  • ResNet-D

 對原生的ResNet進行了四處改進:1)將stem的\(7\times 7\)卷積替換爲3個\(3\times 3\)卷積。2)交換下采樣模塊的residual路徑的頭兩個卷積的stride配置。3)將下采樣模塊的skip路徑中的stride-2 \(1\times 1\)卷積替換爲stride-2 \(2\times 2\)平均池化和non-strided \(1\times 1\)卷積。4)去掉stem中的stride-2 \(3\times 3\)最大池化層,在下個bottleneck的首個\(3\times 3\)卷積中進行下采樣。

  • Squeeze-and-Excitation

 SE模塊通過跨通道計算獲得的各通道的權值,然後對通道進行加權。設置ratio=0.25,在每個bottleneck中都加入。

Training Method

 研究當前SOTA分類模型中使用的正則化和數據增強方法,以及半監督/自監督學習。

  • Matching the EfficientNet Setup

 訓練方法與EfficientNet類似,共訓練350輪,有以下細微的差異:1)使用cosine學習率調整方法。2)使用RandAugment增強數據。EfficientNet最初使用AutoAugment增強數據,使用RandAugment結果變化不大。3)爲了簡便,使用Momentum優化器而不是RMSProp優化器。

  • Regularization

 使用weight decay,label smoothing,dropout和stochastic depth進行正則化。

  • Data Augmentation

 使用RandAugment數據增強作爲額外的正則化器,對每張圖片使用一系列隨機增強方法。

  • Hyperparameter Tuning

 爲了快速選擇適合不同正則方法和訓練方法的超參數,使用包含ImageNet的2%(1024分片取20分片)數據構成minival-set,而原本的ImageNet驗證集作爲validation-set。

Improved Training Methods


Additive Study of Improvements

 論文對各訓練方法、正則化方法、結構優化進行了疊加實驗,結果如表2所示,訓練方法和正則化方法帶來的提升大約佔3/4的總精度提升。

Importance of decreasing weight decay when combining regularization methods

 論文在使用RandAugment和label smoothing時,沒有改變默認的weight decay設置,性能有提升。但在加入dropout或stochastic depth後,性能出現了下降,最後通過降低weight decay來恢復。weight decay用於正則化參數,在搭配其它正則化處理時,需要降低其值避免過度正則化。

Improved Scaling Strategies


 爲了探索模型縮放的邏輯,預設寬度比例[0.25, 0.5, 1.0, 1.5, 2.0]、深度比例[26, 50, 101, 200, 300, 350, 400]以及分辨率[128, 160, 224, 320, 448],組合不同的比例進行模型性能的實驗。每個組合訓練350週期,訓練配置與SOTA模型一致,在模型大小增加時,相應地加強正則化的力度。
 主要有以下發現:

  • FLOPs do not accurately predict performance in the bounded data regime。在模型較小時,模型性能跟模型大小成正相關關係,但當模型變得越大後,這種關係就變得越不明顯了,轉而跟縮放策略有關。使用不同縮放策略將模型縮放到相同大小,模型越大,性能差異越大。

  • The best performing scaling strategy depends on the training regime。不同訓練週期下,不同縮放版本的性能曲線差異較大,因此縮放策略的最好性能跟實驗的設置有很大關係。

Strategy #1 - Depth Scaling in Regimes Where Overfitting Can Occur

 Depth scaling outperforms width scaling for longer epoch regimes。從圖3右可以看出,在350週期的訓練配置下,深度縮放在任意輸入分辨率下都要比寬度縮放更有效。寬度縮放對過擬合是次優的,甚至有時會導致性能損失,這可能由於寬度縮放引入了過多參數,而深度縮放僅引入少量參數。
 Width scaling outperforms depth scaling for shorter epoch regimes,從圖3左可以看出,在10週期的訓練配置下,寬度縮放更優。而從圖3中可以看出,在100週期的訓練配置下,搭配不同的輸入分辨率,深度縮放和寬度縮放的性能各有差異。

Strategy #2 - Slow Image Resolution Scaling

 從圖2可以看出,輸入分辨率越大,可帶來的收益增加越少,也就是性價比越低。因此,在輸入分辨率縮放上,論文采取最低優先級,從而更好地折中速度和準確率。

Two Common Pitfalls in Designing Scaling Strategies

 在分析縮放策略時,論文發現了兩個常見的錯誤做法:

  • Extrapolating scaling strategies from small-scale regimes,從小尺寸的實驗設置進行研究。以往的搜索策略通常使用小模型或較短的訓練週期進行研究,這種場景最優的縮放策略不一定能遷移到大模型和較長週期下的訓練。因此,論文不推薦在這種場景下花費大力氣進行縮放策略實驗。
  • Extrapolating scaling strategies from a single and potentially sub-optimal initial architecture,從次優的初始結構進行縮放會影響縮放的結果。比如EfficientNet的混合縮放固定了計算量和分辨率進行搜索,然而分辨率也是影響準確率的一個影響因素。因此,論文綜合寬度、深度和分辨率進行縮放策略研究。

Summary of Improved Scaling Strategies

 對於新任務,論文建議先使用小點的訓練子集,對不同尺寸的配置進行完整週期訓練測試,找到對準確率影響較大的縮放維度。對於圖片分類,縮放策略主要有以下兩點:

  • 如果實驗配置可能出現過擬合(比如訓練週期長),優先縮放深度,否則縮放寬度。
  • 緩慢地縮放輸入分辨率。

 論文最終搜索得到的ResNet-RS系列的配置如表7所示,在準確率匹配EfficientNet的前提下,TPU上的計算速度快1.7~2.7倍。需要說明的是,雖然ResNet-RS的計算量和參數量普遍比EfficientNet高,但ResNet-RS的實際計算速度和內存使用都更優秀,說明計算量和參數量並不能直接代表速度大小和內存佔用。

Experiment


 對EfficentNet進行優化後對比。


 半監督效果對比。

 自監督在不同任務上的效果對比。

 視頻分類的對比實驗。

Conclusion


 論文重新審視了ResNet的結構、訓練方法以及縮放策略,提出了性能全面超越EfficientNet的ResNet-RS系列。從實驗效果來看性能提升挺高的,值得參考。



如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公衆號【曉飛的算法工程筆記】

work-life balance.

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