論文:Rethinking Spatial Dimensions of Vision Transformers
程式碼:https://github.com/naver-ai/pit
獲取:在CV技術指南後臺回覆“0006”
點個關注,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
前言:
由於基於transformers的架構在計算機視覺建模方面具有創新性,因此對有效架構的設計約定的研究還較少。從 CNN 的成功設計原則出發,我們研究了空間維度轉換的作用及其對基於transformers的架構的有效性。
我們特別關注CNNs的降維原理;隨著深度的增加,傳統的 CNN 會增加通道維度並減少空間維度。我們憑經驗表明,這種空間降維也有利於transformers架構,並在原始 ViT 模型上提出了一種新型的基於池化的視覺transformers (Pooling-based Vision Transformer--PiT)。
我們表明 PiT 實現了針對 ViT 的改進模型能力和泛化效能。在廣泛的實驗中,我們進一步表明 PiT 在影像分類、目標檢測和魯棒性評估等多項任務上優於baseline。
出發點
1. CNN 限制了空間互動,ViT 允許影像中的所有位置通過transformers層互動。
2. 雖然ViT 是一種創新架構,並且已經證明了其強大的影像識別能力,但它沿用了NLP中的 Transformer 架構,沒有任何變化。
3. CNN 的一些基本設計原則在過去十年中已被證明在計算機視覺領域有效,但並未得到充分反映。
因此,我們重新審視了 CNN 架構的設計原則,並研究了它們在應用於 ViT 架構時的功效。
創新思路
CNN 以大空間尺寸和小通道尺寸的特徵開始,並逐漸增加通道尺寸,同時減小空間尺寸。由於稱為空間池化的層,這種維度轉換是必不可少的。現代 CNN 架構,包括 AlexNet、ResNet和 EfficientNet,都遵循這一設計原則。
池化層與每一層的感受野大小密切相關。 一些研究表明,池化層有助於網路的表現力和泛化效能。 然而,與 CNN 不同的是,ViT 不使用池化層,而是在所有層中使用相同大小的空間。
首先,我們驗證了 CNN 上池化層的優勢。我們的實驗表明,池化層證明了 ResNet 的模型能力和泛化效能。為了將池化層的優勢擴充套件到 ViT,我們提出了一種基於池化的視覺transformers (PiT)。
PiT 是一種與池化層相結合的轉換器架構。它可以像在 ResNet 中一樣減少 ViT 結構中的空間大小。我們還研究了 PiT 與 ViT 相比的優勢,並確認池化層也提高了 ViT 的效能。
最後,為了分析 ViT 中池化層的效果,我們測量了 ViT 的空間互動比,類似於卷積架構的感受野大小。我們展示了池化層具有控制自注意力層中發生的空間互動大小的作用,這類似於卷積架構的感受野控制。
Methods
網路架構維度配置的示意圖
我們將 ResNet50 、Vision Transformer (ViT) 和基於池化的 Vision Transformer (PiT) 視覺化;(a) ResNet50 從輸入到輸出逐漸下采樣特徵;(b) ViT 不使用池化層,因此所有層都保持特徵維度;(c) PiT 涉及將層彙集到 ViT 中。
Pooling-based Vision Transformer(PiT)
PiT 架構的池化層
PiT 使用基於深度卷積的池化層,以小引數實現通道乘法和空間縮減。
Effects of the pooling layer in vision transformer (ViT)
我們在網路架構的各個方面將我們的基於池化的視覺transformer (PiT) 與原始 ViT 進行了比較。PiT 在容量、泛化效能和模型效能方面優於 ViT。
Spatial interactio
self-attention層在互動token數量上也有限制,因此互動區域是根據空間大小來確定的。
我們使用 ImageNet 上的預訓練模型測量了 ViT 和 PiT 的空間互動區域。空間互動的標準是基於注意力矩陣的 soft-max 之後的分數。我們使用 1% 和 10% 作為閾值,計算超過閾值的互動發生的空間位置的數量,並通過將互動位置的數量除以空間標記的總大小來計算空間互動比率。
在 ViT 的情況下,互動作用平均在 20%-40% 之間,並且由於沒有池化層,因此數值不會因層而有顯著變化。PiT 減少了token的數量,同時通過池化增加了頭部。
因此,如圖 5 (a) 所示,早期層的互動率很小,但後一層顯示出接近 100% 的互動率。為了與 ResNet 進行比較,我們將閾值更改為 10%,結果如圖 5 (b) 所示。
在 ResNet 的情況下,3x3 卷積意味著 3x3 空間互動。因此,我們將 3x3 除以空間大小,並將其作為近似值與注意力的互動率進行比較。雖然 ViT 的互動率在各層中是相似的,但 ResNet 和 PiT 的互動率隨著它通過池化層而增加。
Architecture
該表顯示了 ViT 和 PiT 的spatial sizes, number of blocks, number of heads, channel size, 和FLOPs。PiT 的結構設計為儘可能與 ViT 相似,並具有更少的 GPU 延遲。
Conclusion
我們驗證了 PiT 在各種任務上提高了 ViT 的效能。在 ImageNet 分類中,PiT 和在各種規模和訓練環境下都優於 ViT。此外,我們還比較了 PiT 與各種卷積架構的效能,並指定了 Transformer 架構優於 CNN 的規模。
我們使用檢測頭進一步測量 PiT 在目標檢測方面的效能。 基於 ViT 和 PiT 的 DETR在 COCO 2017 資料集上進行訓練,結果表明 PiT 作為主幹架構甚至比 ViT 更適合影像分類以外的任務。最後,我們通過穩健性基準驗證了 PiT 在各種環境中的效能。
本文來源於公眾號 CV技術指南 的論文分享系列。
歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。
在公眾號中回覆關鍵字 “技術總結” 可獲取以下文章的彙總pdf。
其它文章
經典論文系列 | 目標檢測--CornerNet & 又名 anchor boxes的缺陷
在做演算法工程師的道路上,你掌握了什麼概念或技術使你感覺自我提升突飛猛進?