2015年的ResNet潛力都挖掘出來了嗎?新研究:不用蒸餾、無額外數(shù)據,性能還能漲一波
基線:我要是用上最新的訓練流程,性能還能漲一波。
在計算機視覺領域,何愷明等人 2015 年提出的 ResNet(deep residual network,深度殘差網絡)一直被視為經典架構,它解決了深度 CNN 模型難訓練的問題,是 CNN 圖像史上的一個里程碑之作。
自提出以來,ResNet 系列模型一直被用作研究中的默認架構,或者新模型提出時用來對比的基線。然而,在過去的幾年里,神經網絡訓練方面的最佳實踐已經取得了很大進展。新穎的優(yōu)化、數(shù)據增強等方法提高了訓練流程的有效性。
在這篇論文中,獨立研究者 Ross Wightman 以及 Facebook AI、索邦大學的兩位研究者重新評估了普通 ResNet-50 在加入上述訓練進展之后所能達到的性能。
論文鏈接:https://arxiv.org/pdf/2110.00476.pdf
具體而言,研究者重新評估了使用不同訓練方法時普通 ResNet-50 的性能,并在 timm 開源庫中分享了有競爭力的訓練設置和預訓練模型,希望它們可以成為未來研究工作的更好基線。例如,在 ImageNet-val 數(shù)據集上,使用研究者更高要求的訓練設置,并在無額外數(shù)據或蒸餾的情況下,普通 ResNet-50 在分辨率 224×224 下實現(xiàn)了 80.4% 的 top-1 準確率。
此外,研究者還報告了其他流行模型使用他們的訓練流程時取得的性能結果。
基線也需要與時俱進
在過去的十幾年里,人們已經見證了圖像分類領域的很多重大進展,這些反映在了 ILSVRC’2012 挑戰(zhàn)賽或其他圖像分類基準測試結果的改進上。從原理上來講,性能的提升反映了社區(qū)對下面這個問題的最大化求解:
A 為架構設計,T 為訓練設置和超參數(shù),N 為測量噪聲,其中還包括從大量超參數(shù)或方法中選擇最大值時經常出現(xiàn)的過擬合。降低 N 的良好做法有幾種,比如使用不同的 seed 測量標準差、使用單獨的評估數(shù)據集或者在遷移任務上對模型進行評估。
暫且撇開 N 不談,評估 A 或 T 上的進展也構成了一個挑戰(zhàn),這是因為它們的進展隨時間推移而變化。當在 (A, T ) 上進行聯(lián)合優(yōu)化時,無法保證給定架構 A_1 的最優(yōu)選擇 T_1 依然是另一模型設計 A_2 的最佳選擇。因此,即使是在同一訓練流程下比較模型時,人們也可能隱式地偏愛某一個模型。
將訓練流程與架構各自帶來的改進分開的一個好處是確?;€包含來自文獻的新「成分」,并在調整超參數(shù)方面付出合理的努力。理想狀態(tài)下,如果沒有資源和時間限制,人們可以為每個架構適配最佳的訓練流程,如下公式(1)所示:
但在現(xiàn)實中,這種理想狀態(tài)是不可能的。當比較架構時,大多數(shù)論文往往與以往發(fā)表論文中的結果進行比較,但被比較的這些架構使用的通常是相對較弱的訓練流程,最好的情況下也僅僅是使用類似或相同的流程。
本文作者表示,他們還沒有發(fā)現(xiàn)專門通過廣泛的成分選擇和超參數(shù)搜索來提升 ResNet-50 訓練流程的研究努力。在以往的文獻中,ImageNet-1k-val 上報告的針對 ResNet-50 架構的性能范圍區(qū)間為 75.2% 到 79.5%,具體取決于論文本身。目前還不清楚是否已經投入足夠的努力來進一步推動基線。因此,研究者想要填補這方面的研究空白。
研究者探究的是何愷明等人提出的普通 ResNet-50 架構。他們優(yōu)化訓練流程以最大化該模型在原始測試分辨率 224 × 224 下的性能。這里只考慮訓練流程(training recipe)。因此,研究者排除了 ResNet-50 的所有變體,如 SE-ResNet-50 或 ResNet-50-D,這些變體通常會在相同的訓練流程下提升準確率。
3 種不同的訓練流程
研究者提出了 3 種具有不同成本和性能的訓練流程,以覆蓋不同的用例,下表 1 展示了 3 種訓練流程的資源使用情況和 top-1 準確率結果。
這 3 種訓練流程以實現(xiàn)測試分辨率 224 × 224 下 ResNet-50 的最佳性能為目標。研究者探索了很多使用不同優(yōu)化器、正則化以及超參數(shù)合理網格搜索數(shù)量的變體。其中,他們主要關注以下三個不同的訓練流程:
流程 A1 旨在為 ResNet-50 提供最佳性能,因此 epoch 數(shù)量最多(600),訓練時間最長(在一個配有 4 個 V100 32GB GPU 的節(jié)點上訓練 4.6 天)
流程 A2 的 epoch 數(shù)量為 300,可與 DeiT 等其他幾個優(yōu)秀訓練流程媲美,但批大小更大(2048)。
流程 A3 旨在通過 100 個 epoch 和 2048 的批大小超越普通 ResNet-50 的流程,它在 4 個 V100 16GB GPU 上訓練了 15 個小時,并且可能是探索性研究的良好設置。
如下表 2 所示,研究者將用于訓練普通 ResNet-50 的不同方法與他們的方法進行了比較,其中只考慮修改了未修改的 ResNet-50 架構(即不考慮其他變體)。此外,研究者不考慮使用蒸餾之類的高級訓練設置,或者通過自監(jiān)督或偽標簽預訓練的模型。
實驗結果
上表 1 總結了文中提出的訓練流程的主要特點。研究者表示,就他們所知,使用訓練流程 A1 訓練的一個普通 ResNet-50 架構在 224×224 分辨率的 ImageNet 圖像測試中超越了 SOTA 模型。其他兩個訓練流程(A2、A3)雖然沒有達到 A1 的水平,但也用較少的資源實現(xiàn)了較高的性能。
在下表 3 中,研究者記錄了使用本文提出的訓練流程訓練其他架構時的效果,以測試這些訓練流程在其他模型上的泛化能力。在某些情況下,研究者觀察到 A2 要優(yōu)于 A1,這表明超參數(shù)不適用于較長的 schedule(通常需要更多的正則化)。
在下表 4 中,研究者對表 3 中的結果進行了補充。
在下表 5 中,研究者記錄了使用不同的預訓練流程在 7 個細粒度數(shù)據集上得到的遷移學習性能數(shù)據,并與默認的 PyTorch 預訓練進行了比較??傮w來看,A1 在大多數(shù)下游任務中都達到了最好的性能。
更多細節(jié)請參見論文。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。