VIT Adapter【Vision Transformer Adapter for Dense Predictions】论文笔记
Vision Transformer Adapter for Dense Predictions
論文地址:2205.08534.pdf (arxiv.org)
代碼地址:https://github.com/czczup/ViT-Adapter
目錄
摘要
Introduce
Related work
Vision Transformer Adapter
Experiments
Conclusion
Appendix
??????????????
摘要
本文研究了一種簡單有效的vit的適配器。與最近在其架構中引入視覺特異性誘導偏差(vision-specific inductive biases)的vit不同,由于缺乏圖像的先驗信息,ViT在密集預測任務中取得了較差的性能。為了解決這一問題,我們提出了一種Vision Transformer Adapter (vit-Adapter),它可以彌補ViT的缺陷,并通過附加的架構引入誘導偏差,實現(xiàn)與視覺特定模型相當?shù)男阅堋>唧w來說,我們的框架中的主干是一個普通的transformer,它可以用多模態(tài)數(shù)據(multi-modal data)進行預訓練。當對下游任務進行微調時,使用特定于模式的adapter將數(shù)據和任務的先驗信息引入到模型中,使其適合于這些任務。我們在多個下游任務中驗證了vit-adapter的有效性,包括目標檢測,實力分割,語義分割等。
Notably,when using HTC++, our ViT-Adapter-L yields 60.1 AP b and 52.1 AP m on COCO test-dev, surpassing Swin-L by 1.4 AP b and 1.0 AP。對語義分割,我們vit-adapter實現(xiàn)了sota,在ADE20K val上實現(xiàn)了60.5的miou。我們希望vit-adapter可以作為vit研究的替代方案,并促進未來的研究。
Introduce
最近,transformer在計算機視覺領域取得了巨大的成功。得益于注意力機制的動態(tài)特征提取能力和長期依賴性,vit及其變體很快在許多cv任務中崛起,如目標檢測和語義分割,超越了CNN模型,達到了最先進的性能。
盡管目前最先進的視覺任務模型是transformer引入圖像之前的變體,普通的transformer仍然有一些不可忽視的優(yōu)勢。源自NLP領域,transformer沒有輸入數(shù)據的假設。基于不同的嵌入層,如patch embedding、3D patch embedding、token embedding,ViT等普通的transformer可以處理圖像、視頻、文本等多模態(tài)數(shù)據。因此,ViT可以使用大規(guī)模的multi-model data 進行訓練前預處理,這使得模型提取到的特征具有更豐富的語義信息。然而,與特定于任務的TF相比,ViT在下游任務中有明顯的缺陷。以圖像任務為例,缺乏圖像的先驗信息會導致收斂速度較慢,性能較低,因此在密集預測任務中,普通的transformer與專用transformer沒有競爭優(yōu)勢。受到NLP領域的adapter的啟發(fā), 這項工作旨在開發(fā)一種適配器,以縮小ViT等普通TF與用于下游視覺任務的專用模型之間的差距。
為了這個目的,所以我們推出了VIT-Adapter,這是一個額外的網絡,再不改變原有結構的基礎上可以有效的適配VIT到下游的密集預測任務中。具體地說,為了將視覺特定的誘導偏差引入到普通轉換器中,我們?yōu)関it- adapter設計了三個定制模塊,包括:(1)一個用于捕獲局部語義的空間先驗模塊(2)空間特征注入器用于將空間先驗融合(3)多尺度特征提取器,用于重建密集預測任務所需的多尺度特征。如圖1所示,與之前在大規(guī)模圖像數(shù)據集(如ImageNet[20])上進行預訓練并在不同任務上進行微調的范式相比,我們的范式更加靈活。在我們的框架中,骨干網是一個通用模型(例如,ViT),可以用多模態(tài)數(shù)據和任務進行預訓練。將該模型應用于下游任務時,通過一個無需訓練的特定的vit-adapter,將輸入數(shù)據和任務的先驗信息引入到通用骨干中,使該模型適合于下游任務。以這種方式,使用ViT作為主干,我們的框架實現(xiàn)了與Swin transformer[52]等專門為密集預測任務設計的transformers主干網絡相當甚至更好的性能。
我們主要的貢獻如下三點:
Related work
Transformers:
近年來,變形金剛已經主導了多種形式的各種任務,如自然語言處理、計算機視覺和語音識別。普通的transformer最初是為機器翻譯而提出的,今天仍然是用于NLP任務的最先進的架構。Vision Transformer是第一個將普通Transformer推廣到圖像分類任務而不做太多修改的工作。PVT[74]和Swin Transformer[52]通過結合cnn的金字塔結構引入了更多圖像特異性的歸納偏差,在一定程度上犧牲了其他模態(tài)的廣義化能力的同時,在分類和密集預測任務中取得了優(yōu)異的性能。Conformer[59]提出了第一個將CNN與變壓器相結合的雙網絡。最近,BEiT[4]和MAE[27]將ViT的范圍擴展到帶有蒙面圖像建模的自我監(jiān)督學習,展示了純ViT架構的強大潛力。
Decoders for ViT
密集預測的架構通常遵循一種encoder-decoder模式,編碼器生成豐富的特征,解碼器聚合并將它們轉換為最終的預測。近年來,在ViT的global receptive的啟發(fā)下,許多工作采用它作為編碼器和設計任務特定的解碼器。SETR,Segmenter等,總之,這些工作通過設計模態(tài)和任務特定的解碼器改善了ViT的密集預測性能,但仍然存在ViT單尺度、低分辨率表示的缺點。
Adapters
到目前為止,在自然語言處理領域中,適配器已經得到了廣泛的應用。PALs和適配器在transformers encoder中引入新的模塊,用于特定任務的微調,使預訓練模型快速適應下游NLP的任務。在cv領域,一些adapter已經在增量學習和域適應領域提出。隨著CLIP(Learning transferable visual models from natural language supervision)的出現(xiàn),許多基于CLIP的適配器[24,69,81]被用于將預先訓練的知識轉移到zero-shot or few-shot的下游任務。最近,采用了上采樣和下采樣模塊,使單尺度ViT適應于多尺度FPN,這種技術可以看作是ViT最簡單的多尺度適配器。然而,它在密集預測中的性能仍然不如最近的transformers變體,后者很好地結合了圖像先驗信息。因此,如何設計一種功能強大的適配器來提高ViT的密集預測性能仍然是一個挑戰(zhàn)。
Vision Transformer Adapter
3.1 Overall Architecture
如圖三所示,我們的模型可以分為兩部分。第一部分是骨干網絡(即ViT[22]),它由一個補丁嵌入和L個transformer encoder層組成(如圖3(a))。第二部分是所提出的viti - adapter,如圖3(b)所示,該適配器包括:(1)空間先驗模塊從輸入圖像中獲取空間特征,(2)空間特征注入器將空間先驗注入ViT,(3)多尺度特征提取器從ViT中提取層次特征。
對于ViT,首先將輸入圖像送入補丁嵌入,其中圖像被分為16×16非重疊patchs。然后,這些patchs被展平并投影到d維embedding中。這里的特征分辨率降低到原始圖像的1/16。最后,將嵌入的補丁和position embedding一起通過ViT的L編碼器層。
對于vit-adapter,我們首先將image輸入到空間先驗模組中。收集3個目標分辨率(1/8、1/16、1/32)的d維空間特征。然后,將這些特征映射進行展平和拼接,作為特征交互的輸入。具體來說,給定交互次數(shù)(interaction times)N,我們將ViT的變壓器編碼器平均分成N個塊,每個block包含L/N個編碼器層。對于第i個塊,我們首先通過空間特征注入器向該塊注入空間先驗因子Fisp,然后通過多尺度特征提取器從該塊的輸出中提取層次特征。然后,N個特征交互,獲得高質量的多尺度特征,然后將特征分割和重構為3個目標分辨率1/8、1/16和1/32。最后,我們對1/8比例的特征圖進行2×2轉置卷積上采樣,構建1/4比例的特征圖。通過這種方法,我們得到了一個與ResNet[30]分辨率相近的特征金字塔,可以用于各種密集預測任務。
3.2 Spatial Prior Module
PvtV2和segformer等工作展示了重疊滑動窗口的卷積可以幫助transformer更好地捕捉輸入圖像的局部連續(xù)性。受到這些工作的啟發(fā),我們在ViT中引入了一個基于卷積的空間先驗模塊(Spatial Prior Module),它通過一個ResNet(Deep residual learning for image recognition.cvpr)和三次卷積對H×W輸入圖像進行不同尺度的下采樣。該模塊與patch嵌入層并行建模圖像的局部空間上下文,不改變ViT原有的架構。
如圖3(c)所示,借用了ResNet的一個標準卷積塊,它由三個卷積和一個最大池層組成。接下來,一個s=2的3×3卷積包含該模塊的剩余部分,它使通道數(shù)量翻倍,并減少了feature map的大小。最后,我們采用了幾個1×1卷積將特征映射投影到D維上。通過這種方法,我們得到了一個特征金字塔{f1 f2 f3},其中包括的分辨率為1/8, 1/16, 1/32。最后我們將這些feature map展平并拼接,作為后面特征注入器的輸入。
3.3 Feature Interaction
由于ViT的柱狀結構,其特征映射尺度單一,分辨率較低,導致其在密集預測任務中的性能不及金字塔結構。為了緩解這個問題,我們提出了兩個特性交互模塊,用于在adapter和ViT之間交流feature map。具體來說,這兩個模塊是基于cross-attention,叫做 Spatial Feature Injector 和 Multi-Scale Feature Extractor。如3.1節(jié)所述,我們將ViT的transformers encoder劃分為N個相等的塊,并在每個塊的前后分別應用所提出的兩個block。
Spatial Feature Injector:如圖3d中所示,這個模塊用來給vit中注入空間先驗信息的。具體的對于第i個transformers block來說,我們將輸入特征Fi(vit)作為Q(transformers中的KQV),將空間先驗信息Fi(sp)看作K和V,我們使用multi-head cross-attention提取空間特征Fi(sp)并注入到Fi(vit),可以寫成公式1:
??
Multi-Scale Feature Extractor:在注入了空間先驗信息到第i個block之后,我們從Fi(vit)得到了輸出Fi+1(vit)。之后我們將vit中的特征和空間特征的角色交換(Q和K,V交換)。將Fi(sp)看作是Q,將Fi+1(vit)看作是K和V,通過cross-attention模塊將兩者進行有一次的信息交流,可以定義為下面公式:
與空間特征注入器一樣,我們在這里使用了變形注意(Deformable detr: Deformable transformers for end-to-end object detection)來減少計算成本. 此外,為了彌補fixed-size position embedding的缺陷,我們參考(CPVT和PVTv2)引入了CFFN在cross-attention之后。考慮到效率,我們參考(Delight:Deep and light-weight transformer),設置CFFN的比值為1/4。CFFN層通過zero-padding的深度卷積,增強了特征的局部連續(xù)性,可以表示為:
其中新的空間特征Fi+1(sp)將被用作下一個塊的特征交互的輸入。
3.4 Architecture Configurations
創(chuàng)建了不同規(guī)格的VIT-adapter,如下表所示,
在我們的實驗中,ViT的patch size固定為16。交互次數(shù)N設置為4,這意味著我們將ViT的編碼器層分成4個相等的塊,用于特征交互。我們的兩種特征交互算子都采用了變形注意(Deformable detr: Deformable transformers for end-to-end object detection),采樣點數(shù)固定為4,注意頭的數(shù)量分別設置為6、6、12、16。在最后的交互中,我們將三個多尺度特征提取器進行疊加。此外,我們將CFFN的比例設置為1/4,以減少計算開銷,即CFFN的隱藏大小為48、96、192、256分別對應4中不同的vit變體。
Experiments
為了驗證我們方法的有效性,我們在兩個不同的密集預測任務上進行了大量的實驗,包括COCO[50]對象檢測和實例分割,以及ADE20K[84]語義分割。然后,我們進行了消融研究,分析了我們的vitc適配器的幾種重要設計。
4.1 Object Detection and Instance Segmentation
Settings:我們的對象檢測和實例分割實驗是在COCO[50]基準上進行的,我們的代碼主要基于MMDetection[10]。我們在5種主流檢測器上評估了我們的方法,包括掩膜RCNN[29],級聯(lián)掩膜R-CNN [8],ATSS [82],GFL[41]和稀疏R-CNN[68]。在訓練階段,我們對vit-T/S/B使用DeiT發(fā)布的權重,對vit-L使用(How to train your vit? data, augmentation, and regularization in vision transformers)的權重。我們的適配器新添加的模塊是隨機初始化的,沒有預先訓練的權重被加載。為了節(jié)省時間和內存,我們引用[43]( Benchmarking detection transfer learning with vision transformers)和修改ViT在大多數(shù)層使用14×14窗口注意。遵循慣例我們采用1×或3×訓練計劃(即12或36 個 epoch)來訓練檢測器,bs=16,lr=1*10e-4, 權重衰減0.05的AdamW優(yōu)化器。
Results:如表2所示,略去,詳細可看原文。
4.2 Semantic Segmentation
Settings:我們評估我們的vit-adapter在語義分割ADE20K[84]和MMSegmentation。為了進行完整的比較,我們使用了Semantic FPN[39]和UperNet[77]作為基本框架。對語義FPN,我們遵循PVT的設置,并訓練模型為80 k迭代。對于UperNet,我們按照Swin[52]的設置來訓練它并設置160 k迭代。此外,我們用DeiT發(fā)布的權重初始化vit-T/S/B,用來自(How to train your vit? data, augmentation, and regularization in vision transformers.)的ImageNet-22K權重初始化vit-L。
Result:如表5所示,我們分別報告了單尺度和多尺度mIoU的語義分割結果。我們首先考慮了semantic FPN[39],它是一個簡單、輕量級的分割框架,沒有復雜的設計。在可比較的模型尺寸下,我們的方法明顯超過了以前的代表性方法。例如,vit-adapter-t超過了PVT-Tiny5.1 mIoU,參數(shù)減少近30%。 ?略。
4.3 Ablation Study
Settings:我們對COCO[50]數(shù)據集進行消融研究,除非明確說明,否則ViT使用DeiT發(fā)布的權重[71]。所有模型均使用Mask R-CNN[29]進行1× schedule訓練,不進行多尺度訓練。其他設置與4.1章節(jié)相同。
Ablation for Components: 為了研究每個關鍵設計的貢獻,我們逐漸將vit-s?基線[43]擴展到vit-adapter-s。如表6左側所示,我們的空間先驗模塊和多尺度特征提取器比baseline提高了3.2 AP b和1.6 AP m。從變種2的結果中,我們發(fā)現(xiàn)空間特征注入器帶來0.8 AP b和AP m提升。結果表明,局部連續(xù)性信息可以提高ViT在密集預測任務上的性能,且其提取過程可以與ViT體系結構解耦。此外,我們使用CFFN引入額外的位置信息,帶來0.5 AP b和0.4 AP m增益,緩解了ViT中固定尺寸位置嵌入的缺點。
Interaction Times:在表6的右側,我們研究了交互作用時間N的影響,具體來說,我們?yōu)関its配備了不同交互作用時間的適配器。當交互作用次數(shù)N增大時,模型精度達到飽和狀態(tài),并且應用更多的交互作用并不能單調地提高性能。因此,我們根據經驗將N默認設置為4。
Attention Type:在我們的適配器中,注意機制是可替換的。為了驗證這一點,我們以vit -adapter-s為基本模型,研究了4種不同的注意機制,包括global attention(Attention is all you need), window attention(Attention is all you need),linear SRA(Pvtv2: Improved baselines with pyramid vision transformer), and deformable attention (Deformable detr: Deformable transformers for end-to-end object detection)。為了支持處理多尺度特征,我們略微修改了窗口關注和線性SRA。對于窗口注意,我們將三種不同比例的窗口大小分別設置為28、14和7。對于線性SRA,在進行注意操作之前,我們使用平均池化的方法將每個尺度的空間維度降低到一個固定的大小(即7×7)。
結果如表7所示,在我們的適配器中采用global attention時,由于二次元復雜度會耗盡GPU內存(32G)。Windows attention和linear SRA可以顯著降低計算成本,但它們分別僅限于捕獲局部和全局依賴項,導致建模能力相對較弱。我們的方法利用deformable attention避免了這一問題。具體來說,我們的方法在COCO val2017上獲得了44.7 AP b和39.9 AP m的良好性能,在更少的FLOPs、參數(shù)和GPU內存的情況下,大大超過了其他具有Windows attention和linear SRA的變體。這些結果表明,由于deformable attention在處理多尺度特征方面的靈活性,它更適合于我們的適配器。
Pre-trained Weights:在這個實驗中,我們研究各種預訓練權重的影響。為了進行公平的比較,我們在不進行多尺度訓練的情況下,對1×schedule使用不同的初始化來訓練vit-adapter-B,如表8所示。我們的方法可以很容易地從更先進的預訓練中受益。例如,簡單地用MAE權重[27]替換DeiT權重[71],我們可以獲得0.8 AP b和0.5 AP m的額外增益。更重要的是,當使用Uni-Perceiver [86]的多模態(tài)預訓練時,我們的準確率進一步提高到48.4 AP b、43.1 AP m。這些結果表明,保留ViT的原始架構使我們的框架比專門設計的transformer更靈活,并且可以從現(xiàn)有的先進的訓練前方法中獲得顯著的好處,而不需要額外的訓練前成本。
Feature Visualization:在圖4中,我們可視化了由vit-b *[43]和vit-adapter-b分別生成的多尺度特征圖。由于特征分辨率的真正損失,vt - b?的層次特征是模糊和粗糙的(見圖4(a))。相反,我們的vit-adapter通過特征交互從ViT的單尺度特征重構細粒度的多尺度特征(見圖4(b)),這提高了定位質量,減少了漏檢。
TIDE Error Type Analysis: TIDE [5] is a toolbox for analyzing the sources
of error in object detection and instance segmentation algorithms. Following [43], we show the error type analysis generated by the TIDE in Fig. 5. These results reveal more detailed information about where our method improves overall AP brelative to the baseline [43]. For example, we observe that our ViT-Adapter slightly reduces missed errors compared to the baseline. Moreover, we see that our method has a more substantial effect on fixing localization errors. This phenomenon indicates that the fine-grained hierarchical features generated by our adapter contribute to better localization quality.
Conclusion
這項工作介紹了vit適配器,以彌補在密集預測任務中ViT和視覺特定transformer之間的性能差距。在不改變ViT結構的情況下,我們將圖像先驗注入到ViT中,通過空間先驗模塊和兩個特征交互算子提取多尺度特征。在對象檢測、實例分割和語義分割基準上的大量實驗證實,我們的模型在相同數(shù)量的參數(shù)下,可以達到與精心設計的視覺專用transformer相當甚至更好的性能。
Appendix
A Comparison with Previous State-of-the-Art
為了進一步探索我們方法的潛力,在本節(jié)中,我們研究了先進的預訓練是否能夠使vit-adapter-l達到系統(tǒng)級的最先進性能。由于Uni-Perceiver[86]只提供預先訓練的vit-b權值,這里我們采用ImageNet-22K預先訓練的BEiT-L[4]來初始化我們的vita-adapter-l。BEiT[4]是針對ViT[22]設計的一種自監(jiān)督學習方法,提出了一種學習高質量視覺表示的掩膜圖像建模任務。它在語義分割等下游任務上實現(xiàn)了強大的微調結果,在ADE20K[84]數(shù)據集(57.0多尺度mIoU)上產生了最先進的結果。根據BEiT的官方知識庫1,我們還采用了layer scale [72]和layer-wise learning rate decay來訓練我們的模型。所有實驗的學習速率衰減速率和隨機深度速率[32]分別固定為0.9和0.3。?
A 1 object detection and instance segmentation
略
A 2 semantic segmentation
For semantic segmentation, we employ an AdamW [55] optimizer with an initial
learning rate of 2×10-5, a batch size of 16, and a weight decay of 0.05.
ADE20K:
如上表所示,當使用upernet[77]進行160k迭代訓練時,我們的ViT-adapter-L產生58.4多尺度mIoU,在僅10M額外參數(shù)的情況下,比BEiT-L[4]的結果高出1.4點。
??? 此外,我們采用了更先進的Mask2Former[12]作為分割框架。由于SwinV2-G[51]是使用私人收集的預訓練ImageNet-22K-ext-70M數(shù)據集包含7000萬張圖像,我們另外使用COCO-Stuff-164K[7]數(shù)據集進行80k次的訓練前迭代。同樣,我們將裁剪大小調整為896×896像素。值得注意的是,我們的ViT-adapter-L在這些設置下產生了60.5多尺度mIoU的新最先進的精度,這比之前最好的模型高出0.6個點,SwinV2-G[51],而我們方法的參數(shù)數(shù)要小得多。
Cityscapes:
在本實驗中,我們使用Mask2Former[12]作為分割框架,并設置裁剪大小為896×896像素。按照這兩個慣例(Hierarchical multi-scale attention for semantic segmentation和Segformer),我們首先在Mapillary vista[58]預訓練,然后在cityscape上迭代了80K的iter進行fine-tune。如表11所示,我們的vit-adapter-l在測試集上實現(xiàn)了85.2個多尺度mIoU,略優(yōu)于使用額外粗注釋數(shù)據的HRNetV2+OCR+HMS[70]。
總結
以上是生活随笔為你收集整理的VIT Adapter【Vision Transformer Adapter for Dense Predictions】论文笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Task 05:样式色彩秀芳华
- 下一篇: 锁定单个或多个单元格与解锁方法