DeepMind:誰說卷積網(wǎng)絡(luò)不如ViT?
深度學習的早期成功可歸功于卷積神經(jīng)網(wǎng)絡(luò)(ConvNets)的發(fā)展。近十年來,ConvNets 主導了計算機視覺基準測試。然而近年來,它們越來越多地被 ViTs(Vision Transformers)所取代。
很多人認為,ConvNets 在小型或中等規(guī)模的數(shù)據(jù)集上表現(xiàn)良好,但在那種比較大的網(wǎng)絡(luò)規(guī)模的數(shù)據(jù)集上卻無法與 ViTs 相競爭。
與此同時,CV 社區(qū)已經(jīng)從評估隨機初始化網(wǎng)絡(luò)在特定數(shù)據(jù)集 (如 ImageNet) 上的性能轉(zhuǎn)變?yōu)樵u估從網(wǎng)絡(luò)收集的大型通用數(shù)據(jù)集上預(yù)訓練的網(wǎng)絡(luò)的性能。這就提出了一個重要的問題:在類似的計算預(yù)算下,Vision Transformers 是否優(yōu)于預(yù)先訓練的 ConvNets 架構(gòu)?
本文,來自 Google DeepMind 的研究者對這一問題進行了探究,他們通過在不同尺度的 JFT-4B 數(shù)據(jù)集(用于訓練基礎(chǔ)模型的大型標簽圖像數(shù)據(jù)集)上對多種 NFNet 模型進行預(yù)訓練,從而獲得了類似于 ViTs 在 ImageNet 上的性能。

論文地址:https://arxiv.org/pdf/2310.16764.pdf
本文考慮的預(yù)訓練計算預(yù)算在 0.4k 到 110k TPU-v4 核計算小時之間,并通過增加 NFNet 模型家族的深度和寬度來訓練一系列網(wǎng)絡(luò)。本文觀察到這一現(xiàn)象,即 held out 損失與計算預(yù)算之間存在 log-log 擴展率(scaling law)。
例如,本文將在 JFT-4B 上預(yù)訓練的 NFNet 從 0.4k 擴展到 110k TPU-v4 核小時(core hours)。經(jīng)過微調(diào)后,最大的模型達到了 90.4% 的 ImageNet Top-1,在類似的計算預(yù)算下與預(yù)訓練的 ViT 相競爭。

可以說,本文通過評估按比例擴大的 NFNets,挑戰(zhàn)了 ConvNets 在大規(guī)模數(shù)據(jù)集上表現(xiàn)不如 ViTs 的觀點。此外,在足夠的數(shù)據(jù)和計算條件下,ConvNets 仍然具有競爭力,模型設(shè)計和資源比架構(gòu)更重要。
看到這項研究后,圖靈獎得主 Yann LeCun 表示:「計算是你所需要的,在給定的計算量下,ViT 和 ConvNets 相媲美。盡管 ViTs 在計算機視覺方面的成功令人印象深刻,但在我看來,沒有強有力的證據(jù)表明,在公平評估時,預(yù)訓練的 ViT 優(yōu)于預(yù)訓練的 ConvNets。」

不過有網(wǎng)友評論 LeCun,他認為 ViT 在多模態(tài)模型中的使用可能仍然使它在研究中具有優(yōu)勢。
來自 Google DeepMind 的研究者表示:ConvNets 永遠不會消失。

接下來我們看看論文具體內(nèi)容。
預(yù)訓練的 NFNets 遵循擴展定律
本文在 JFT-4B 上訓練了一系列不同深度和寬度的 NFNet 模型。
如下圖 2 所示,驗證損失與訓練模型的計算預(yù)算呈線性關(guān)系,這與使用 Transformer 進行語言建模(Brown et al., 2020; Hoffmann et al., 2022)時觀察到的雙對數(shù)(log-log)擴展定律相匹配。最佳模型大小和最佳 epoch 預(yù)算(實現(xiàn)最低驗證損失)都會隨著計算預(yù)算的增加而增加。

下圖 3 繪制了 3 個模型在一系列 epoch 預(yù)算中觀察到的最佳學習率(最大限度地減少驗證損失)。研究團隊發(fā)現(xiàn)對于較低的 epoch 預(yù)算,NFNet 系列模型都顯示出類似的最佳學習率 ?? ≈ 1.6。然而,隨著 epoch 預(yù)算的增加,最優(yōu)學習率會下降,并且對于大型模型,最優(yōu)學習率下降得更快。研究團隊表示可以假設(shè)最優(yōu)學習率隨著模型大小和 epoch 預(yù)算的增加而緩慢且單調(diào)地下降,從而在 2 次試驗內(nèi)有效地調(diào)整學習率。

值得注意的是,圖 2 中一些預(yù)訓練模型的表現(xiàn)不如預(yù)期。研究團隊認為出現(xiàn)這種情況是因為如果訓練運行被搶占 / 重新啟動,那么數(shù)據(jù)加載 pipeline 不能保證每個訓練樣本在每個 epoch 都會采樣一次,如果訓練運行多次重新啟動,則可能導致某些訓練樣本采樣次數(shù)不足。
NFNet vs ViT
該研究在 ImageNet 上的實驗表明:經(jīng)過微調(diào)的 NFNet 與 Vision Transformer 性能相當。
具體來說,該研究在 ImageNet 上微調(diào)了預(yù)訓練 NFNet,并繪制了預(yù)訓練計算與 Top-1 error 關(guān)系圖,如上述圖 1 所示。
隨著計算預(yù)算的增加,ImageNet Top-1 準確性不斷提高。其中最昂貴的預(yù)訓練模型是預(yù)訓練 8 個 epoch 的 NFNet-F7+,ImageNet Top-1 準確率達到了 90.3%,需要大約 110k TPU-v4 核小時進行預(yù)訓練和 1.6k TPU-v4 核小時進行微調(diào)。此外,如果在微調(diào)期間額外引入重復增強(repeated augmentation),那么可以實現(xiàn) 90.4% 的 Top-1 準確率。NFNet 從大規(guī)模預(yù)訓練中受益匪淺。
盡管 NFNet 和 ViT 兩種模型架構(gòu)之間存在顯著差異,但預(yù)訓練 NFNet 與預(yù)訓練 ViT 性能相當。例如,在 JFT-3B 上預(yù)訓練 210k TPU-v3 核小時后,ViT-g/14 在 ImageNet 上實現(xiàn)了 90.2% 的 Top-1 準確率,在 JFT-3B 上預(yù)訓練超過 500k TPU-v3 核小時后,ViT-G/14 實現(xiàn)了 90.45% 的 Top-1 準確率。
本文評估了這些模型在 TPU-v4 上的預(yù)訓練速度,并估計 ViT-g/14 需要 120k TPU-v4 核小時來預(yù)訓練,而 ViTG/14 則需要 280k TPU-v4 核小時數(shù),SoViT-400m/14 將需要 130k TPU-v4 核小時數(shù)。本文使用這些估計來比較圖 1 中 ViT 和 NFNet 的預(yù)訓練效率。研究注意到,NFNet 針對 TPU-v4 進行了優(yōu)化,在其他設(shè)備上評估時表現(xiàn)較差。
最后,本文注意到,預(yù)訓練的 checkpoints 在 JFT-4B 上實現(xiàn)了最低的驗證損失,然而微調(diào)后并不總能在 ImageNet 上實現(xiàn)最高的 Top-1 準確率。特別是,本文發(fā)現(xiàn),在固定的預(yù)訓練計算預(yù)算下,微調(diào)機制始終傾向于稍大的模型和稍小的 epoch 預(yù)算。直觀上來說,更大的模型具有更大的容量,因此能夠更好地適應(yīng)新任務(wù)。在某些情況下,稍大的學習率(在預(yù)訓練期間)在微調(diào)后也能獲得更好的性能。





























