ICCV2021 | 重新思考視覺transformers的空間維度


論文: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。

其它文章

CV技術指南--精華文章匯總分類

計算機視覺中的自注意力

綜述專欄 | 姿態估計綜述

漫談CUDA優化

為什么GEMM是深度學習的核心

使用深度神經網絡為什么8位足夠?

經典論文系列--膠囊網絡:新的深度學習網絡

經典論文系列 | 目標檢測--CornerNet & 又名 anchor boxes的缺陷

如何看待人工智能的泡沫

使用Dice loss實現清晰的邊界檢測

PVT--無卷積密集預測的多功能backbone

CVPR2021 | 開放世界的目標檢測

Siamese network總結

視覺目標檢測和識別之過去,現在及可能

在做算法工程師的道路上,你掌握了什么概念或技術使你感覺自我提升突飛猛進?

計算機視覺專業術語總結(一)構建計算機視覺的知識體系

欠擬合與過擬合技術總結

歸一化方法總結

論文創新的常見思路總結

CV方向的高效閱讀英文文獻方法總結

計算機視覺中的小樣本學習綜述   

知識蒸餾的簡要概述   

優化OpenCV視頻的讀取速度

NMS總結   

損失函數技術總結

注意力機制技術總結   

特征金字塔技術總結   

池化技術總結

數據增強方法總結   

CNN結構演變總結(一)經典模型

CNN結構演變總結(二)輕量化模型 

CNN結構演變總結(三)設計原則

如何看待計算機視覺未來的走向   

CNN可視化技術總結(一)特征圖可視化

CNN可視化技術總結(二)卷積核可視化

CNN可視化技術總結(三)類可視化

CNN可視化技術總結(四)可視化工具與項目  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM