天天看點

ViT的複仇:Meta AI提出ViT訓練的全新baseline

選自arXiv

作者:Adam Zewe

機器之心編譯

編輯:趙陽、張倩

本文提出了訓練視覺 Transformer(ViT)的三種資料增強方法:灰階、過度曝光、高斯模糊,以及一種簡單的随機修剪方法 (SRC)。實驗結果表明,這些新方法在效果上大大優于 ViT 此前的全監督訓練方法。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

Transformer 模型 [55] 及其衍生模型在 NLP 任務中取得巨大成功後,在計算機視覺任務中也越來越受歡迎。這一系列的模型越來越多地用于圖像分類 [13]、檢測與分割 [3]、視訊分析等領域。尤其是 Dosovistky 等人 [13] 提出的視覺 Transformer(ViT)成為了卷積結構的合理替代模型。這些現象說明 Transformers 模型已經可以作為一種通用架構,來通過注意力機制學習卷積以及更大區間的操作 [5,8]。相比之下,卷積網絡 [20,27,29,41] 本就具備了平移不變性,不用再通過訓練來擷取。是以,包含卷積的混合體系結構比普通 Transformers 收斂得更快也就不足為奇了 [18]。

因為 Transformer 僅将多個 patch 中相同位置的像素合并,是以 Transformer 必須了解圖像的結構,同時優化模型,以便它處理用來解決給定任務目标的輸入。這些任務可以是在監督情況下産生标簽,或者在自監督方法下的其他代理任務。然而,盡管 Transformer 取得了巨大的成功,但在計算機視覺方面研究如何有效訓練視覺 Transformer 的工作卻很少,特别是在像 ImageNet1k 這樣的中型資料集上。從 Dosovistky 等人的工作 [13] 開始,訓練步驟大多是使用 Touvron 等人 [48] 和施泰納等人 [42] 提出的方法的變體。相比之下,有許多工作通過引入池化、更有效的注意力機制或者重新結合卷積和金字塔結構的混合架構提出了替代架構。這些新設計雖然對某些任務特别有效,但不太通用。是以研究者們會困惑,性能的提高到底是由于特定的架構設計,還是因為它按照 ViT 卷積所提出的方式改進了優化過程。

最近,受時下流行的基于 BerT 預訓練啟發的自監督方法為計算機視覺中的 BerT 時代帶來了希望。從 Transformer 架構本身出發,NLP 和 CV 領域之間存在一些相似之處。然而,并非在所有方面都是相同的:處理的模态具有不同的性質(連續與離散)。CV 提供像 ImageNet [40] 這樣的大型帶有注釋的資料庫,并且在 ImageNet 上進行全監督的預訓練對于處理不同的下遊任務(例如遷移學習 [37] 或語義分割)是有效的。

如果沒有對 ImageNet 上全監督方法的進一步研究,很難斷定像 BeiT [2] 這樣的自監督方法的性能是否該歸因于網絡的訓練過程,例如資料增強、正則化、優化,或能夠學習更一般的隐式表示的底層機制。在本文中,研究者們沒有強行回答這個難題,而是通過更新正常 ViT 架構的訓練程式來探讨這個問題。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

論文位址:https://arxiv.org/pdf/2204.07118.pdf

研究者們希望這個工作能有助于更好地了解如何充分利用 Transformer 的潛力以及說明類似 BerT 的預訓練的重要性。他們的工作建立在最新的全監督和自監督方法的基礎上,并對資料增強提出了新的見解。作者為 ImageNet-1k 和 ImageNet-21k 上的 ViT 提出了新的訓練方法。主要構成如下:

作者以 Wightman 等人的工作 [57] 為基礎,同樣使用 ResNet50 。特别之處在于,僅對 Imagenet1k 的訓練過程采用二進制交叉熵損失,這一步可以通過引入一些顯着改善大型 ViT [51] 訓練的方法,即 stochastic depth [24] 和 LayerScale [51],來實作。

