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