經過數十年的基礎研究,視覺辨識領域已經迎來了大規模視覺表徵學習的新時代。預先訓練的大規模視覺模型已成為特徵學習(feature learning)和視覺應用的基本工具。視覺表徵學習系統的表現在很大程度上受到三個主要因素的影響:模型的神經網路架構、訓練網路的方法、訓練資料。每個因素的改進都有助於模型整體性能的提升。
神經網路架構設計的創新在表徵學習領域一直發揮著重要作用。卷積神經網路架構(ConvNet)對電腦視覺研究產生了重大影響,使得各種視覺識別任務中能夠使用通用的特徵學習方法,無需依賴人工實現的特徵工程。近年來,最初為自然語言處理而開發的 transformer 架構因其適用於不同規模的模型和資料集,在其他深度學習領域中也開始被廣泛使用。
ConvNeXt 架構的出現使傳統的 ConvNet 更加現代化,證明了純卷積模型也可以適應模型和資料集的規模變化。然而,要想對神經網路架構的設計空間進行探索,最常見方法仍然是在 ImageNet 上進行監督學習的效能基準測試。
另一個想法是將視覺表徵學習的重點從標籤的監督學習轉向自我監督預訓練。自監督演算法將掩碼語言建模引入視覺領域,並迅速成為視覺表徵學習的一種流行方法。然而,自監督學習通常會使用為監督學習設計的架構,並假定該架構是固定的。例如,遮罩自編碼器(MAE)使用了視覺 transformer 架構。
有一種方法是將這些架構和自監督學習框架結合起來,但會面臨一些具體問題。例如,將ConvNeXt 與MAE 結合起來時就會出現如下問題:MAE 有一個特定的編碼- 解碼器設計,該設計針對transformer 的序列處理能力進行了優化,這使得計算量大的編碼器專注於那些可見的patch,從而降低了預訓練成本。但是這種設計可能與標準的 ConvNet 不相容,因為後者使用了密集的滑動視窗。此外,如果不考慮架構和訓練目標之間的關係,那麼就不清楚是否能達到最佳效能。事實上,已有研究表明用基於遮罩的自監督學習來訓練 ConvNet 是很困難的,而且實驗證據表明,transformer 和 ConvNet 可能在特徵學習方面存在分歧,會影響到最終表徵的品質。
為此,來自KAIST、Meta、紐約大學的研究者(包括ConvNeXt一作劉壯、ResNeXt 一作謝賽寧)提出在同一框架下共同設計網路架構和掩碼自編碼器,這樣做的目的是使基於掩碼的自監督學習能夠適用於ConvNeXt 模型,並獲得可與transformer 媲美的結果。
#論文網址:https://arxiv.org/pdf/2301.00808v1.pdf
#在設計遮罩自編碼器時,研究將帶有遮罩的輸入視為一組稀疏patch,並使用稀疏卷積處理可見的部分。這個想法的靈感來自於在處理大規模 3D 點雲時使用稀疏卷積。具體來說,研究提出以稀疏卷積實現 ConvNeXt,然後在微調時,權重不需要特殊處理就能被轉換回標準的密集網路層。為了進一步提高預訓練效率,研究以單一 ConvNeXt 取代 transformer 解碼器,使整個設計完全卷積網路化。研究者觀察到加入這些變化後:學習到的特徵是有用的並且改進了基線結果,但微調後的表現仍然不如基於 transformer 的模型。
然後,研究對不同訓練配置的 ConvNeXt 的特徵空間進行了分析。當直接在遮罩輸入上訓練 ConvNeXt 時,研究者發現 MLP 層有潛在的特徵崩潰(feature collapse)問題。為了解決這個問題,研究提出添加一個全域響應歸一化層(Global Response Normalization layer)來增強通道間的特徵競爭。當使用遮罩自編碼器對模型進行預訓練時,這種改進最為有效,這表明監督學習中重複使用監督學習中的固定架構設計可能不是最佳方法。
基於上述改進,該研究提出了 ConvNeXt V2,該模型在與掩碼自編碼器結合使用時表現出了更好的性能。同時研究者發現 ConvNeXt V2 在各種下游任務上比純 ConvNet 有明顯的效能提升,包括在 ImageNet 上的分類任務、COCO 上的目標偵測和 ADE20K 上的語意分割。
全卷積掩碼自編碼器
#該研究提出的方法在概念上很簡單,是以完全卷積的方式運行的。學習訊號透過對原始的視覺輸入隨機遮罩來生成,同時遮罩的比率需要較高,然後再讓模型根據剩餘的 context 預測缺少的部分。整體框架如下圖所示。
框架由一個基於稀疏卷積的ConvNeXt 編碼器和一個輕量級的ConvNeXt 解碼器組成,其中自編碼器的結構是不對稱的。編碼器只處理可見的像素,而解碼器則使用已編碼的像素和遮罩 token 來重建影像。同時只在被遮罩的區域計算損失。
全域反應歸一化
#大腦中有許多促進神經元多樣性的機制。例如,側向抑制可以幫助增強活化神經元的反應,增加單一神經元對刺激的對比和選擇性,同時也增加整個神經元群的反應多樣性。在深度學習中,這種形式的側向抑制可以透過反應歸一化(response normalization)來實現。該研究引入了一個新的響應歸一化層,稱為全局響應歸一化 (GRN),旨在增加通道間的對比和選擇性。 GRN 單元包含三個步驟:1) 全域特徵聚合,2) 特徵歸一化,3) 特徵校準。如下圖所示,可以將 GRN 圖層合併到原始 ConvNeXt 區塊中。
研究者根據實驗發現,當應用 GRN 時,LayerScale 不是必要的並且可以被刪除。利用這種新的區塊設計,該研究創建了具有不同效率和容量的多種模型,並將其稱為 ConvNeXt V2 模型族,模型範圍從輕量級(Atto)到計算密集型(Huge)。
為了評估 GRN 的作用,研究使用 FCMAE 框架對 ConvNeXt V2 進行預訓練。從下圖 3 的視覺化展示和圖 4 中的餘弦距離分析,可以觀察到 ConvNeXt V2 有效地緩解了特徵崩潰問題。餘弦距離值一直很高,顯示在網路層傳遞的過程中可以保持特徵的多樣性。這類似於使用 MAE 預訓練的 ViT 模型。這顯示在類似的遮罩影像預訓練框架下,ConvNeXt V2 的學習行為類似於 ViT。
該研究進一步評估了微調效能,結果如下表所示。
#当配备 GRN 时,FCMAE 预训练模型可以显著优于使用 300 个 epoch 训练得到的监督模型。GRN 通过增强特征多样性来提高表征质量,这对于基于掩码的预训练是至关重要的,并且在 ConvNeXt V1 模型中是不存在的。值得注意的是,这种改进是在不增加额外参数开销,且不增加 FLOPS 的情况下实现的。
最后,该研究还检查了 GRN 在预训练和微调中的重要性。如下表 2 (f) 所示,无论是从微调中删除 GRN,还是在微调时添加新初始化的 GRN,性能都会显著下降,这表明在预训练和微调中 GRN 很重要。
感兴趣的读者可以阅读论文原文,了解更多研究细节。
以上是ConvNeXt V2來了,僅用最簡單的捲積架構,效能不輸Transformer的詳細內容。更多資訊請關注PHP中文網其他相關文章!