3-Augment:這是一種簡單的資料增強方式,靈感來自于自監督學習。令人驚訝的是,在使用 ViT 時,作者觀察到這種方法比用于訓練 ViT 的常用自動 / 學習資料增強(如 RandAugment [6])效果更好。

在像 ImageNet-21k 這樣的更大資料集上進行預訓練時,簡單随機裁剪的方式比調整大小後再随機裁剪的方式更有效。

訓練時降低分辨率。這種選擇減少了訓練和測試過程的差異 [53],而且還沒有被 ViT 使用。作者觀察到這樣做還能通過防止過拟合,來使得對最大的模型産生正則化效果。例如,目标分辨率是 224 × 224 ,在分辨率 126 × 126(81 個 token)下預訓練的 ViT-H 在 ImageNet-1k 上的性能比在分辨率 224 × 224(256 個 token)下預訓練時更好。并且在預訓練時的要求也較低,因為 token 數量減少了 70%。從這個角度來看,這樣做提供了與掩碼自編碼器 [19] 類似的縮放屬性。

這種 “新” 訓練政策不會因最大模型而飽和,這比 Touvron 等人的 Data-Efficient Image Transformer (DeiT) [48] 又多邁出了一步。至此,研究者們在圖像分類和分割方面都獲得了具有競争力的性能,即使是與最近流行的架構(如 SwinTransformers [31] 或現代卷積網絡架構(如 ConvNext [32])相比也是如此。下面闡述一些作者認為有趣的結果。

即使在中等規模的資料集上,研究者也會利用具有更多能力的模型。例如,僅在 ImageNet1k 上訓練 ViT-H 時, top-1 準确率達到 85.2%,這比文獻中報道的分辨率為 224×224 的監督訓練過程的最佳 ViT-H 提高了 +5.1%。

ImageNet-1k 訓練程式允許訓練十億參數的 ViT-H(52 層),無需任何超參數适應,隻需使用與 ViT-H 相同的随機深度下降率。在 224×224 時達到 84.9%,即比在相同設定下訓練的相應 ViT-H 高 +0.2%。

在不犧牲性能的情況下,将所需的 GPU 數量和 ViT-H 的訓練時間都能減少一半 以上,進而可以在不減少資源的情況下有效地訓練此類模型。這要歸功于研究者以較低分辨率進行的預訓練,進而減少了峰值記憶。

對于 ViT-B 和 Vit-L 模型,作者提出的監督訓練方法與具有預設設定的類似 BerT 的自監督方法 [2, 19] 相當,并且在使用相同級别的注釋和更少的 epoch 時,兩者都适用于圖像分類和語義分割任務。

通過這種改進的訓練過程,vanilla ViT 縮小了與最近最先進架構的差距,同時通常能提供更好的計算 / 性能權衡。作者提出的模型在附加測試集 ImageNet-V2 [39] 上也相對更好,這表明他們訓練的模型比先前的大多數工作能更好地泛化到另一個驗證集上。

對遷移學習分類任務中使用的裁剪比率的影響進行消融實驗。研究者觀察到裁剪結果對性能有顯着影響,但最佳值很大程度上取決于目标資料集 / 任務。

Vision Transformers 重溫訓練和預訓練

在本節中,研究者介紹了視覺 Transformers 的訓練過程,并将其與現有方法進行比較。他們在表 1 中詳細說明了不同的成分。基于 Wightman 等人 [57] 和 Touvron 等人 [48] 的工作,作者介紹了幾個對最終模型精度有重大影響的改動。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

資料增強

自從 AlexNet 出現以來,用于訓練神經網絡的資料增強流程有幾次重大的修改。有趣的是,相同的資料增強,如 RandAugment [6],被廣泛用于 ViT,而他們的政策最初是為了卷積網絡學習而産生的。鑒于這些架構中的架構先驗和偏差是完全不同的,增強政策可能無法适應,并且考慮到選擇中涉及的大量選擇,可能會過拟合。是以,研究者重新審視了這個先驗步驟。

3-Augment:作者提出了一個簡單的資料增強,靈感來自監督學習 (SSL) 中使用的内容。作者提出應該考慮以下三種變形:

灰階:有利于顔色不變性并更加關注形狀。

過度曝光:會在顔色上添加強烈的噪點,以更加适應顔色強度的變化,進而更加關注形狀。

高斯模糊:為了稍微改變圖像中的細節。

對于每張圖像,他們以均值機率來選擇其中一個資料增強。除了這 3 個增強選項之外,還包括常見的顔色抖動和水準翻轉。圖 2 說明了 3-Augment 方法中使用的不同增強。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

在表 2 中,他們提供了對不同資料增強元件的消融實驗結果。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

裁剪

GoogleNet [43] 中介紹了 Random Resized Crop (RRC)。它是一種限制模型過度拟合的正則化,同時有利于模型所做的決策對于某一類轉換是不變的。這種資料增強在 Imagenet1k 上被認為很重要,能防止過度拟合,這種情況恰好在現代大型模型中較為常見。

然而,這種裁剪政策在訓練圖像和測試圖像之間引入了一些長寬比和物體的明顯尺寸方面的差異 [53]。由于 ImageNet-21k 包含更多的圖像,不太容易過度拟合。是以,研究者質疑強 RRC 正則化的優勢是否能夠彌補在更大資料集上訓練時的缺點。

簡單随機裁剪 (SRC) 是一種更簡單的裁剪提取方法。它類似于 AlexNet [27] 中提出的原始裁剪選擇:調整圖像的大小,使最小的邊與訓練分辨率相比對。然後在所有邊應用一個 4 像素的反射填充,最後應用一個沿圖像 x 軸随機選擇訓練圖形大小的正方形裁剪機制

圖 3 顯示 RRC 和 SRC 采樣的裁剪框。RRC 提供了很多不同大小和形狀的裁剪框。相比之下,SRC 覆寫了整個圖像的更多部分并保留了縱橫比,但提供的形狀多樣性較少:裁剪框顯着重疊。是以,在 ImageNet1k 上進行訓練時,使用常用的 RRC 性能更好。舉個例子來說,如果不使用 RRC,ViT-S 上的 top-1 準确率會降低 0.9%。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

然而,在 ImageNet-21k(比 ImageNet-1k 大 10 倍)中,過拟合的風險較小,并且增加 RRC 提供的正則化和多樣性并不重要。在這種情況下,SRC 具有了減少外觀尺寸和縱橫比差異的優勢。更重要的是,它使圖像的實際标簽與裁剪後的标簽相比對的可能性更高:RRC 在裁剪方面相對激進,在許多情況下,标記的對象甚至不存在于作物中,如圖 4 所示,其中一些裁剪不包含标記的對象。例如,對于 RRC,左側示例中的裁剪圖檔沒有斑馬,或者中間示例中的三個裁剪圖檔中沒有火車。SRC 不太可能發生這種情況,因為 SRC 覆寫了圖像像素的大部分。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

在表 5 中,研究者提供了 ImageNet-21k 上随機調整裁剪大小的消融實驗結果,可以看到這些裁剪方式能轉化為性能方面的顯着提升。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

實驗結果

研究者對圖像分類(在 ImageNet-21k 上進行和不進行預訓練的 ImageNet-1k)、遷移學習和語義分割的評估表明,他們的程式大大優于以前針對 ViT 的全監督訓練方案。該研究還表明,經過監督訓練的 ViT 的性能與最近的架構性能相當。這些結果可以作為最近在 ViT 上使用的自監督方法的更好基準模型。

ViT的複仇:Meta AI提出ViT訓練的全新baseline

更多細節請參考原論文。

繼續閱讀